qa360 2.2.1 → 2.2.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of qa360 might be problematic. Click here for more details.
- package/CHANGELOG.md +28 -0
- package/README.md +79 -0
- package/cli/dist/cli-minimal.d.ts +6 -0
- package/cli/dist/cli-minimal.js +36 -0
- package/cli/dist/commands/ai.d.ts +43 -0
- package/cli/dist/commands/ai.js +616 -0
- package/cli/dist/commands/ask.d.ts +94 -0
- package/cli/dist/commands/ask.js +582 -0
- package/cli/dist/commands/coverage.d.ts +8 -0
- package/cli/dist/commands/coverage.js +252 -0
- package/cli/dist/commands/crawl.d.ts +24 -0
- package/cli/dist/commands/crawl.js +121 -0
- package/cli/dist/commands/doctor.d.ts +54 -0
- package/cli/dist/commands/doctor.js +513 -0
- package/cli/dist/commands/examples.d.ts +33 -0
- package/cli/dist/commands/examples.js +193 -0
- package/cli/dist/commands/explain.d.ts +27 -0
- package/cli/dist/commands/explain.js +630 -0
- package/cli/dist/commands/flakiness.d.ts +73 -0
- package/cli/dist/commands/flakiness.js +435 -0
- package/cli/dist/commands/generate.d.ts +66 -0
- package/cli/dist/commands/generate.js +438 -0
- package/cli/dist/commands/history.d.ts +76 -0
- package/cli/dist/commands/history.js +755 -0
- package/cli/dist/commands/init.d.ts +106 -0
- package/cli/dist/commands/init.js +616 -0
- package/cli/dist/commands/monitor.d.ts +27 -0
- package/cli/dist/commands/monitor.js +225 -0
- package/cli/dist/commands/ollama.d.ts +40 -0
- package/cli/dist/commands/ollama.js +346 -0
- package/cli/dist/commands/pack.d.ts +70 -0
- package/cli/dist/commands/pack.js +413 -0
- package/cli/dist/commands/regression.d.ts +8 -0
- package/cli/dist/commands/regression.js +340 -0
- package/cli/dist/commands/repair.d.ts +26 -0
- package/cli/dist/commands/repair.js +307 -0
- package/cli/dist/commands/report.d.ts +62 -0
- package/cli/dist/commands/report.js +378 -0
- package/cli/dist/commands/retry.d.ts +43 -0
- package/cli/dist/commands/retry.js +275 -0
- package/cli/dist/commands/run.d.ts +41 -0
- package/cli/dist/commands/run.js +171 -0
- package/cli/dist/commands/scan.d.ts +5 -0
- package/cli/dist/commands/scan.js +155 -0
- package/cli/dist/commands/secrets.d.ts +58 -0
- package/cli/dist/commands/secrets.js +289 -0
- package/cli/dist/commands/serve.d.ts +13 -0
- package/cli/dist/commands/serve.js +156 -0
- package/cli/dist/commands/slo.d.ts +8 -0
- package/cli/dist/commands/slo.js +327 -0
- package/cli/dist/commands/verify.d.ts +32 -0
- package/cli/dist/commands/verify.js +278 -0
- package/cli/dist/core/adapters/gitleaks-secrets.d.ts +114 -0
- package/cli/dist/core/adapters/gitleaks-secrets.js +410 -0
- package/cli/dist/core/adapters/jest-adapter.d.ts +44 -0
- package/cli/dist/core/adapters/jest-adapter.js +261 -0
- package/cli/dist/core/adapters/k6-perf.d.ts +85 -0
- package/cli/dist/core/adapters/k6-perf.js +398 -0
- package/cli/dist/core/adapters/osv-deps.d.ts +123 -0
- package/cli/dist/core/adapters/osv-deps.js +372 -0
- package/cli/dist/core/adapters/playwright-native-adapter.d.ts +121 -0
- package/cli/dist/core/adapters/playwright-native-adapter.js +339 -0
- package/cli/dist/core/adapters/playwright-native-api.d.ts +183 -0
- package/cli/dist/core/adapters/playwright-native-api.js +465 -0
- package/cli/dist/core/adapters/playwright-ui.d.ts +197 -0
- package/cli/dist/core/adapters/playwright-ui.js +864 -0
- package/cli/dist/core/adapters/pytest-adapter.d.ts +49 -0
- package/cli/dist/core/adapters/pytest-adapter.js +324 -0
- package/cli/dist/core/adapters/semgrep-sast.d.ts +99 -0
- package/cli/dist/core/adapters/semgrep-sast.js +322 -0
- package/cli/dist/core/adapters/unit-test-types.d.ts +119 -0
- package/cli/dist/core/adapters/unit-test-types.js +6 -0
- package/cli/dist/core/adapters/vitest-adapter.d.ts +46 -0
- package/cli/dist/core/adapters/vitest-adapter.js +272 -0
- package/cli/dist/core/adapters/zap-dast.d.ts +133 -0
- package/cli/dist/core/adapters/zap-dast.js +424 -0
- package/cli/dist/core/ai/anthropic-provider.d.ts +50 -0
- package/cli/dist/core/ai/anthropic-provider.js +223 -0
- package/cli/dist/core/ai/deepseek-provider.d.ts +81 -0
- package/cli/dist/core/ai/deepseek-provider.js +266 -0
- package/cli/dist/core/ai/index.d.ts +60 -0
- package/cli/dist/core/ai/index.js +18 -0
- package/cli/dist/core/ai/llm-client.d.ts +45 -0
- package/cli/dist/core/ai/llm-client.js +7 -0
- package/cli/dist/core/ai/mock-provider.d.ts +49 -0
- package/cli/dist/core/ai/mock-provider.js +121 -0
- package/cli/dist/core/ai/ollama-provider.d.ts +78 -0
- package/cli/dist/core/ai/ollama-provider.js +216 -0
- package/cli/dist/core/ai/openai-provider.d.ts +48 -0
- package/cli/dist/core/ai/openai-provider.js +200 -0
- package/cli/dist/core/ai/provider-factory.d.ts +160 -0
- package/cli/dist/core/ai/provider-factory.js +269 -0
- package/cli/dist/core/artifacts/index.d.ts +6 -0
- package/cli/dist/core/artifacts/index.js +6 -0
- package/cli/dist/core/artifacts/ui-artifacts.d.ts +133 -0
- package/cli/dist/core/artifacts/ui-artifacts.js +304 -0
- package/cli/dist/core/assertions/engine.d.ts +51 -0
- package/cli/dist/core/assertions/engine.js +530 -0
- package/cli/dist/core/assertions/index.d.ts +11 -0
- package/cli/dist/core/assertions/index.js +11 -0
- package/cli/dist/core/assertions/types.d.ts +121 -0
- package/cli/dist/core/assertions/types.js +37 -0
- package/cli/dist/core/auth/api-key-provider.d.ts +16 -0
- package/cli/dist/core/auth/api-key-provider.js +63 -0
- package/cli/dist/core/auth/aws-iam-provider.d.ts +35 -0
- package/cli/dist/core/auth/aws-iam-provider.js +177 -0
- package/cli/dist/core/auth/azure-ad-provider.d.ts +15 -0
- package/cli/dist/core/auth/azure-ad-provider.js +99 -0
- package/cli/dist/core/auth/basic-auth-provider.d.ts +26 -0
- package/cli/dist/core/auth/basic-auth-provider.js +111 -0
- package/cli/dist/core/auth/gcp-adc-provider.d.ts +27 -0
- package/cli/dist/core/auth/gcp-adc-provider.js +126 -0
- package/cli/dist/core/auth/index.d.ts +238 -0
- package/cli/dist/core/auth/index.js +82 -0
- package/cli/dist/core/auth/jwt-provider.d.ts +19 -0
- package/cli/dist/core/auth/jwt-provider.js +160 -0
- package/cli/dist/core/auth/manager.d.ts +84 -0
- package/cli/dist/core/auth/manager.js +230 -0
- package/cli/dist/core/auth/oauth2-provider.d.ts +17 -0
- package/cli/dist/core/auth/oauth2-provider.js +114 -0
- package/cli/dist/core/auth/totp-provider.d.ts +31 -0
- package/cli/dist/core/auth/totp-provider.js +134 -0
- package/cli/dist/core/auth/ui-login-provider.d.ts +26 -0
- package/cli/dist/core/auth/ui-login-provider.js +198 -0
- package/cli/dist/core/cache/index.d.ts +7 -0
- package/cli/dist/core/cache/index.js +6 -0
- package/cli/dist/core/cache/lru-cache.d.ts +203 -0
- package/cli/dist/core/cache/lru-cache.js +397 -0
- package/cli/dist/core/core/coverage/analyzer.d.ts +101 -0
- package/cli/dist/core/core/coverage/analyzer.js +415 -0
- package/cli/dist/core/core/coverage/collector.d.ts +74 -0
- package/cli/dist/core/core/coverage/collector.js +459 -0
- package/cli/dist/core/core/coverage/config.d.ts +37 -0
- package/cli/dist/core/core/coverage/config.js +156 -0
- package/cli/dist/core/core/coverage/index.d.ts +11 -0
- package/cli/dist/core/core/coverage/index.js +15 -0
- package/cli/dist/core/core/coverage/types.d.ts +267 -0
- package/cli/dist/core/core/coverage/types.js +6 -0
- package/cli/dist/core/core/coverage/vault.d.ts +95 -0
- package/cli/dist/core/core/coverage/vault.js +405 -0
- package/cli/dist/core/coverage/analyzer.d.ts +101 -0
- package/cli/dist/core/coverage/analyzer.js +415 -0
- package/cli/dist/core/coverage/collector.d.ts +74 -0
- package/cli/dist/core/coverage/collector.js +459 -0
- package/cli/dist/core/coverage/config.d.ts +37 -0
- package/cli/dist/core/coverage/config.js +156 -0
- package/cli/dist/core/coverage/index.d.ts +11 -0
- package/cli/dist/core/coverage/index.js +15 -0
- package/cli/dist/core/coverage/types.d.ts +267 -0
- package/cli/dist/core/coverage/types.js +6 -0
- package/cli/dist/core/coverage/vault.d.ts +95 -0
- package/cli/dist/core/coverage/vault.js +405 -0
- package/cli/dist/core/crawler/index.d.ts +57 -0
- package/cli/dist/core/crawler/index.js +281 -0
- package/cli/dist/core/crawler/journey-generator.d.ts +49 -0
- package/cli/dist/core/crawler/journey-generator.js +412 -0
- package/cli/dist/core/crawler/page-analyzer.d.ts +88 -0
- package/cli/dist/core/crawler/page-analyzer.js +709 -0
- package/cli/dist/core/crawler/selector-generator.d.ts +34 -0
- package/cli/dist/core/crawler/selector-generator.js +240 -0
- package/cli/dist/core/crawler/types.d.ts +353 -0
- package/cli/dist/core/crawler/types.js +6 -0
- package/cli/dist/core/dashboard/assets.d.ts +6 -0
- package/cli/dist/core/dashboard/assets.js +690 -0
- package/cli/dist/core/dashboard/index.d.ts +6 -0
- package/cli/dist/core/dashboard/index.js +5 -0
- package/cli/dist/core/dashboard/server.d.ts +72 -0
- package/cli/dist/core/dashboard/server.js +354 -0
- package/cli/dist/core/dashboard/types.d.ts +70 -0
- package/cli/dist/core/dashboard/types.js +5 -0
- package/cli/dist/core/discoverer/index.d.ts +115 -0
- package/cli/dist/core/discoverer/index.js +250 -0
- package/cli/dist/core/fixtures/index.d.ts +8 -0
- package/cli/dist/core/fixtures/index.js +8 -0
- package/cli/dist/core/fixtures/loader.d.ts +65 -0
- package/cli/dist/core/fixtures/loader.js +161 -0
- package/cli/dist/core/fixtures/resolver.d.ts +79 -0
- package/cli/dist/core/fixtures/resolver.js +181 -0
- package/cli/dist/core/fixtures/types.d.ts +75 -0
- package/cli/dist/core/fixtures/types.js +30 -0
- package/cli/dist/core/flakiness/index.d.ts +228 -0
- package/cli/dist/core/flakiness/index.js +384 -0
- package/cli/dist/core/generation/code-formatter.d.ts +111 -0
- package/cli/dist/core/generation/code-formatter.js +307 -0
- package/cli/dist/core/generation/code-generator.d.ts +144 -0
- package/cli/dist/core/generation/code-generator.js +293 -0
- package/cli/dist/core/generation/crawler-pack-generator.d.ts +44 -0
- package/cli/dist/core/generation/crawler-pack-generator.js +231 -0
- package/cli/dist/core/generation/generator.d.ts +40 -0
- package/cli/dist/core/generation/generator.js +76 -0
- package/cli/dist/core/generation/index.d.ts +32 -0
- package/cli/dist/core/generation/index.js +30 -0
- package/cli/dist/core/generation/pack-generator.d.ts +107 -0
- package/cli/dist/core/generation/pack-generator.js +416 -0
- package/cli/dist/core/generation/prompt-builder.d.ts +132 -0
- package/cli/dist/core/generation/prompt-builder.js +672 -0
- package/cli/dist/core/generation/source-analyzer.d.ts +213 -0
- package/cli/dist/core/generation/source-analyzer.js +657 -0
- package/cli/dist/core/generation/test-optimizer.d.ts +117 -0
- package/cli/dist/core/generation/test-optimizer.js +328 -0
- package/cli/dist/core/generation/types.d.ts +214 -0
- package/cli/dist/core/generation/types.js +4 -0
- package/cli/dist/core/hooks/compose.d.ts +61 -0
- package/cli/dist/core/hooks/compose.js +225 -0
- package/cli/dist/core/hooks/runner.d.ts +68 -0
- package/cli/dist/core/hooks/runner.js +303 -0
- package/cli/dist/core/index.d.ts +110 -0
- package/cli/dist/core/index.js +99 -0
- package/cli/dist/core/pack/migrator.d.ts +51 -0
- package/cli/dist/core/pack/migrator.js +304 -0
- package/cli/dist/core/pack/validator.d.ts +42 -0
- package/cli/dist/core/pack/validator.js +322 -0
- package/cli/dist/core/pack-v2/index.d.ts +9 -0
- package/cli/dist/core/pack-v2/index.js +8 -0
- package/cli/dist/core/pack-v2/loader.d.ts +63 -0
- package/cli/dist/core/pack-v2/loader.js +292 -0
- package/cli/dist/core/pack-v2/migrator.d.ts +61 -0
- package/cli/dist/core/pack-v2/migrator.js +480 -0
- package/cli/dist/core/pack-v2/validator.d.ts +65 -0
- package/cli/dist/core/pack-v2/validator.js +628 -0
- package/cli/dist/core/parallel/index.d.ts +6 -0
- package/cli/dist/core/parallel/index.js +6 -0
- package/cli/dist/core/parallel/parallel-runner.d.ts +107 -0
- package/cli/dist/core/parallel/parallel-runner.js +192 -0
- package/cli/dist/core/pom/base-page.d.ts +237 -0
- package/cli/dist/core/pom/base-page.js +354 -0
- package/cli/dist/core/pom/index.d.ts +22 -0
- package/cli/dist/core/pom/index.js +23 -0
- package/cli/dist/core/pom/loader.d.ts +118 -0
- package/cli/dist/core/pom/loader.js +382 -0
- package/cli/dist/core/pom/types.d.ts +112 -0
- package/cli/dist/core/pom/types.js +9 -0
- package/cli/dist/core/proof/bundle.d.ts +137 -0
- package/cli/dist/core/proof/bundle.js +160 -0
- package/cli/dist/core/proof/canonicalize.d.ts +47 -0
- package/cli/dist/core/proof/canonicalize.js +105 -0
- package/cli/dist/core/proof/index.d.ts +13 -0
- package/cli/dist/core/proof/index.js +18 -0
- package/cli/dist/core/proof/schema.d.ts +217 -0
- package/cli/dist/core/proof/schema.js +263 -0
- package/cli/dist/core/proof/signer.d.ts +111 -0
- package/cli/dist/core/proof/signer.js +226 -0
- package/cli/dist/core/proof/verifier.d.ts +97 -0
- package/cli/dist/core/proof/verifier.js +308 -0
- package/cli/dist/core/regression/detector.d.ts +107 -0
- package/cli/dist/core/regression/detector.js +497 -0
- package/cli/dist/core/regression/index.d.ts +9 -0
- package/cli/dist/core/regression/index.js +11 -0
- package/cli/dist/core/regression/trend-analyzer.d.ts +102 -0
- package/cli/dist/core/regression/trend-analyzer.js +345 -0
- package/cli/dist/core/regression/types.d.ts +222 -0
- package/cli/dist/core/regression/types.js +7 -0
- package/cli/dist/core/regression/vault.d.ts +87 -0
- package/cli/dist/core/regression/vault.js +289 -0
- package/cli/dist/core/repair/engine/fixer.d.ts +24 -0
- package/cli/dist/core/repair/engine/fixer.js +226 -0
- package/cli/dist/core/repair/engine/suggestion-engine.d.ts +18 -0
- package/cli/dist/core/repair/engine/suggestion-engine.js +187 -0
- package/cli/dist/core/repair/index.d.ts +10 -0
- package/cli/dist/core/repair/index.js +13 -0
- package/cli/dist/core/repair/repairer.d.ts +90 -0
- package/cli/dist/core/repair/repairer.js +284 -0
- package/cli/dist/core/repair/types.d.ts +91 -0
- package/cli/dist/core/repair/types.js +6 -0
- package/cli/dist/core/repair/utils/error-analyzer.d.ts +28 -0
- package/cli/dist/core/repair/utils/error-analyzer.js +264 -0
- package/cli/dist/core/reporting/html-reporter.d.ts +119 -0
- package/cli/dist/core/reporting/html-reporter.js +737 -0
- package/cli/dist/core/reporting/index.d.ts +6 -0
- package/cli/dist/core/reporting/index.js +6 -0
- package/cli/dist/core/retry/flakiness-integration.d.ts +60 -0
- package/cli/dist/core/retry/flakiness-integration.js +228 -0
- package/cli/dist/core/retry/index.d.ts +14 -0
- package/cli/dist/core/retry/index.js +16 -0
- package/cli/dist/core/retry/retry-engine.d.ts +80 -0
- package/cli/dist/core/retry/retry-engine.js +296 -0
- package/cli/dist/core/retry/types.d.ts +178 -0
- package/cli/dist/core/retry/types.js +52 -0
- package/cli/dist/core/retry/vault.d.ts +77 -0
- package/cli/dist/core/retry/vault.js +304 -0
- package/cli/dist/core/runner/e2e-helpers.d.ts +102 -0
- package/cli/dist/core/runner/e2e-helpers.js +153 -0
- package/cli/dist/core/runner/phase3-runner.d.ts +249 -0
- package/cli/dist/core/runner/phase3-runner.js +1312 -0
- package/cli/dist/core/schemas/pack.schema.json +236 -0
- package/cli/dist/core/secrets/crypto.d.ts +75 -0
- package/cli/dist/core/secrets/crypto.js +223 -0
- package/cli/dist/core/secrets/manager.d.ts +76 -0
- package/cli/dist/core/secrets/manager.js +219 -0
- package/cli/dist/core/security/redaction-patterns-extended.d.ts +27 -0
- package/cli/dist/core/security/redaction-patterns-extended.js +247 -0
- package/cli/dist/core/security/redactor.d.ts +71 -0
- package/cli/dist/core/security/redactor.js +279 -0
- package/cli/dist/core/self-healing/assertion-healer.d.ts +97 -0
- package/cli/dist/core/self-healing/assertion-healer.js +371 -0
- package/cli/dist/core/self-healing/engine.d.ts +122 -0
- package/cli/dist/core/self-healing/engine.js +538 -0
- package/cli/dist/core/self-healing/index.d.ts +10 -0
- package/cli/dist/core/self-healing/index.js +11 -0
- package/cli/dist/core/self-healing/selector-healer.d.ts +103 -0
- package/cli/dist/core/self-healing/selector-healer.js +372 -0
- package/cli/dist/core/self-healing/types.d.ts +152 -0
- package/cli/dist/core/self-healing/types.js +6 -0
- package/cli/dist/core/serve/diagnostics-collector.d.ts +32 -0
- package/cli/dist/core/serve/diagnostics-collector.js +149 -0
- package/cli/dist/core/serve/health-checker.d.ts +44 -0
- package/cli/dist/core/serve/health-checker.js +219 -0
- package/cli/dist/core/serve/index.d.ts +8 -0
- package/cli/dist/core/serve/index.js +8 -0
- package/cli/dist/core/serve/metrics-collector.d.ts +24 -0
- package/cli/dist/core/serve/metrics-collector.js +322 -0
- package/cli/dist/core/serve/process-manager.d.ts +36 -0
- package/cli/dist/core/serve/process-manager.js +213 -0
- package/cli/dist/core/serve/server.d.ts +36 -0
- package/cli/dist/core/serve/server.js +191 -0
- package/cli/dist/core/slo/config.d.ts +107 -0
- package/cli/dist/core/slo/config.js +360 -0
- package/cli/dist/core/slo/index.d.ts +11 -0
- package/cli/dist/core/slo/index.js +15 -0
- package/cli/dist/core/slo/sli-calculator.d.ts +92 -0
- package/cli/dist/core/slo/sli-calculator.js +364 -0
- package/cli/dist/core/slo/slo-tracker.d.ts +148 -0
- package/cli/dist/core/slo/slo-tracker.js +379 -0
- package/cli/dist/core/slo/types.d.ts +281 -0
- package/cli/dist/core/slo/types.js +7 -0
- package/cli/dist/core/slo/vault.d.ts +102 -0
- package/cli/dist/core/slo/vault.js +427 -0
- package/cli/dist/core/tui/index.d.ts +7 -0
- package/cli/dist/core/tui/index.js +6 -0
- package/cli/dist/core/tui/monitor.d.ts +92 -0
- package/cli/dist/core/tui/monitor.js +271 -0
- package/cli/dist/core/tui/renderer.d.ts +33 -0
- package/cli/dist/core/tui/renderer.js +218 -0
- package/cli/dist/core/tui/types.d.ts +63 -0
- package/cli/dist/core/tui/types.js +5 -0
- package/cli/dist/core/types/pack-v1.d.ts +251 -0
- package/cli/dist/core/types/pack-v1.js +5 -0
- package/cli/dist/core/types/pack-v2.d.ts +456 -0
- package/cli/dist/core/types/pack-v2.js +8 -0
- package/cli/dist/core/types/trust-score.d.ts +69 -0
- package/cli/dist/core/types/trust-score.js +191 -0
- package/cli/dist/core/vault/cas.d.ts +90 -0
- package/cli/dist/core/vault/cas.js +261 -0
- package/cli/dist/core/vault/index.d.ts +326 -0
- package/cli/dist/core/vault/index.js +1042 -0
- package/cli/dist/core/visual/index.d.ts +6 -0
- package/cli/dist/core/visual/index.js +6 -0
- package/cli/dist/core/visual/visual-regression.d.ts +113 -0
- package/cli/dist/core/visual/visual-regression.js +236 -0
- package/cli/dist/core/watch/index.d.ts +7 -0
- package/cli/dist/core/watch/index.js +6 -0
- package/cli/dist/core/watch/watch-mode.d.ts +213 -0
- package/cli/dist/core/watch/watch-mode.js +389 -0
- package/cli/dist/generators/index.d.ts +5 -0
- package/cli/dist/generators/index.js +5 -0
- package/cli/dist/generators/json-reporter.d.ts +10 -0
- package/cli/dist/generators/json-reporter.js +12 -0
- package/cli/dist/generators/test-generator.d.ts +18 -0
- package/cli/dist/generators/test-generator.js +78 -0
- package/cli/dist/index.d.ts +8 -0
- package/cli/dist/index.js +262 -0
- package/cli/dist/scanners/dom-scanner.d.ts +52 -0
- package/cli/dist/scanners/dom-scanner.js +296 -0
- package/cli/dist/scanners/index.d.ts +4 -0
- package/cli/dist/scanners/index.js +4 -0
- package/cli/dist/schemas/pack.schema.json +236 -0
- package/cli/dist/types/scan.d.ts +68 -0
- package/cli/dist/types/scan.js +4 -0
- package/cli/dist/utils/config.d.ts +35 -0
- package/cli/dist/utils/config.js +196 -0
- package/cli/package.json +1 -1
- package/package.json +25 -2
- package/.BETA_TESTING_FEEDBACK.md +0 -256
- package/.claude/settings.local.json +0 -154
- package/.editorconfig +0 -21
- package/.github/CODEOWNERS +0 -23
- package/.github/ISSUE_TEMPLATE/bug_report.yml +0 -108
- package/.github/ISSUE_TEMPLATE/feedback_dx.yml +0 -121
- package/.github/dependabot.yml +0 -35
- package/.github/workflows/mcp-dx.yml +0 -106
- package/.github/workflows/release.yml +0 -26
- package/.github/workflows/test.yml +0 -93
- package/.nvmrc +0 -1
- package/.qa360/vault.db +0 -0
- package/.qa360/vault.db-shm +0 -0
- package/.qa360/vault.db-wal +0 -0
- package/.qa360-artifacts/.gitkeep +0 -0
- package/.qa360-artifacts/baselines/.gitkeep +0 -0
- package/.qa360-artifacts/cache/.gitkeep +0 -0
- package/.qa360-artifacts/reports/.gitkeep +0 -0
- package/.qa360-artifacts/screenshots/.gitkeep +0 -0
- package/.qa360-baselines/www_xyqo_ai.baseline.json +0 -33
- package/CODEOWNERS +0 -43
- package/NOVICE_USER_GUIDE.md +0 -272
- package/adapters/README.md +0 -46
- package/check-branches.sh +0 -32
- package/cli/.qa360/keys/ed25519.key +0 -1
- package/cli/.qa360/keys/ed25519.pub +0 -1
- package/cli/examples/README.md +0 -160
- package/cli/examples/accessibility.yml +0 -48
- package/cli/examples/api-basic.yml +0 -27
- package/cli/examples/complete.yml +0 -146
- package/cli/examples/crawler.yml +0 -38
- package/cli/examples/fullstack.yml +0 -78
- package/cli/examples/security.yml +0 -58
- package/cli/examples/ui-advanced.yml +0 -49
- package/cli/examples/ui-basic.yml +0 -24
- package/cli/scripts/bundle-for-npm.sh +0 -51
- package/cli/scripts/validate-package.js +0 -116
- package/cli/src/__tests__/commands/doctor.test.ts +0 -108
- package/cli/src/__tests__/index.test.ts +0 -15
- package/cli/src/cli-minimal.ts +0 -44
- package/cli/src/commands/__tests__/crawl.test.ts +0 -412
- package/cli/src/commands/__tests__/doctor-qa360-home.test.ts +0 -156
- package/cli/src/commands/__tests__/e2e-ui-tests.test.ts +0 -494
- package/cli/src/commands/__tests__/e2e.test.ts +0 -187
- package/cli/src/commands/__tests__/flakiness.test.ts +0 -528
- package/cli/src/commands/__tests__/generate.test.ts +0 -507
- package/cli/src/commands/__tests__/history.integration.test.ts +0 -358
- package/cli/src/commands/__tests__/history.test.ts +0 -433
- package/cli/src/commands/__tests__/monitor-realworld.test.ts +0 -199
- package/cli/src/commands/__tests__/monitor.test.ts +0 -81
- package/cli/src/commands/__tests__/ollama.test.ts +0 -529
- package/cli/src/commands/__tests__/repair.test.ts +0 -225
- package/cli/src/commands/__tests__/report.integration.test.ts +0 -167
- package/cli/src/commands/__tests__/report.test.ts +0 -294
- package/cli/src/commands/__tests__/report.vitest.ts +0 -288
- package/cli/src/commands/__tests__/retry.test.ts +0 -78
- package/cli/src/commands/__tests__/run.integration.test.ts +0 -240
- package/cli/src/commands/__tests__/run.test.ts +0 -346
- package/cli/src/commands/__tests__/run.vitest.ts +0 -301
- package/cli/src/commands/__tests__/secrets.test.ts +0 -114
- package/cli/src/commands/__tests__/serve.test.ts +0 -80
- package/cli/src/commands/__tests__/verify.test.ts +0 -103
- package/cli/src/commands/ai.ts +0 -702
- package/cli/src/commands/ask.ts +0 -678
- package/cli/src/commands/coverage.ts +0 -305
- package/cli/src/commands/crawl.ts +0 -155
- package/cli/src/commands/doctor.ts +0 -610
- package/cli/src/commands/examples.ts +0 -248
- package/cli/src/commands/explain.ts +0 -710
- package/cli/src/commands/flakiness.ts +0 -560
- package/cli/src/commands/generate.ts +0 -566
- package/cli/src/commands/history.ts +0 -914
- package/cli/src/commands/init.ts +0 -777
- package/cli/src/commands/monitor.ts +0 -270
- package/cli/src/commands/ollama.ts +0 -337
- package/cli/src/commands/pack.ts +0 -497
- package/cli/src/commands/regression.ts +0 -400
- package/cli/src/commands/repair.ts +0 -356
- package/cli/src/commands/report.ts +0 -463
- package/cli/src/commands/retry.ts +0 -380
- package/cli/src/commands/run.ts +0 -220
- package/cli/src/commands/scan.ts +0 -177
- package/cli/src/commands/secrets.ts +0 -340
- package/cli/src/commands/serve.ts +0 -194
- package/cli/src/commands/slo.ts +0 -387
- package/cli/src/commands/verify-temp-note.md +0 -11
- package/cli/src/commands/verify.ts +0 -322
- package/cli/src/generators/index.ts +0 -6
- package/cli/src/generators/json-reporter.ts +0 -15
- package/cli/src/generators/test-generator.ts +0 -90
- package/cli/src/index.ts +0 -289
- package/cli/src/scanners/dom-scanner.ts +0 -360
- package/cli/src/scanners/index.ts +0 -5
- package/cli/src/types/scan.ts +0 -84
- package/cli/src/utils/config.ts +0 -145
- package/cli/tsconfig.bundle.json +0 -12
- package/cli/tsconfig.json +0 -23
- package/cli/vitest.config.ts +0 -59
- package/core/src/__tests__/adapters-contract/adapters-contract.test.md +0 -156
- package/core/src/__tests__/index.test.ts +0 -31
- package/core/src/__tests__/integration/phase3.test.ts +0 -405
- package/core/src/__tests__/pack/validator.test.ts +0 -312
- package/core/src/__tests__/secrets/crypto.test.ts +0 -190
- package/core/src/__tests__/secrets/manager.test.ts +0 -316
- package/core/src/__tests__/security/redactor-phase3.test.ts +0 -233
- package/core/src/__tests__/serve/health-checker.test.ts +0 -155
- package/core/src/__tests__/serve/process-manager.test.ts +0 -213
- package/core/src/__tests__/serve/server.test.ts +0 -103
- package/core/src/__tests__/vault/cas.test.ts +0 -178
- package/core/src/__tests__/vault/vault.test.ts +0 -296
- package/core/src/adapters/__tests__/fixtures/jest-coverage.json +0 -8
- package/core/src/adapters/__tests__/fixtures/jest-results.json +0 -41
- package/core/src/adapters/__tests__/fixtures/pytest-junit.xml +0 -16
- package/core/src/adapters/__tests__/fixtures/vitest-coverage.json +0 -8
- package/core/src/adapters/__tests__/fixtures/vitest-results.json +0 -50
- package/core/src/adapters/__tests__/gitleaks-secrets.test.ts +0 -452
- package/core/src/adapters/__tests__/jest-adapter.test.ts +0 -276
- package/core/src/adapters/__tests__/k6-perf.test.ts +0 -538
- package/core/src/adapters/__tests__/osv-deps.test.ts +0 -471
- package/core/src/adapters/__tests__/playwright-native-api.test.ts +0 -792
- package/core/src/adapters/__tests__/playwright-ui-e2e.test.ts +0 -431
- package/core/src/adapters/__tests__/playwright-ui.test.ts +0 -1073
- package/core/src/adapters/__tests__/pytest-adapter.test.ts +0 -207
- package/core/src/adapters/__tests__/semgrep-sast.test.ts +0 -436
- package/core/src/adapters/__tests__/vitest-adapter.test.ts +0 -208
- package/core/src/adapters/__tests__/zap-dast.test.ts +0 -453
- package/core/src/adapters/gitleaks-secrets.ts +0 -521
- package/core/src/adapters/jest-adapter.ts +0 -306
- package/core/src/adapters/k6-perf.ts +0 -479
- package/core/src/adapters/osv-deps.ts +0 -467
- package/core/src/adapters/playwright-native-adapter.ts +0 -472
- package/core/src/adapters/playwright-native-api.ts +0 -619
- package/core/src/adapters/playwright-ui.ts +0 -1088
- package/core/src/adapters/pytest-adapter.ts +0 -472
- package/core/src/adapters/semgrep-sast.ts +0 -410
- package/core/src/adapters/unit-test-types.ts +0 -106
- package/core/src/adapters/vitest-adapter.ts +0 -295
- package/core/src/adapters/zap-dast.ts +0 -551
- package/core/src/ai/__tests__/deepseek-provider.test.ts +0 -586
- package/core/src/ai/__tests__/ollama-provider.test.ts +0 -641
- package/core/src/ai/anthropic-provider.ts +0 -262
- package/core/src/ai/deepseek-provider.ts +0 -315
- package/core/src/ai/index.ts +0 -87
- package/core/src/ai/llm-client.ts +0 -52
- package/core/src/ai/mock-provider.ts +0 -146
- package/core/src/ai/ollama-provider.ts +0 -269
- package/core/src/ai/openai-provider.ts +0 -240
- package/core/src/ai/provider-factory.ts +0 -408
- package/core/src/artifacts/README.md +0 -78
- package/core/src/artifacts/index.ts +0 -16
- package/core/src/artifacts/ui-artifacts.ts +0 -412
- package/core/src/assertions/__tests__/engine.test.ts +0 -360
- package/core/src/assertions/engine.ts +0 -577
- package/core/src/assertions/index.ts +0 -13
- package/core/src/assertions/types.ts +0 -229
- package/core/src/auth/__tests__/api-key-provider.test.ts +0 -282
- package/core/src/auth/__tests__/auth-manager.test.ts +0 -430
- package/core/src/auth/__tests__/basic-auth-provider.test.ts +0 -364
- package/core/src/auth/__tests__/cloud-providers.test.ts +0 -751
- package/core/src/auth/__tests__/jwt-provider.test.ts +0 -400
- package/core/src/auth/__tests__/oauth2-provider.test.ts +0 -383
- package/core/src/auth/__tests__/totp-provider.test.ts +0 -294
- package/core/src/auth/__tests__/ui-login-provider.test.ts +0 -323
- package/core/src/auth/api-key-provider.ts +0 -75
- package/core/src/auth/aws-iam-provider.ts +0 -212
- package/core/src/auth/azure-ad-provider.ts +0 -126
- package/core/src/auth/basic-auth-provider.ts +0 -133
- package/core/src/auth/gcp-adc-provider.ts +0 -146
- package/core/src/auth/index.ts +0 -342
- package/core/src/auth/jwt-provider.ts +0 -193
- package/core/src/auth/manager.ts +0 -281
- package/core/src/auth/oauth2-provider.ts +0 -141
- package/core/src/auth/totp-provider.ts +0 -163
- package/core/src/auth/ui-login-provider.ts +0 -242
- package/core/src/cache/__tests__/lru-cache.test.ts +0 -564
- package/core/src/cache/index.ts +0 -13
- package/core/src/cache/lru-cache.ts +0 -536
- package/core/src/crawler/__tests__/journey-generator.test.ts +0 -344
- package/core/src/crawler/__tests__/selector-generator.test.ts +0 -211
- package/core/src/crawler/index.ts +0 -335
- package/core/src/crawler/journey-generator.ts +0 -471
- package/core/src/crawler/page-analyzer.ts +0 -857
- package/core/src/crawler/selector-generator.ts +0 -280
- package/core/src/crawler/types.ts +0 -475
- package/core/src/dashboard/__tests__/real-world.test.ts +0 -430
- package/core/src/dashboard/__tests__/server.test.ts +0 -283
- package/core/src/dashboard/__tests__/types.test.ts +0 -208
- package/core/src/dashboard/assets.ts +0 -692
- package/core/src/dashboard/index.ts +0 -17
- package/core/src/dashboard/server.ts +0 -401
- package/core/src/dashboard/types.ts +0 -78
- package/core/src/discoverer/__tests__/test-discoverer.test.ts +0 -444
- package/core/src/discoverer/index.ts +0 -374
- package/core/src/fixtures/__tests__/loader.test.ts +0 -246
- package/core/src/fixtures/__tests__/resolver.test.ts +0 -334
- package/core/src/fixtures/index.ts +0 -9
- package/core/src/fixtures/loader.ts +0 -200
- package/core/src/fixtures/resolver.ts +0 -221
- package/core/src/fixtures/types.ts +0 -86
- package/core/src/flakiness/__tests__/flakiness.test.ts +0 -554
- package/core/src/flakiness/index.ts +0 -536
- package/core/src/generation/__tests__/code-formatter.test.ts +0 -170
- package/core/src/generation/__tests__/code-generator-contract.test.ts +0 -207
- package/core/src/generation/__tests__/code-generator.test.ts +0 -586
- package/core/src/generation/__tests__/crawler-pack-generator.test.ts +0 -479
- package/core/src/generation/__tests__/generation-e2e-b2bshop.test.ts +0 -718
- package/core/src/generation/__tests__/generation-integration.test.ts +0 -655
- package/core/src/generation/__tests__/pack-generator.test.ts +0 -408
- package/core/src/generation/__tests__/prompt-builder.test.ts +0 -200
- package/core/src/generation/__tests__/real-provider-integration.test.ts +0 -414
- package/core/src/generation/__tests__/source-analyzer.test.ts +0 -774
- package/core/src/generation/__tests__/test-optimizer.test.ts +0 -255
- package/core/src/generation/code-formatter.ts +0 -408
- package/core/src/generation/code-generator.ts +0 -470
- package/core/src/generation/crawler-pack-generator.ts +0 -289
- package/core/src/generation/generator.ts +0 -113
- package/core/src/generation/index.ts +0 -59
- package/core/src/generation/pack-generator.ts +0 -527
- package/core/src/generation/prompt-builder.ts +0 -772
- package/core/src/generation/source-analyzer.ts +0 -830
- package/core/src/generation/test-optimizer.ts +0 -474
- package/core/src/generation/types.ts +0 -217
- package/core/src/hooks/__tests__/compose.test.ts +0 -636
- package/core/src/hooks/__tests__/runner.test.ts +0 -478
- package/core/src/hooks/compose.ts +0 -268
- package/core/src/hooks/runner.ts +0 -364
- package/core/src/index.ts +0 -255
- package/core/src/pack/__tests__/migrator.test.ts +0 -594
- package/core/src/pack/__tests__/validator.test.ts +0 -759
- package/core/src/pack/migrator.ts +0 -353
- package/core/src/pack/validator.ts +0 -359
- package/core/src/pack-v2/__tests__/loader.test.ts +0 -533
- package/core/src/pack-v2/__tests__/migrator.test.ts +0 -455
- package/core/src/pack-v2/__tests__/validator.test.ts +0 -609
- package/core/src/pack-v2/index.ts +0 -41
- package/core/src/pack-v2/loader.ts +0 -358
- package/core/src/pack-v2/migrator.ts +0 -540
- package/core/src/pack-v2/validator.ts +0 -731
- package/core/src/parallel/README.md +0 -143
- package/core/src/parallel/index.ts +0 -16
- package/core/src/parallel/parallel-runner.ts +0 -282
- package/core/src/pom/__tests__/loader.test.ts +0 -378
- package/core/src/pom/base-page.ts +0 -425
- package/core/src/pom/index.ts +0 -45
- package/core/src/pom/loader.ts +0 -480
- package/core/src/pom/types.ts +0 -146
- package/core/src/proof/__tests__/proof-roundtrip.test.ts +0 -149
- package/core/src/proof/__tests__/schema-validation-manual.mjs +0 -211
- package/core/src/proof/__tests__/schema-validation.test.ts +0 -336
- package/core/src/proof/__tests__/signer.test.ts +0 -486
- package/core/src/proof/__tests__/temporal-regression.test.ts +0 -537
- package/core/src/proof/__tests__/verifier-advanced.test.ts +0 -588
- package/core/src/proof/__tests__/verifier.test.ts +0 -413
- package/core/src/proof/bundle.ts +0 -290
- package/core/src/proof/canonicalize.ts +0 -116
- package/core/src/proof/index.ts +0 -74
- package/core/src/proof/schema.ts +0 -285
- package/core/src/proof/signer.ts +0 -293
- package/core/src/proof/verifier.ts +0 -380
- package/core/src/regression/__tests__/detector.test.ts +0 -396
- package/core/src/regression/__tests__/trend-analyzer.test.ts +0 -300
- package/core/src/regression/detector.ts +0 -629
- package/core/src/regression/index.ts +0 -34
- package/core/src/regression/trend-analyzer.ts +0 -468
- package/core/src/regression/types.ts +0 -295
- package/core/src/regression/vault.ts +0 -419
- package/core/src/repair/__tests__/repairer.test.ts +0 -572
- package/core/src/repair/__tests__/types.test.ts +0 -302
- package/core/src/repair/engine/__tests__/fixer.test.ts +0 -482
- package/core/src/repair/engine/__tests__/suggestion-engine.test.ts +0 -395
- package/core/src/repair/engine/fixer.ts +0 -271
- package/core/src/repair/engine/suggestion-engine.ts +0 -234
- package/core/src/repair/index.ts +0 -53
- package/core/src/repair/repairer.ts +0 -376
- package/core/src/repair/types.ts +0 -119
- package/core/src/repair/utils/__tests__/error-analyzer.test.ts +0 -454
- package/core/src/repair/utils/error-analyzer.ts +0 -308
- package/core/src/reporting/README.md +0 -144
- package/core/src/reporting/html-reporter.ts +0 -835
- package/core/src/reporting/index.ts +0 -16
- package/core/src/retry/README.md +0 -192
- package/core/src/retry/__tests__/flakiness-integration.test.ts +0 -475
- package/core/src/retry/__tests__/retry-engine.test.ts +0 -424
- package/core/src/retry/flakiness-integration.ts +0 -267
- package/core/src/retry/index.ts +0 -48
- package/core/src/retry/retry-engine.ts +0 -368
- package/core/src/retry/types.ts +0 -208
- package/core/src/retry/vault.ts +0 -413
- package/core/src/runner/__tests__/flakiness-integration.test.ts +0 -566
- package/core/src/runner/__tests__/phase3-e2e-b2bshop.test.ts +0 -218
- package/core/src/runner/__tests__/phase3-e2e-reqres.test.ts +0 -199
- package/core/src/runner/__tests__/phase3-runner.test.ts +0 -1118
- package/core/src/runner/e2e-helpers.ts +0 -216
- package/core/src/runner/phase3-runner.ts +0 -1536
- package/core/src/schemas/gherkin-report.json +0 -122
- package/core/src/secrets/__tests__/crypto.test.ts +0 -180
- package/core/src/secrets/crypto.ts +0 -289
- package/core/src/secrets/manager.ts +0 -272
- package/core/src/security/__tests__/hardening.test.ts +0 -480
- package/core/src/security/redaction-patterns-extended.ts +0 -278
- package/core/src/security/redactor.ts +0 -326
- package/core/src/self-healing/assertion-healer.ts +0 -485
- package/core/src/self-healing/engine.ts +0 -626
- package/core/src/self-healing/index.ts +0 -33
- package/core/src/self-healing/selector-healer.ts +0 -488
- package/core/src/self-healing/types.ts +0 -193
- package/core/src/serve/diagnostics-collector.ts +0 -201
- package/core/src/serve/health-checker.ts +0 -274
- package/core/src/serve/index.ts +0 -9
- package/core/src/serve/metrics-collector.ts +0 -386
- package/core/src/serve/process-manager.ts +0 -265
- package/core/src/serve/server.ts +0 -230
- package/core/src/slo/config.ts +0 -408
- package/core/src/slo/index.ts +0 -68
- package/core/src/slo/sli-calculator.ts +0 -474
- package/core/src/slo/slo-tracker.ts +0 -481
- package/core/src/slo/types.ts +0 -408
- package/core/src/slo/vault.ts +0 -600
- package/core/src/tui/__tests__/monitor.test.ts +0 -336
- package/core/src/tui/__tests__/real-world.test.ts +0 -376
- package/core/src/tui/__tests__/renderer.test.ts +0 -201
- package/core/src/tui/__tests__/types.test.ts +0 -295
- package/core/src/tui/index.ts +0 -19
- package/core/src/tui/monitor.ts +0 -331
- package/core/src/tui/renderer.ts +0 -269
- package/core/src/tui/types.ts +0 -68
- package/core/src/types/pack-v1.ts +0 -305
- package/core/src/types/pack-v2.ts +0 -525
- package/core/src/types/trust-score.ts +0 -258
- package/core/src/vault/__tests__/flakiness-vault.test.ts +0 -562
- package/core/src/vault/__tests__/vault.test.ts +0 -259
- package/core/src/vault/cas.ts +0 -323
- package/core/src/vault/index.ts +0 -1361
- package/core/src/vault/schema.sql +0 -168
- package/core/src/visual/README.md +0 -185
- package/core/src/visual/index.ts +0 -14
- package/core/src/visual/visual-regression.ts +0 -347
- package/core/src/watch/__tests__/watch-mode.test.ts +0 -192
- package/core/src/watch/index.ts +0 -14
- package/core/src/watch/watch-mode.ts +0 -565
- package/core/tsconfig.json +0 -12
- package/core/vitest.config.ts +0 -52
- package/docs/ARCHITECTURE.md +0 -901
- package/docs/AUDIT-GLOBAL-DEC2025.md +0 -271
- package/docs/BETA_TESTING.md +0 -257
- package/docs/BETA_TESTING_PLAN.md +0 -727
- package/docs/CERTIFICATION-REPORT.md +0 -142
- package/docs/COMPLETE_AUDIT_REFACTORING.md +0 -965
- package/docs/DEVELOPMENT.md +0 -545
- package/docs/DEVELOPMENT_HISTORY.md +0 -345
- package/docs/LIMITATIONS.md +0 -176
- package/docs/MIGRATION.md +0 -303
- package/docs/OPTION_3_4_EXPLORATION.md +0 -1257
- package/docs/PHASE1_PERFORMANCE.md +0 -144
- package/docs/QA360_Cloud.postman_collection.json +0 -89
- package/docs/QA360_TESTING_PHILOSOPHY.md +0 -769
- package/docs/QA_TEST_PLAN.md +0 -727
- package/docs/README.md +0 -50
- package/docs/STATUS.md +0 -198
- package/docs/STRATEGIC_STUDY_GOOSE_INTEGRATION.md +0 -615
- package/docs/USER_GUIDE.md +0 -687
- package/docs/WORK-DONE-ADAPTER-TESTS.md +0 -136
- package/docs/adapters-security.md +0 -485
- package/docs/architecture-diagram.mmd +0 -168
- package/docs/archive/ARCH-01-DAY6-BUILD-FIXES.md +0 -396
- package/docs/archive/ARCH-01-DAY6-FINAL-STATUS.md +0 -324
- package/docs/archive/ARCH-01_MCP_MERGE_ANALYSIS.md +0 -644
- package/docs/archive/ARCH-01_NEXT_STEPS.md +0 -60
- package/docs/archive/BRANCH_PROTECTION.md +0 -183
- package/docs/archive/CI_LOCKDOWN_CHECKLIST.md +0 -222
- package/docs/archive/HANDOFF_TEST-01.md +0 -669
- package/docs/archive/LEGAL_READY_PLACEHOLDERS.md +0 -372
- package/docs/archive/NODE_UPGRADE_GUIDE.md +0 -188
- package/docs/archive/PHASE1_COMPLETION.md +0 -386
- package/docs/archive/PHASE2_COMPLETION.md +0 -404
- package/docs/archive/PHASE3_AND_4_FINAL.md +0 -360
- package/docs/archive/PHASE3_COMPLETE.md +0 -301
- package/docs/archive/PHASE3_STATUS.md +0 -255
- package/docs/archive/PRE-WEEK2-AUDIT.md +0 -364
- package/docs/archive/README.md +0 -16
- package/docs/archive/SCHEMA_AJV_2020_FIX.md +0 -245
- package/docs/archive/TEST-01_AUDIT_REPORT.md +0 -240
- package/docs/archive/TEST-01_COVERAGE_PLAN.md +0 -423
- package/docs/archive/obsolete-proposals/dom-element-discovery-mode.md +0 -250
- package/docs/archive/obsolete-proposals/qa360-comprehensive-test-plan.md +0 -1249
- package/docs/archive/obsolete-proposals/qa360-quick-start-guide.md +0 -298
- package/docs/archive/obsolete-proposals/technical-plan-dom-discovery.md +0 -870
- package/docs/budgets-advanced.md +0 -308
- package/docs/examples/history-export-gc.md +0 -285
- package/docs/examples/pack-v2-complete.yaml +0 -158
- package/docs/examples/pack-v2-quickstart.yaml +0 -24
- package/docs/examples/pack-v2-ui-login.yaml +0 -81
- package/docs/examples/qa360-report.json +0 -50
- package/docs/history.md +0 -565
- package/docs/hooks.md +0 -304
- package/docs/llm-providers.md +0 -512
- package/docs/mcp-server.md +0 -651
- package/docs/mcp-tools.md +0 -1131
- package/docs/pack-v1.md +0 -383
- package/docs/pack-v2.md +0 -558
- package/docs/page-objects.md +0 -366
- package/docs/proofs.md +0 -670
- package/docs/quickstart-5min.md +0 -257
- package/docs/readiness-ci.md +0 -654
- package/docs/rfc/README.md +0 -20
- package/docs/rfc/proof-bundle-v1.md +0 -787
- package/docs/secrets.md +0 -392
- package/docs/serve.md +0 -494
- package/docs/unit-test-adapters.md +0 -168
- package/docs/vault.md +0 -491
- package/e2e/qa360-e2e.test.ts +0 -696
- package/e2e/vitest.config.ts +0 -18
- package/examples/README.md +0 -50
- package/examples/ci/docker-compose-serve.yml +0 -375
- package/examples/ci/github-actions-serve.yml +0 -345
- package/examples/ci/gitlab-ci-serve.yml +0 -407
- package/examples/datasets/README.md +0 -101
- package/examples/datasets/b2bshop.ts +0 -155
- package/examples/datasets/index.ts +0 -57
- package/examples/datasets/reqres.ts +0 -195
- package/examples/fixtures-demo/fixtures/users.yml +0 -39
- package/examples/fixtures-demo/pack.yml +0 -71
- package/examples/future-api/README.md +0 -16
- package/examples/future-api/diag.js +0 -7
- package/examples/future-api/health.js +0 -4
- package/examples/future-api/packs.js +0 -13
- package/examples/future-api/runpack.js +0 -10
- package/examples/generation/README.md +0 -148
- package/examples/generation/pack-generator-example.js +0 -115
- package/examples/generation/source-analyzer-example.js +0 -115
- package/examples/httpbin/pack.yml +0 -59
- package/examples/load-testing/mcp-load.yml +0 -115
- package/examples/load-testing/mcp-stdio.yml +0 -95
- package/examples/mcp/claude-desktop-config.json +0 -33
- package/examples/mcp/claude-desktop.json +0 -16
- package/examples/mcp/conversation-sample.md +0 -131
- package/examples/mcp/demo-60s.md +0 -330
- package/examples/mcp/sample-conversation.jsonl +0 -21
- package/examples/mcp/vscode-settings.json +0 -22
- package/examples/pack-v2-complete.yml +0 -242
- package/examples/pack-v2-examples.md +0 -244
- package/examples/pack-v2-quickstart.yml +0 -55
- package/examples/packs-business/ecommerce-api.yml +0 -121
- package/examples/packs-business/saas-dashboard-ui.yml +0 -133
- package/examples/packs-conformance/compose-multi.yml +0 -174
- package/examples/packs-conformance/full.yml +0 -152
- package/examples/packs-conformance/heavy-artifacts.yml +0 -152
- package/examples/packs-conformance/minimal.yml +0 -71
- package/examples/packs-conformance/secrets-missing.yml +0 -97
- package/examples/packs-conformance/timeouts.yml +0 -77
- package/examples/pom-demo/README.md +0 -104
- package/examples/pom-demo/pack.yml +0 -60
- package/examples/pom-demo/pages/DashboardPage.page.ts +0 -73
- package/examples/pom-demo/pages/LoginPage.page.ts +0 -76
- package/examples/proofs/e2e-playwright-proof.json +0 -75
- package/examples/proofs/httpbin-proof.json +0 -69
- package/examples/proofs/multi-adapter-proof.json +0 -117
- package/examples/proofs/test-proof.json +0 -26
- package/examples/restful-api-dev/README.md +0 -102
- package/examples/restful-api-dev/restful-api-advanced.yml +0 -29
- package/examples/restful-api-dev/restful-api-basic.yml +0 -29
- package/examples/web-lite/.github/workflows/qa360-phase3.yml +0 -73
- package/examples/web-lite/api-mock/server.js +0 -258
- package/examples/web-lite/pack.yml +0 -71
- package/examples/web-lite/services.yml +0 -43
- package/examples/web-lite/web-content/healthz +0 -1
- package/examples/web-lite/web-content/index.html +0 -259
- package/packages/mcp/CHANGELOG.md +0 -109
- package/packages/mcp/IMPLEMENTATION_SUMMARY.md +0 -350
- package/packages/mcp/LICENSE +0 -21
- package/packages/mcp/QUICK_START.md +0 -291
- package/packages/mcp/README.md +0 -294
- package/packages/mcp/TELEMETRY.md +0 -220
- package/packages/mcp/package.json +0 -91
- package/packages/mcp/scripts/generate-sbom-fallback.cjs +0 -84
- package/packages/mcp/scripts/safe-postinstall.cjs +0 -32
- package/packages/mcp/src/__tests__/contract.test.ts +0 -902
- package/packages/mcp/src/cli/cli.ts +0 -137
- package/packages/mcp/src/cli/doctor.ts +0 -286
- package/packages/mcp/src/cli/fix.ts +0 -99
- package/packages/mcp/src/cli/init.ts +0 -233
- package/packages/mcp/src/cli/postinstall.ts +0 -14
- package/packages/mcp/src/cli/reset.ts +0 -44
- package/packages/mcp/src/cli/telemetry.ts +0 -166
- package/packages/mcp/src/cli/test-dx.ts +0 -94
- package/packages/mcp/src/cli/uninstall.ts +0 -80
- package/packages/mcp/src/cli/up.ts +0 -178
- package/packages/mcp/src/index.ts +0 -12
- package/packages/mcp/src/scripts/e2e-local.ts +0 -337
- package/packages/mcp/src/scripts/verify-settings.ts +0 -242
- package/packages/mcp/src/security/audit.ts +0 -244
- package/packages/mcp/src/security/manager.ts +0 -242
- package/packages/mcp/src/server/full-server.ts +0 -212
- package/packages/mcp/src/server/minimal-server.ts +0 -134
- package/packages/mcp/src/tools/history.ts +0 -388
- package/packages/mcp/src/tools/pack.ts +0 -449
- package/packages/mcp/src/tools/registry.ts +0 -638
- package/packages/mcp/src/tools/report.ts +0 -100
- package/packages/mcp/src/tools/run.ts +0 -268
- package/packages/mcp/src/tools/secrets.ts +0 -198
- package/packages/mcp/src/tools/serve.ts +0 -221
- package/packages/mcp/src/tools/triage.ts +0 -532
- package/packages/mcp/src/tools/types.ts +0 -26
- package/packages/mcp/src/tools/vault.ts +0 -164
- package/packages/mcp/src/tools/verify.ts +0 -166
- package/packages/mcp/src/types/index.ts +0 -311
- package/packages/mcp/src/types/mcp-stubs.ts +0 -83
- package/packages/mcp/tsconfig.json +0 -16
- package/playwright.config.ts +0 -20
- package/pnpm-workspace.yaml +0 -4
- package/run-test-and-push.sh +0 -20
- package/scripts/build-proof-cli.sh +0 -110
- package/scripts/ci/check-windows-paths.js +0 -92
- package/scripts/ci/invariants.sh +0 -124
- package/scripts/ci/make-final-bundle.js +0 -106
- package/scripts/ci/mcp-run-multipack.js +0 -305
- package/scripts/ci/run-pack-suite.sh +0 -103
- package/scripts/ci/run-phase7-final.sh +0 -190
- package/scripts/ci/slo-assert.js +0 -158
- package/scripts/ci/test-fault-tolerance.sh +0 -301
- package/scripts/install-mcp.sh +0 -66
- package/scripts/mcp-smoke.mjs +0 -27
- package/scripts/smoke.sh +0 -26
- package/scripts/stress-test.js +0 -288
- package/scripts/sync-version.mjs +0 -50
- package/scripts/validate-examples.mjs +0 -404
- package/scripts/validation/simple-pack-check.sh +0 -51
- package/scripts/validation/validate-universal-pack.mjs +0 -77
- package/scripts/verify-persistence.js +0 -127
- package/test-pack.yaml +0 -43
- package/test-results/.last-run.json +0 -4
- package/test-runner.mjs +0 -87
- package/tests/artifacts.spec.js +0 -147
- package/tests/contracts.spec.js +0 -239
- package/tests/e2e/assertions.test.mjs +0 -370
- package/tests/e2e/crawler.test.mjs +0 -451
- package/tests/e2e/playwright-plus-plus.test.mjs +0 -604
- package/tests/e2e/proof-bundle.test.mjs +0 -258
- package/tests/e2e/real-world/saucedemo.test.mjs +0 -714
- package/tests/e2e/real-world/the-internet-herokuapp.test.mjs +0 -760
- package/tests/e2e/ui-actions.test.mjs +0 -546
- package/tests/gherkin.e2e.spec.ts +0 -310
- package/tests/no-console-errors.spec.js +0 -136
- package/tests/pdf.spec.ts +0 -252
- package/tests/run-pack.spec.ts +0 -58
- package/tsconfig.base.json +0 -15
- package/tsconfig.build.json +0 -8
- package/tsconfig.json +0 -37
- package/tsconfig.test.json +0 -18
- package/typedoc.json +0 -37
- package/ui/README.md +0 -50
- package/verify-proof.mjs +0 -60
|
@@ -1,1249 +0,0 @@
|
|
|
1
|
-
# QA360 v2.1.1 - Comprehensive Test Plan
|
|
2
|
-
|
|
3
|
-
**Date** : 2026-01-10
|
|
4
|
-
**Objectif** : Couverture complète de toutes les fonctionnalités QA360
|
|
5
|
-
**Statut** : Ready for Execution
|
|
6
|
-
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
## 📊 État Actuel (Post-Beta Testing)
|
|
10
|
-
|
|
11
|
-
### ✅ Déjà testé (40% de couverture)
|
|
12
|
-
| Fonctionnalité | Statut | Score |
|
|
13
|
-
|----------------|--------|-------|
|
|
14
|
-
| `run` - API | ✅ 100% | 10/10 |
|
|
15
|
-
| `run` - UI | ✅ 67% | 7/10 |
|
|
16
|
-
| `scan` | ✅ 100% | 10/10 |
|
|
17
|
-
| `verify` | ✅ 100% | 10/10 |
|
|
18
|
-
| `history list` | ✅ 50% | 5/10 |
|
|
19
|
-
| `doctor` | ✅ 80% | 8/10 |
|
|
20
|
-
| `examples list` | ✅ 50% | 5/10 |
|
|
21
|
-
|
|
22
|
-
### ❌ À tester (60% de couverture restante)
|
|
23
|
-
Ce document couvre les fonctionnalités non testées ou partiellement testées.
|
|
24
|
-
|
|
25
|
-
---
|
|
26
|
-
|
|
27
|
-
## 🎯 Plan de Test Structuré
|
|
28
|
-
|
|
29
|
-
Les tests sont organisés par **priorité** et **catégorie**.
|
|
30
|
-
|
|
31
|
-
---
|
|
32
|
-
|
|
33
|
-
## PHASE 1: P0 - FONCTIONNALITÉS CORE (OBLIGATOIRES)
|
|
34
|
-
|
|
35
|
-
**Objectif** : Valider les fonctionnalités essentielles pour tout utilisateur
|
|
36
|
-
**Durée estimée** : 2-3 heures
|
|
37
|
-
**Critères de succès** : 100% des tests passent
|
|
38
|
-
|
|
39
|
-
### 1.1 Commande `init` - Création de Pack
|
|
40
|
-
|
|
41
|
-
**Pourquoi** : Point d'entrée principal pour les nouveaux utilisateurs
|
|
42
|
-
|
|
43
|
-
#### Test 1.1.1: Init Interactif - Template UI Basic
|
|
44
|
-
```bash
|
|
45
|
-
# Préparation
|
|
46
|
-
cd /tmp/qa360-test-init
|
|
47
|
-
rm -rf .qa360 qa360.yml
|
|
48
|
-
|
|
49
|
-
# Test interactif (simulation)
|
|
50
|
-
echo -e "test-ui-basic\nui-basic\n\nyes\nhttps://example.com" | qa360 init
|
|
51
|
-
|
|
52
|
-
# Vérifications
|
|
53
|
-
- [ ] Fichier qa360.yml créé
|
|
54
|
-
- [ ] Structure valide (version: 2)
|
|
55
|
-
- [ ] Contient gate ui-smoke
|
|
56
|
-
- [ ] baseUrl correctement configurée
|
|
57
|
-
- [ ] Lancement réussi: qa360 run
|
|
58
|
-
|
|
59
|
-
# Critères
|
|
60
|
-
- [ ] Fichier généré en < 30s
|
|
61
|
-
- [ ] YAML valide syntaxiquement
|
|
62
|
-
- [ ] Compatible avec qa360 run
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
#### Test 1.1.2: Init avec Template API
|
|
66
|
-
```bash
|
|
67
|
-
cd /tmp/qa360-test-init
|
|
68
|
-
rm -rf .qa360 qa360.yml
|
|
69
|
-
|
|
70
|
-
# Test avec flag --template
|
|
71
|
-
qa360 init --template api-basic --output api-test.yml
|
|
72
|
-
|
|
73
|
-
# Vérifications
|
|
74
|
-
- [ ] Fichier api-test.yml créé
|
|
75
|
-
- [ ] Contient gate api-smoke
|
|
76
|
-
- [ ] baseUrl configuré
|
|
77
|
-
- [ ] Test exécutable: qa360 run api-test.yml
|
|
78
|
-
```
|
|
79
|
-
|
|
80
|
-
#### Test 1.1.3: Init avec Options
|
|
81
|
-
```bash
|
|
82
|
-
# Test --force (écraser fichier existant)
|
|
83
|
-
qa360 init --template ui-basic
|
|
84
|
-
qa360 init --template ui-basic --force
|
|
85
|
-
|
|
86
|
-
# Test --beginner (mode guidé)
|
|
87
|
-
echo -e "test\n\n\n\nyes" | qa360 init --beginner
|
|
88
|
-
|
|
89
|
-
# Vérifications
|
|
90
|
-
- [ ] --force écrase sans erreur
|
|
91
|
-
- [ ] --beginner affiche des explications
|
|
92
|
-
```
|
|
93
|
-
|
|
94
|
-
#### Test 1.1.4: Init Multi-Gates
|
|
95
|
-
```bash
|
|
96
|
-
# Test création avec plusieurs gates
|
|
97
|
-
echo -e "multi-test\ncomplete\n\nyes\nhttpbin.org\n" | qa360 init
|
|
98
|
-
|
|
99
|
-
# Vérifications
|
|
100
|
-
- [ ] Plusieurs gates créés
|
|
101
|
-
- [ ] ui-smoke, api-smoke, security, a11y
|
|
102
|
-
- [ ] Lancement: qa360 run
|
|
103
|
-
```
|
|
104
|
-
|
|
105
|
-
**Résultat attendu** : Init fonctionne pour tous les templates, modes interactifs et flags.
|
|
106
|
-
|
|
107
|
-
---
|
|
108
|
-
|
|
109
|
-
### 1.2 Commande `pack` - Gestion de Configuration
|
|
110
|
-
|
|
111
|
-
**Pourquoi** : Validation et maintenance des packs de tests
|
|
112
|
-
|
|
113
|
-
#### Test 1.2.1: Pack Validate - Fichier Valide
|
|
114
|
-
```bash
|
|
115
|
-
# Créer un pack valide
|
|
116
|
-
cat > /tmp/qa360-test-pack/valid.yml << 'EOF'
|
|
117
|
-
version: 2
|
|
118
|
-
name: test-pack
|
|
119
|
-
description: Test pack validation
|
|
120
|
-
gates:
|
|
121
|
-
ui-smoke:
|
|
122
|
-
adapter: playwright-ui
|
|
123
|
-
enabled: true
|
|
124
|
-
config:
|
|
125
|
-
baseUrl: https://example.com
|
|
126
|
-
pages:
|
|
127
|
-
- url: /
|
|
128
|
-
expectedElements: ["body"]
|
|
129
|
-
execution:
|
|
130
|
-
default_timeout: 30000
|
|
131
|
-
on_failure: continue
|
|
132
|
-
EOF
|
|
133
|
-
|
|
134
|
-
# Valider
|
|
135
|
-
qa360 pack validate /tmp/qa360-test-pack/valid.yml
|
|
136
|
-
|
|
137
|
-
# Vérifications
|
|
138
|
-
- [ ] Retourne "✅ Pack is valid"
|
|
139
|
-
- [ ] Code sortie 0
|
|
140
|
-
- [ ] Aucun warning pour format v2
|
|
141
|
-
```
|
|
142
|
-
|
|
143
|
-
#### Test 1.2.2: Pack Validate - Fichier Invalide
|
|
144
|
-
```bash
|
|
145
|
-
# Créer un pack invalide
|
|
146
|
-
cat > /tmp/qa360-test-pack/invalid.yml << 'EOF'
|
|
147
|
-
version: 2
|
|
148
|
-
name: test-pack
|
|
149
|
-
gates:
|
|
150
|
-
ui-smoke:
|
|
151
|
-
adapter: playwright-ui
|
|
152
|
-
# Missing config section
|
|
153
|
-
execution:
|
|
154
|
-
default_timeout: "invalid" # Should be number
|
|
155
|
-
EOF
|
|
156
|
-
|
|
157
|
-
# Valider
|
|
158
|
-
qa360 pack validate /tmp/qa360-test-pack/invalid.yml
|
|
159
|
-
|
|
160
|
-
# Vérifications
|
|
161
|
-
- [ ] Détecte l'erreur
|
|
162
|
-
- [ ] Message clair sur ce qui est invalide
|
|
163
|
-
- [ ] Code sortie non-nul
|
|
164
|
-
```
|
|
165
|
-
|
|
166
|
-
#### Test 1.2.3: Pack Lint
|
|
167
|
-
```bash
|
|
168
|
-
# Créer un pack mal formaté
|
|
169
|
-
cat > /tmp/qa360-test-pack/messy.yml << 'EOF'
|
|
170
|
-
version:2
|
|
171
|
-
name:test-pack
|
|
172
|
-
gates:
|
|
173
|
-
ui-smoke:
|
|
174
|
-
adapter:playwright-ui
|
|
175
|
-
enabled:true
|
|
176
|
-
config:
|
|
177
|
-
baseUrl:https://example.com
|
|
178
|
-
EOF
|
|
179
|
-
|
|
180
|
-
# Lint (auto-fix)
|
|
181
|
-
qa360 pack lint /tmp/qa360-test-pack/messy.yml
|
|
182
|
-
|
|
183
|
-
# Vérifications
|
|
184
|
-
- [ ] Fichier reformatté correctement
|
|
185
|
-
- [ ] Indentation YAML standard
|
|
186
|
-
- [ ] Structure préservée
|
|
187
|
-
```
|
|
188
|
-
|
|
189
|
-
#### Test 1.2.4: Pack Migrate v1 → v2
|
|
190
|
-
```bash
|
|
191
|
-
# Créer un pack v1
|
|
192
|
-
cat > /tmp/qa360-test-pack/v1.yml << 'EOF'
|
|
193
|
-
name: test-pack
|
|
194
|
-
baseUrl: https://example.com
|
|
195
|
-
pages:
|
|
196
|
-
- https://example.com/
|
|
197
|
-
elements: [body, nav]
|
|
198
|
-
timeout: 30000
|
|
199
|
-
EOF
|
|
200
|
-
|
|
201
|
-
# Migrer
|
|
202
|
-
qa360 pack migrate /tmp/qa360-test-pack/v1.yml
|
|
203
|
-
|
|
204
|
-
# Vérifications
|
|
205
|
-
- [ ] Crée fichier v2 valide
|
|
206
|
-
- [ ] Structure convertie correctement
|
|
207
|
-
- [ ] Test migré fonctionne: qa360 run
|
|
208
|
-
```
|
|
209
|
-
|
|
210
|
-
#### Test 1.2.5: Pack Validate avec --check-files
|
|
211
|
-
```bash
|
|
212
|
-
# Créer un pack avec fichiers référencés inexistants
|
|
213
|
-
cat > /tmp/qa360-test-pack/bad-ref.yml << 'EOF'
|
|
214
|
-
version: 2
|
|
215
|
-
name: test-pack
|
|
216
|
-
gates:
|
|
217
|
-
api-smoke:
|
|
218
|
-
adapter: playwright-native-api
|
|
219
|
-
enabled: true
|
|
220
|
-
config:
|
|
221
|
-
baseUrl: https://httpbin.org
|
|
222
|
-
tests:
|
|
223
|
-
- file: /nonexistent/test.yaml # Fichier inexistant
|
|
224
|
-
EOF
|
|
225
|
-
|
|
226
|
-
# Valider avec vérification fichiers
|
|
227
|
-
qa360 pack validate /tmp/qa360-test-pack/bad-ref.yml --check-files
|
|
228
|
-
|
|
229
|
-
# Vérifications
|
|
230
|
-
- [ ] Détecte les fichiers manquants
|
|
231
|
-
- [ ] Liste les fichiers introuvables
|
|
232
|
-
```
|
|
233
|
-
|
|
234
|
-
**Résultat attendu** : Tous les outils de gestion de packs fonctionnent.
|
|
235
|
-
|
|
236
|
-
---
|
|
237
|
-
|
|
238
|
-
### 1.3 Commande `report` - Génération de Preuves
|
|
239
|
-
|
|
240
|
-
**Pourquoi** : Création de preuves vérifiables pour les audits
|
|
241
|
-
|
|
242
|
-
#### Test 1.3.1: Report JSON
|
|
243
|
-
```bash
|
|
244
|
-
# D'abord, exécuter un test
|
|
245
|
-
cd /tmp/qa360-test-report
|
|
246
|
-
qa360 scan https://example.com --auto-generate-test
|
|
247
|
-
qa360 run
|
|
248
|
-
|
|
249
|
-
# Générer rapport JSON
|
|
250
|
-
qa360 report --format json
|
|
251
|
-
|
|
252
|
-
# Vérifications
|
|
253
|
-
- [ ] Fichier JSON créé
|
|
254
|
-
- [ ] Contient signature Ed25519
|
|
255
|
-
- [ ] Contient métriques de test
|
|
256
|
-
- [ ] Structure valide
|
|
257
|
-
```
|
|
258
|
-
|
|
259
|
-
#### Test 1.3.2: Report PDF
|
|
260
|
-
```bash
|
|
261
|
-
# Générer rapport PDF
|
|
262
|
-
qa360 report --format pdf
|
|
263
|
-
|
|
264
|
-
# Vérifications
|
|
265
|
-
- [ ] Fichier PDF créé
|
|
266
|
-
- [ ] Contient résumé exécutif
|
|
267
|
-
- [ ] Signature incluse
|
|
268
|
-
- [ ] Fichier lisible (pas corrompu)
|
|
269
|
-
```
|
|
270
|
-
|
|
271
|
-
#### Test 1.3.3: Report Both
|
|
272
|
-
```bash
|
|
273
|
-
# Générer les deux formats
|
|
274
|
-
qa360 report --format both
|
|
275
|
-
|
|
276
|
-
# Vérifications
|
|
277
|
-
- [ ] JSON créé
|
|
278
|
-
- [ ] PDF créé
|
|
279
|
-
- [ ] Les deux contiennent mêmes données
|
|
280
|
-
```
|
|
281
|
-
|
|
282
|
-
#### Test 1.3.4: Report avec --run-id
|
|
283
|
-
```bash
|
|
284
|
-
# Lister les runs
|
|
285
|
-
qa360 history list
|
|
286
|
-
|
|
287
|
-
# Prendre un run ID spécifique
|
|
288
|
-
RUN_ID=$(qa360 history list | grep "run-" | head -1 | awk '{print $1}')
|
|
289
|
-
|
|
290
|
-
# Générer rapport pour ce run
|
|
291
|
-
qa360 report --run-id $RUN_ID
|
|
292
|
-
|
|
293
|
-
# Vérifications
|
|
294
|
-
- [ ] Rapport généré pour le bon run
|
|
295
|
-
- [ ] Données correctes
|
|
296
|
-
```
|
|
297
|
-
|
|
298
|
-
**Résultat attendu** : Les rapports sont générés correctement dans tous les formats.
|
|
299
|
-
|
|
300
|
-
---
|
|
301
|
-
|
|
302
|
-
### 1.4 Commande `secrets` - Gestion des Secrets
|
|
303
|
-
|
|
304
|
-
**Pourquoi** : Sécurité des credentials de test
|
|
305
|
-
|
|
306
|
-
#### Test 1.4.1: Secrets Add
|
|
307
|
-
```bash
|
|
308
|
-
cd /tmp/qa360-test-secrets
|
|
309
|
-
|
|
310
|
-
# Ajouter un secret
|
|
311
|
-
echo "mypassword123" | qa360 secrets add api-key
|
|
312
|
-
|
|
313
|
-
# Vérifications
|
|
314
|
-
- [ ] Secret stocké dans .qa360/secrets.json
|
|
315
|
-
- [ ] Secret chiffré (pas en clair dans le fichier)
|
|
316
|
-
- [ ] Confirmation affichée
|
|
317
|
-
```
|
|
318
|
-
|
|
319
|
-
#### Test 1.4.2: Secrets List
|
|
320
|
-
```bash
|
|
321
|
-
# Ajouter plusieurs secrets
|
|
322
|
-
echo "pass1" | qa360 secrets add db-password
|
|
323
|
-
echo "token123" | qa360 secrets add api-token
|
|
324
|
-
|
|
325
|
-
# Lister les secrets
|
|
326
|
-
qa360 secrets list
|
|
327
|
-
|
|
328
|
-
# Vérifications
|
|
329
|
-
- [ ] Liste tous les secrets par nom
|
|
330
|
-
- [ ] Les valeurs sont masquées (redacted)
|
|
331
|
-
- [ ] Affiche le nombre de secrets
|
|
332
|
-
```
|
|
333
|
-
|
|
334
|
-
#### Test 1.4.3: Secrets Remove
|
|
335
|
-
```bash
|
|
336
|
-
# Supprimer un secret
|
|
337
|
-
qa360 secrets remove api-key
|
|
338
|
-
|
|
339
|
-
# Vérifier qu'il n'est plus là
|
|
340
|
-
qa360 secrets list
|
|
341
|
-
|
|
342
|
-
# [ ] api-key n'apparaît plus
|
|
343
|
-
```
|
|
344
|
-
|
|
345
|
-
#### Test 1.4.4: Secrets Export
|
|
346
|
-
```bash
|
|
347
|
-
# Exporter avec valeurs redacted
|
|
348
|
-
qa360 secrets export --redacted > /tmp/secrets-redacted.json
|
|
349
|
-
|
|
350
|
-
# Vérifications
|
|
351
|
-
- [ ] Fichier créé
|
|
352
|
-
- [ ] Valeurs sont masked (ex: "***REDACTED***")
|
|
353
|
-
- [ ] Structure JSON valide
|
|
354
|
-
```
|
|
355
|
-
|
|
356
|
-
#### Test 1.4.5: Secrets Doctor
|
|
357
|
-
```bash
|
|
358
|
-
# Vérifier la santé du système de secrets
|
|
359
|
-
qa360 secrets doctor
|
|
360
|
-
|
|
361
|
-
# Vérifications
|
|
362
|
-
- [ ] Vérifie le chiffrement
|
|
363
|
-
- [ ] Vérifie l'intégrité des clés
|
|
364
|
-
- [ ] Affiche le statut de la vault
|
|
365
|
-
```
|
|
366
|
-
|
|
367
|
-
#### Test 1.4.6: Secrets dans un Test
|
|
368
|
-
```bash
|
|
369
|
-
# Créer un test qui utilise un secret
|
|
370
|
-
echo "bearer-token-123" | qa360 secrets add api-token
|
|
371
|
-
|
|
372
|
-
cat > /tmp/qa360-test-secrets/test-with-secret.yml << 'EOF'
|
|
373
|
-
version: 2
|
|
374
|
-
name: test-with-secrets
|
|
375
|
-
gates:
|
|
376
|
-
api-smoke:
|
|
377
|
-
adapter: playwright-native-api
|
|
378
|
-
enabled: true
|
|
379
|
-
config:
|
|
380
|
-
baseUrl: https://httpbin.org
|
|
381
|
-
tests:
|
|
382
|
-
- name: Test with secret
|
|
383
|
-
request:
|
|
384
|
-
url: /bearer
|
|
385
|
-
method: GET
|
|
386
|
-
headers:
|
|
387
|
-
Authorization: "Bearer {{secrets.api-token}}"
|
|
388
|
-
expect:
|
|
389
|
-
status: 200
|
|
390
|
-
EOF
|
|
391
|
-
|
|
392
|
-
# Exécuter
|
|
393
|
-
qa360 run /tmp/qa360-test-secrets/test-with-secret.yml
|
|
394
|
-
|
|
395
|
-
# Vérifications
|
|
396
|
-
- [ ] Secret injecté correctement
|
|
397
|
-
- [ ] Authentification fonctionne
|
|
398
|
-
- [ ] Secret pas visible dans les logs
|
|
399
|
-
```
|
|
400
|
-
|
|
401
|
-
**Résultat attendu** : Les secrets sont gérés de manière sécurisée.
|
|
402
|
-
|
|
403
|
-
---
|
|
404
|
-
|
|
405
|
-
## PHASE 2: P1 - SÉCURITÉ & CONFIANCE
|
|
406
|
-
|
|
407
|
-
**Objectif** : Valider le système de preuve et vérification
|
|
408
|
-
**Durée estimée** : 1-2 heures
|
|
409
|
-
**Critères de succès** : Preuves infalsifiables
|
|
410
|
-
|
|
411
|
-
### 2.1 Commande `proof` - Bundles Complets
|
|
412
|
-
|
|
413
|
-
#### Test 2.1.1: Proof Bundle Complet
|
|
414
|
-
```bash
|
|
415
|
-
cd /tmp/qa360-test-proof
|
|
416
|
-
|
|
417
|
-
# Exécuter un test
|
|
418
|
-
qa360 scan https://example.com --auto-generate-test
|
|
419
|
-
RUN_ID=$(qa360 history list | grep "run-" | head -1 | awk '{print $1}')
|
|
420
|
-
|
|
421
|
-
# Générer bundle complet
|
|
422
|
-
qa360 proof --run-id $RUN_ID
|
|
423
|
-
|
|
424
|
-
# Vérifications
|
|
425
|
-
- [ ] Bundle créé (zip ou dossier)
|
|
426
|
-
- [ ] Contient: pack.yml
|
|
427
|
-
- [ ] Contient: résultats JSON
|
|
428
|
-
- [ ] Contient: signature Ed25519
|
|
429
|
-
- [ ] Contient: métadonnées (timestamp, etc.)
|
|
430
|
-
```
|
|
431
|
-
|
|
432
|
-
#### Test 2.1.2: Proof Intégrité
|
|
433
|
-
```bash
|
|
434
|
-
# Extraire le bundle
|
|
435
|
-
unzip -l qa360-proof-bundle.zip
|
|
436
|
-
|
|
437
|
-
# Vérifier la structure
|
|
438
|
-
- [ ] proof.json existe
|
|
439
|
-
- [ ] pack.yml existe
|
|
440
|
-
- [ ] signature.json existe
|
|
441
|
-
- [ ] results/ existe avec fichiers de test
|
|
442
|
-
```
|
|
443
|
-
|
|
444
|
-
**Résultat attendu** : Bundles de preuve complets et vérifiables.
|
|
445
|
-
|
|
446
|
-
---
|
|
447
|
-
|
|
448
|
-
### 2.2 Commande `verify` - Vérification Avancée
|
|
449
|
-
|
|
450
|
-
#### Test 2.2.1: Verify Proof Complet
|
|
451
|
-
```bash
|
|
452
|
-
# Créer une preuve, la modifier, tenter vérification
|
|
453
|
-
qa360 proof --run-id $RUN_ID -o /tmp/test-proof.zip
|
|
454
|
-
|
|
455
|
-
# Modifier légèrement la preuve (simuler corruption)
|
|
456
|
-
# ... puis vérifier
|
|
457
|
-
qa360 verify /tmp/test-proof.zip
|
|
458
|
-
|
|
459
|
-
# Vérifications
|
|
460
|
-
- [ ] Détecte les modifications
|
|
461
|
-
- [ ] Signature invalide signalée
|
|
462
|
-
- [ ] Preuve rejetée
|
|
463
|
-
```
|
|
464
|
-
|
|
465
|
-
#### Test 2.2.2: Verify --verbose
|
|
466
|
-
```bash
|
|
467
|
-
# Vérifier avec détails
|
|
468
|
-
qa360 verify /tmp/test-proof.zip --verbose
|
|
469
|
-
|
|
470
|
-
# Vérifications
|
|
471
|
-
- [ ] Affiche les étapes de vérification
|
|
472
|
-
- [ ] Montre la clé publique utilisée
|
|
473
|
-
- [ ] Détaille les champs vérifiés
|
|
474
|
-
```
|
|
475
|
-
|
|
476
|
-
**Résultat attendu** : Vérification cryptographique fiable.
|
|
477
|
-
|
|
478
|
-
---
|
|
479
|
-
|
|
480
|
-
### 2.3 Commande `history` - Sous-commandes
|
|
481
|
-
|
|
482
|
-
#### Test 2.3.1: History Show
|
|
483
|
-
```bash
|
|
484
|
-
# Afficher les détails d'un run
|
|
485
|
-
RUN_ID=$(qa360 history list | head -1 | awk '{print $1}')
|
|
486
|
-
qa360 history show $RUN_ID
|
|
487
|
-
|
|
488
|
-
# Vérifications
|
|
489
|
-
- [ ] Affiche toutes les métadonnées
|
|
490
|
-
- [ ] Montre les gates et leurs statuts
|
|
491
|
-
- [ ] Affiche le Trust Score
|
|
492
|
-
- [ ] Montre la durée
|
|
493
|
-
```
|
|
494
|
-
|
|
495
|
-
#### Test 2.3.2: History Diff
|
|
496
|
-
```bash
|
|
497
|
-
# Comparer deux runs
|
|
498
|
-
RUN1=$(qa360 history list | head -1 | awk '{print $1}')
|
|
499
|
-
RUN2=$(qa360 history list | head -2 | tail -1 | awk '{print $1}')
|
|
500
|
-
|
|
501
|
-
qa360 history diff $RUN1 $RUN2
|
|
502
|
-
|
|
503
|
-
# Vérifications
|
|
504
|
-
- [ ] Affiche les différences
|
|
505
|
-
- [ ] Met en évidence les changements de statut
|
|
506
|
-
- [ ] Compare les Trust Scores
|
|
507
|
-
```
|
|
508
|
-
|
|
509
|
-
#### Test 2.3.3: History Stats
|
|
510
|
-
```bash
|
|
511
|
-
# Statistiques sur tous les runs
|
|
512
|
-
qa360 history stats
|
|
513
|
-
|
|
514
|
-
# Vérifications
|
|
515
|
-
- [ ] Nombre total de runs
|
|
516
|
-
- [ ] Taux de succès global
|
|
517
|
-
- [ ] Durée moyenne
|
|
518
|
-
- [ ] Trust Score moyen
|
|
519
|
-
```
|
|
520
|
-
|
|
521
|
-
#### Test 2.3.4: History Export
|
|
522
|
-
```bash
|
|
523
|
-
# Exporter l'historique
|
|
524
|
-
qa360 history export --format json --output /tmp/history.json
|
|
525
|
-
|
|
526
|
-
# Vérifications
|
|
527
|
-
- [ ] Fichier JSON créé
|
|
528
|
-
- [ ] Contient tous les runs
|
|
529
|
-
- [ ] Structure exploitable
|
|
530
|
-
```
|
|
531
|
-
|
|
532
|
-
**Résultat attendu** : Historique complet et analysable.
|
|
533
|
-
|
|
534
|
-
---
|
|
535
|
-
|
|
536
|
-
## PHASE 3: P2 - ANALYTICS & QUALITÉ
|
|
537
|
-
|
|
538
|
-
**Objectif** : Valider les outils d'analyse et amélioration continue
|
|
539
|
-
**Durée estimée** : 2-3 heures
|
|
540
|
-
**Critères de succès** : Insights exploitables
|
|
541
|
-
|
|
542
|
-
### 3.1 Commande `flakiness` - Tests Instables
|
|
543
|
-
|
|
544
|
-
#### Test 3.1.1: Détection de Flakiness
|
|
545
|
-
```bash
|
|
546
|
-
# Créer un test délibérément instable (non déterministe)
|
|
547
|
-
cat > /tmp/flaky-test.yml << 'EOF'
|
|
548
|
-
version: 2
|
|
549
|
-
name: flaky-test
|
|
550
|
-
gates:
|
|
551
|
-
unstable:
|
|
552
|
-
adapter: playwright-native-api
|
|
553
|
-
enabled: true
|
|
554
|
-
config:
|
|
555
|
-
baseUrl: https://httpbin.org
|
|
556
|
-
tests:
|
|
557
|
-
- name: Random test
|
|
558
|
-
request:
|
|
559
|
-
url: /random/@0-1000 # Valeur aléatoire
|
|
560
|
-
method: GET
|
|
561
|
-
expect:
|
|
562
|
-
status: 200
|
|
563
|
-
execution:
|
|
564
|
-
retries: 5
|
|
565
|
-
EOF
|
|
566
|
-
|
|
567
|
-
# Lancer plusieurs fois
|
|
568
|
-
for i in {1..10}; do
|
|
569
|
-
qa360 run /tmp/flaky-test.yml
|
|
570
|
-
done
|
|
571
|
-
|
|
572
|
-
# Analyser flakiness
|
|
573
|
-
qa360 flakiness analyze
|
|
574
|
-
|
|
575
|
-
# Vérifications
|
|
576
|
-
- [ ] Détecte les tests instables
|
|
577
|
-
- [ ] Affiche le taux de flakiness
|
|
578
|
-
- [ ] Identifie les tests problématiques
|
|
579
|
-
```
|
|
580
|
-
|
|
581
|
-
#### Test 3.1.2: Flakiness Quarantine
|
|
582
|
-
```bash
|
|
583
|
-
# Mettre en quarantaine un test instable
|
|
584
|
-
qa360 flakiness quarantine --gate unstable --reason "Random value causes failures"
|
|
585
|
-
|
|
586
|
-
# Vérifications
|
|
587
|
-
- [ ] Test marqué comme quarantiné
|
|
588
|
-
- [ ] Exclu des runs normaux
|
|
589
|
-
- [ ] Toujours exécutable avec --include-quarantine
|
|
590
|
-
```
|
|
591
|
-
|
|
592
|
-
#### Test 3.1.3: Flakiness Stats
|
|
593
|
-
```bash
|
|
594
|
-
# Statistiques de flakiness
|
|
595
|
-
qa360 flakiness stats
|
|
596
|
-
|
|
597
|
-
# Vérifications
|
|
598
|
-
- [ ] Taux de stabilité par test
|
|
599
|
-
- [ ] Historique des exécutions
|
|
600
|
-
- [ ] Recommandations
|
|
601
|
-
```
|
|
602
|
-
|
|
603
|
-
**Résultat attendu** : Détection et gestion des tests instables.
|
|
604
|
-
|
|
605
|
-
---
|
|
606
|
-
|
|
607
|
-
### 3.2 Commande `regression` - Détection de Régression
|
|
608
|
-
|
|
609
|
-
#### Test 3.2.1: Baseline Creation
|
|
610
|
-
```bash
|
|
611
|
-
# Créer une baseline de performance
|
|
612
|
-
cat > /tmp/regression-test.yml << 'EOF'
|
|
613
|
-
version: 2
|
|
614
|
-
name: perf-test
|
|
615
|
-
gates:
|
|
616
|
-
perf:
|
|
617
|
-
adapter: k6-perf
|
|
618
|
-
enabled: true
|
|
619
|
-
config:
|
|
620
|
-
baseUrl: https://example.com
|
|
621
|
-
vus: 10
|
|
622
|
-
duration: 10s
|
|
623
|
-
EOF
|
|
624
|
-
|
|
625
|
-
# Créer baseline
|
|
626
|
-
qa360 regression create-baseline --name "v1.0" --gate perf
|
|
627
|
-
|
|
628
|
-
# Vérifications
|
|
629
|
-
- [ ] Baseline stockée
|
|
630
|
-
- [ ] Contient métriques de perf
|
|
631
|
-
- [ ] Référence créée
|
|
632
|
-
```
|
|
633
|
-
|
|
634
|
-
#### Test 3.2.2: Regression Detection
|
|
635
|
-
```bash
|
|
636
|
-
# Modifier le test pour détériorer les perfs
|
|
637
|
-
# ... puis tester
|
|
638
|
-
|
|
639
|
-
qa360 regression detect --baseline "v1.0"
|
|
640
|
-
|
|
641
|
-
# Vérifications
|
|
642
|
-
- [ ] Détecte les régressions
|
|
643
|
-
- [ ] Compare avec baseline
|
|
644
|
-
- [ ] Signale les problèmes
|
|
645
|
-
```
|
|
646
|
-
|
|
647
|
-
#### Test 3.2.3: Regression Report
|
|
648
|
-
```bash
|
|
649
|
-
# Rapport de régression
|
|
650
|
-
qa360 regression report --baseline "v1.0"
|
|
651
|
-
|
|
652
|
-
# Vérifications
|
|
653
|
-
- [ ] Rapport généré
|
|
654
|
-
- [ ] Graphiques ou tableaux
|
|
655
|
-
- [ ] Recommandations
|
|
656
|
-
```
|
|
657
|
-
|
|
658
|
-
**Résultat attendu** : Détection fiable des régressions.
|
|
659
|
-
|
|
660
|
-
---
|
|
661
|
-
|
|
662
|
-
### 3.3 Commande `coverage` - Couverture de Code
|
|
663
|
-
|
|
664
|
-
#### Test 3.3.1: Coverage Report
|
|
665
|
-
```bash
|
|
666
|
-
# Générer rapport de couverture
|
|
667
|
-
qa360 coverage report
|
|
668
|
-
|
|
669
|
-
# Vérifications
|
|
670
|
-
- [ ] Couverture des gates
|
|
671
|
-
- [ ] Couverture des endpoints
|
|
672
|
-
- [ ] Pourcentage de couverture
|
|
673
|
-
```
|
|
674
|
-
|
|
675
|
-
#### Test 3.3.2: Coverage Diff
|
|
676
|
-
```bash
|
|
677
|
-
# Comparer la couverture entre deux runs
|
|
678
|
-
qa360 coverage diff --run-id $RUN1 --run-id $RUN2
|
|
679
|
-
|
|
680
|
-
# Vérifications
|
|
681
|
-
- [ ] Différentiel de couverture
|
|
682
|
-
- [ ] Parties non couvertes identifiées
|
|
683
|
-
```
|
|
684
|
-
|
|
685
|
-
**Résultat attendu** : Analytics de couverture exploitables.
|
|
686
|
-
|
|
687
|
-
---
|
|
688
|
-
|
|
689
|
-
### 3.4 Commande `retry` - Smart Retry
|
|
690
|
-
|
|
691
|
-
#### Test 3.4.1: Retry Stats
|
|
692
|
-
```bash
|
|
693
|
-
# Voir les statistiques de retry
|
|
694
|
-
qa360 retry stats
|
|
695
|
-
|
|
696
|
-
# Vérifications
|
|
697
|
-
- [ ] Taux de succès par retry
|
|
698
|
-
- [ ] Tests qui benefit le plus des retries
|
|
699
|
-
- [ ] Temps gagné/perdu par retries
|
|
700
|
-
```
|
|
701
|
-
|
|
702
|
-
#### Test 3.4.2: Retry Analyse
|
|
703
|
-
```bash
|
|
704
|
-
# Analyser les patterns de retry
|
|
705
|
-
qa360 retry analyze
|
|
706
|
-
|
|
707
|
-
# Vérifications
|
|
708
|
-
- [ ] Tests systématiquement retryés
|
|
709
|
-
- [ ] Causes d'échec fréquentes
|
|
710
|
-
- [ ] Recommandations
|
|
711
|
-
```
|
|
712
|
-
|
|
713
|
-
**Résultat attendu** : Retry intelligent F8 fonctionnel.
|
|
714
|
-
|
|
715
|
-
---
|
|
716
|
-
|
|
717
|
-
## PHASE 4: P3 - IA & AUTOMATION
|
|
718
|
-
|
|
719
|
-
**Objectif** : Valider les fonctionnalités IA
|
|
720
|
-
**Durée estimée** : 2-3 heures (requiert Ollama ou API keys)
|
|
721
|
-
**Critères de succès** : Génération fonctionnelle de tests
|
|
722
|
-
|
|
723
|
-
### 4.1 Commande `ask` - NLP Test Generation
|
|
724
|
-
|
|
725
|
-
#### Test 4.1.1: Ask Simple Request
|
|
726
|
-
```bash
|
|
727
|
-
# Test simple
|
|
728
|
-
qa360 ask "Test the homepage of example.com for broken links"
|
|
729
|
-
|
|
730
|
-
# Vérifications
|
|
731
|
-
- [ ] Génère un pack.yml
|
|
732
|
-
- [ ] Test fonctionnel
|
|
733
|
-
- [ ] Contient les éléments demandés
|
|
734
|
-
```
|
|
735
|
-
|
|
736
|
-
#### Test 4.1.2: Ask Complex Request
|
|
737
|
-
```bash
|
|
738
|
-
# Test complexe
|
|
739
|
-
qa360 ask "Create API tests for jsonplaceholder.typicode.com with users, posts and comments endpoints. Include positive and negative cases."
|
|
740
|
-
|
|
741
|
-
# Vérifications
|
|
742
|
-
- [ ] Pack multi-gates créé
|
|
743
|
-
- [ ] Tests CRUD complets
|
|
744
|
-
- [ ] Cas négatifs inclus
|
|
745
|
-
```
|
|
746
|
-
|
|
747
|
-
#### Test 4.1.3: Ask avec Provider
|
|
748
|
-
```bash
|
|
749
|
-
# Test avec différents providers
|
|
750
|
-
qa360 ask --provider ollama "Test the login form"
|
|
751
|
-
qa360 ask --provider openai "Test the login form" # si API key
|
|
752
|
-
|
|
753
|
-
# Vérifications
|
|
754
|
-
- [ ] Provider utilisé correctement
|
|
755
|
-
- [ ] Résultats cohérents
|
|
756
|
-
```
|
|
757
|
-
|
|
758
|
-
**Note**: Requiert Ollama installé ou API keys configurées.
|
|
759
|
-
|
|
760
|
-
---
|
|
761
|
-
|
|
762
|
-
### 4.2 Commande `generate` - AI Test Generation
|
|
763
|
-
|
|
764
|
-
#### Test 4.2.1: Generate depuis API Spec
|
|
765
|
-
```bash
|
|
766
|
-
# Générer depuis OpenAPI spec
|
|
767
|
-
qa360 generate --source https://petstore.swagger.io/v2/swagger.yaml \
|
|
768
|
-
--output /tmp/generated-tests.yml
|
|
769
|
-
|
|
770
|
-
# Vérifications
|
|
771
|
-
- [ ] Tests générés pour tous les endpoints
|
|
772
|
-
- [ ] Assertions appropriées
|
|
773
|
-
- [ ] Test exécutable
|
|
774
|
-
```
|
|
775
|
-
|
|
776
|
-
#### Test 4.2.2: Generate depuis Har File
|
|
777
|
-
```bash
|
|
778
|
-
# Générer depuis fichier HAR
|
|
779
|
-
qa360 generate --source /tmp/recording.har \
|
|
780
|
-
--output /tmp/from-har.yml
|
|
781
|
-
|
|
782
|
-
# Vérifications
|
|
783
|
-
- [ ] Tests E2E générés
|
|
784
|
-
- - Actions enregistrées reproductibles
|
|
785
|
-
```
|
|
786
|
-
|
|
787
|
-
**Résultat attendu** : Génération IA de tests fonctionnelle.
|
|
788
|
-
|
|
789
|
-
---
|
|
790
|
-
|
|
791
|
-
### 4.3 Commande `ai` - Provider Management
|
|
792
|
-
|
|
793
|
-
#### Test 4.3.1: AI List
|
|
794
|
-
```bash
|
|
795
|
-
# Lister les providers
|
|
796
|
-
qa360 ai list
|
|
797
|
-
|
|
798
|
-
# Vérifications
|
|
799
|
-
- [ ] Liste tous les providers disponibles
|
|
800
|
-
- [ ] Indique le statut (configuré/non configuré)
|
|
801
|
-
```
|
|
802
|
-
|
|
803
|
-
#### Test 4.3.2: AI Configure
|
|
804
|
-
```bash
|
|
805
|
-
# Configurer Ollama
|
|
806
|
-
qa360 ai configure --provider ollama --endpoint http://localhost:11434
|
|
807
|
-
|
|
808
|
-
# Configurer OpenAI (si API key)
|
|
809
|
-
qa360 ai configure --provider openai --api-key $OPENAI_API_KEY
|
|
810
|
-
|
|
811
|
-
# Vérifications
|
|
812
|
-
- [ ] Configuration sauvegardée
|
|
813
|
-
- [ ] Provider utilisable
|
|
814
|
-
```
|
|
815
|
-
|
|
816
|
-
#### Test 4.3.3: AI Test
|
|
817
|
-
```bash
|
|
818
|
-
# Tester la connexion
|
|
819
|
-
qa360 ai test --provider ollama
|
|
820
|
-
|
|
821
|
-
# Vérifications
|
|
822
|
-
- [ ] Connexion réussie
|
|
823
|
-
- [ ] Modèle disponible
|
|
824
|
-
- [ ] Latence acceptable
|
|
825
|
-
```
|
|
826
|
-
|
|
827
|
-
**Résultat attendu** : Providers IA gérés correctement.
|
|
828
|
-
|
|
829
|
-
---
|
|
830
|
-
|
|
831
|
-
## PHASE 5: P4 - MONITORING & SLO
|
|
832
|
-
|
|
833
|
-
**Objectif** : Valider les fonctionnalités de monitoring
|
|
834
|
-
**Durée estimée** : 1-2 heures
|
|
835
|
-
**Critères de succès** : Dashboard et SLO fonctionnels
|
|
836
|
-
|
|
837
|
-
### 5.1 Commande `dashboard` - Web Dashboard
|
|
838
|
-
|
|
839
|
-
#### Test 5.1.1: Dashboard Start
|
|
840
|
-
```bash
|
|
841
|
-
# Lancer le dashboard
|
|
842
|
-
qa360 dashboard --port 8080 &
|
|
843
|
-
DASHBOARD_PID=$!
|
|
844
|
-
|
|
845
|
-
# Attendre démarrage
|
|
846
|
-
sleep 5
|
|
847
|
-
|
|
848
|
-
# Vérifications
|
|
849
|
-
curl -s http://localhost:8080 | grep -q "QA360"
|
|
850
|
-
|
|
851
|
-
# [ ] Page accessible
|
|
852
|
-
# [ ] Affiche les tests
|
|
853
|
-
# [ ] Affiche les résultats
|
|
854
|
-
|
|
855
|
-
# Cleanup
|
|
856
|
-
kill $DASHBOARD_PID
|
|
857
|
-
```
|
|
858
|
-
|
|
859
|
-
#### Test 5.1.2: Dashboard avec Run
|
|
860
|
-
```bash
|
|
861
|
-
# Lancer avec run spécifique
|
|
862
|
-
RUN_ID=$(qa360 history list | head -1 | awk '{print $1}')
|
|
863
|
-
qa360 dashboard --run-id $RUN_ID --port 8081 &
|
|
864
|
-
sleep 5
|
|
865
|
-
|
|
866
|
-
# [ ] Dashboard montre les détails du run
|
|
867
|
-
|
|
868
|
-
# Cleanup
|
|
869
|
-
kill %qa360 2>/dev/null
|
|
870
|
-
```
|
|
871
|
-
|
|
872
|
-
**Résultat attendu** : Dashboard web fonctionnel.
|
|
873
|
-
|
|
874
|
-
---
|
|
875
|
-
|
|
876
|
-
### 5.2 Commande `slo` - Service Level Objectives
|
|
877
|
-
|
|
878
|
-
#### Test 5.2.1: SLO Create
|
|
879
|
-
```bash
|
|
880
|
-
# Créer un SLO
|
|
881
|
-
cat > /tmp/slo-test.yml << 'EOF'
|
|
882
|
-
version: 2
|
|
883
|
-
name: slo-test
|
|
884
|
-
gates:
|
|
885
|
-
api-slo:
|
|
886
|
-
adapter: playwright-native-api
|
|
887
|
-
enabled: true
|
|
888
|
-
config:
|
|
889
|
-
baseUrl: https://httpbin.org
|
|
890
|
-
tests:
|
|
891
|
-
- name: API SLO Test
|
|
892
|
-
request:
|
|
893
|
-
url: /delay/1
|
|
894
|
-
method: GET
|
|
895
|
-
slo:
|
|
896
|
-
duration_p95: 2000 # 95th percentile < 2s
|
|
897
|
-
duration_p99: 5000 # 99th percentile < 5s
|
|
898
|
-
EOF
|
|
899
|
-
|
|
900
|
-
# Créer SLO
|
|
901
|
-
qa360 slo create --name "api-slo" --target gate:api-slo --metric duration_p95:2000
|
|
902
|
-
|
|
903
|
-
# Vérifications
|
|
904
|
-
- [ ] SLO défini
|
|
905
|
-
- [ ] Mesures effectuées
|
|
906
|
-
- [ ] Rapport SLO généré
|
|
907
|
-
```
|
|
908
|
-
|
|
909
|
-
#### Test 5.2.2: SLO Check
|
|
910
|
-
```bash
|
|
911
|
-
# Vérifier le respect des SLO
|
|
912
|
-
qa360 slo check
|
|
913
|
-
|
|
914
|
-
# Vérifications
|
|
915
|
-
- [ ] SLOs vérifiés
|
|
916
|
-
- [ ] Violations signalées
|
|
917
|
-
- [ ] Pass/Fail clair
|
|
918
|
-
```
|
|
919
|
-
|
|
920
|
-
#### Test 5.2.3: SLO Report
|
|
921
|
-
```bash
|
|
922
|
-
# Rapport SLO
|
|
923
|
-
qa360 slo report
|
|
924
|
-
|
|
925
|
-
# Vérifications
|
|
926
|
-
- [ ] Conformité aux SLO
|
|
927
|
-
- [ ] Métriques détaillées
|
|
928
|
-
- [ ] Trends
|
|
929
|
-
```
|
|
930
|
-
|
|
931
|
-
**Résultat attendu** : SLO monitoring fonctionnel.
|
|
932
|
-
|
|
933
|
-
---
|
|
934
|
-
|
|
935
|
-
## PHASE 6: COMMANDES EXEMPLES
|
|
936
|
-
|
|
937
|
-
**Objectif** : Compléter les tests de la commande `examples`
|
|
938
|
-
**Durée estimée** : 30 minutes
|
|
939
|
-
|
|
940
|
-
### 6.1 Examples Copy
|
|
941
|
-
|
|
942
|
-
```bash
|
|
943
|
-
# Copier un exemple
|
|
944
|
-
qa360 examples copy ui-basic --output my-ui-test.yml
|
|
945
|
-
|
|
946
|
-
# Vérifications
|
|
947
|
-
- [ ] Fichier créé
|
|
948
|
-
- [ ] Contenu identique à l'exemple
|
|
949
|
-
- [ ] Test exécutable
|
|
950
|
-
```
|
|
951
|
-
|
|
952
|
-
### 6.2 Examples Show
|
|
953
|
-
|
|
954
|
-
```bash
|
|
955
|
-
# Afficher un exemple
|
|
956
|
-
qa360 examples show ui-basic
|
|
957
|
-
|
|
958
|
-
# Vérifications
|
|
959
|
-
- [ ] Affiche le contenu YAML
|
|
960
|
-
- [ ] Coloration syntaxique
|
|
961
|
-
- [ ] Explication des champs
|
|
962
|
-
```
|
|
963
|
-
|
|
964
|
-
**Résultat attendu** : Toutes les sous-commandes `examples` testées.
|
|
965
|
-
|
|
966
|
-
---
|
|
967
|
-
|
|
968
|
-
## PHASE 7: TESTS D'INTÉGRATION
|
|
969
|
-
|
|
970
|
-
**Objectif** : Valider les flux de travail complets
|
|
971
|
-
**Durée estimée** : 2 heures
|
|
972
|
-
|
|
973
|
-
### 7.1 Workflow Complet : Init → Run → Report → Verify
|
|
974
|
-
|
|
975
|
-
```bash
|
|
976
|
-
# 1. Init
|
|
977
|
-
echo -e "integration-test\ncomplete\n\nyes\nhttps://example.com" | qa360 init
|
|
978
|
-
|
|
979
|
-
# 2. Run
|
|
980
|
-
qa360 run
|
|
981
|
-
|
|
982
|
-
# 3. Report
|
|
983
|
-
qa360 report --format both
|
|
984
|
-
|
|
985
|
-
# 4. Verify
|
|
986
|
-
PROOF_FILE=$(ls -t .qa360/runs/*proof.json | head -1)
|
|
987
|
-
qa360 verify $PROOF_FILE
|
|
988
|
-
|
|
989
|
-
# Vérifications du workflow
|
|
990
|
-
- [ ] Chaque étape réussit
|
|
991
|
-
- [ ] Fichiers générés correctement
|
|
992
|
-
- [ ] Preuve vérifiable
|
|
993
|
-
```
|
|
994
|
-
|
|
995
|
-
### 7.2 Workflow avec Secrets
|
|
996
|
-
|
|
997
|
-
```bash
|
|
998
|
-
# 1. Ajouter secret
|
|
999
|
-
echo "s3cr3t" | qa360 secrets add api-key
|
|
1000
|
-
|
|
1001
|
-
# 2. Créer test avec secret
|
|
1002
|
-
cat > secret-test.yml << 'EOF'
|
|
1003
|
-
version: 2
|
|
1004
|
-
name: secret-workflow
|
|
1005
|
-
gates:
|
|
1006
|
-
test:
|
|
1007
|
-
adapter: playwright-native-api
|
|
1008
|
-
config:
|
|
1009
|
-
baseUrl: https://httpbin.org
|
|
1010
|
-
tests:
|
|
1011
|
-
- name: Auth Test
|
|
1012
|
-
request:
|
|
1013
|
-
url: /bearer
|
|
1014
|
-
method: GET
|
|
1015
|
-
headers:
|
|
1016
|
-
Authorization: "Bearer {{secrets.api-token}}"
|
|
1017
|
-
expect:
|
|
1018
|
-
status: 401 # Pas de token
|
|
1019
|
-
EOF
|
|
1020
|
-
|
|
1021
|
-
# 3. Lancer
|
|
1022
|
-
qa360 run secret-test.yml
|
|
1023
|
-
|
|
1024
|
-
# 4. Nettoyer
|
|
1025
|
-
qa360 secrets remove api-key
|
|
1026
|
-
```
|
|
1027
|
-
|
|
1028
|
-
### 7.3 Workflow Multi-Gates
|
|
1029
|
-
|
|
1030
|
-
```bash
|
|
1031
|
-
# Créer un pack multi-gates complet
|
|
1032
|
-
echo -e "multi\ncomplete\n\nyes\nhttps://example.com" | qa360 init
|
|
1033
|
-
|
|
1034
|
-
# Lancer tous les tests
|
|
1035
|
-
qa360 run
|
|
1036
|
-
|
|
1037
|
-
# Vérifier que tous les gates passent
|
|
1038
|
-
- [ ] ui-smoke: OK
|
|
1039
|
-
- [ ] api-smoke: OK
|
|
1040
|
-
- [ ] a11y: OK
|
|
1041
|
-
- [ ] security: OK
|
|
1042
|
-
```
|
|
1043
|
-
|
|
1044
|
-
---
|
|
1045
|
-
|
|
1046
|
-
## PHASE 8: TESTS DE PERFORMANCE
|
|
1047
|
-
|
|
1048
|
-
**Objectif** : Valider les performances de QA360 lui-même
|
|
1049
|
-
**Durée estimée** : 1 heure
|
|
1050
|
-
|
|
1051
|
-
### 8.1 Performance de Scan
|
|
1052
|
-
|
|
1053
|
-
```bash
|
|
1054
|
-
# Mesurer les temps de scan
|
|
1055
|
-
time qa360 scan https://example.com
|
|
1056
|
-
time qa360 scan https://github.com
|
|
1057
|
-
time qa360 scan https://amazon.com
|
|
1058
|
-
|
|
1059
|
-
# Critères
|
|
1060
|
-
- [ ] Scan simple < 5s
|
|
1061
|
-
- [ ] Scan complexe < 10s
|
|
1062
|
-
- [ ] Pas de fuite mémoire
|
|
1063
|
-
```
|
|
1064
|
-
|
|
1065
|
-
### 8.2 Performance d'Exécution
|
|
1066
|
-
|
|
1067
|
-
```bash
|
|
1068
|
-
# Créer un pack avec 50 tests
|
|
1069
|
-
# ... exécuter et mesurer
|
|
1070
|
-
time qa360 run
|
|
1071
|
-
|
|
1072
|
-
# Critères
|
|
1073
|
-
- [ ] 50 tests < 60s
|
|
1074
|
-
- [ ] Mémoire stable
|
|
1075
|
-
- [ ] CPU raisonnable
|
|
1076
|
-
```
|
|
1077
|
-
|
|
1078
|
-
### 8.3 Performance de Reporting
|
|
1079
|
-
|
|
1080
|
-
```bash
|
|
1081
|
-
# Générer rapport volumineux
|
|
1082
|
-
time qa360 report --format both
|
|
1083
|
-
|
|
1084
|
-
# Critères
|
|
1085
|
-
- [ ] Génération < 5s
|
|
1086
|
-
- [ ] PDF taille raisonnable
|
|
1087
|
-
```
|
|
1088
|
-
|
|
1089
|
-
---
|
|
1090
|
-
|
|
1091
|
-
## PHASE 9: TESTS DE RÉSISTANCE
|
|
1092
|
-
|
|
1093
|
-
**Objectif** : Valider la robustesse de QA360
|
|
1094
|
-
**Durée estimée** : 1 heure
|
|
1095
|
-
|
|
1096
|
-
### 9.1 Gestion des Erreurs
|
|
1097
|
-
|
|
1098
|
-
```bash
|
|
1099
|
-
# Test avec URL invalide
|
|
1100
|
-
qa360 scan https://this-domain-does-not-exist-12345.com
|
|
1101
|
-
# [ ] Erreur claire, pas de crash
|
|
1102
|
-
|
|
1103
|
-
# Test avec timeout
|
|
1104
|
-
timeout 10s qa360 scan https://slow-site.com
|
|
1105
|
-
# [ ] Timeout géré proprement
|
|
1106
|
-
|
|
1107
|
-
# Test avec fichier corrompu
|
|
1108
|
-
echo "invalid yaml content" > invalid.yml
|
|
1109
|
-
qa360 run invalid.yml
|
|
1110
|
-
# [ ] Erreur de parsing informative
|
|
1111
|
-
```
|
|
1112
|
-
|
|
1113
|
-
### 9.2 Gestion des Ressources
|
|
1114
|
-
|
|
1115
|
-
```bash
|
|
1116
|
-
# Test avec mémoire limitée
|
|
1117
|
-
ulimit -v 2097152 # 2GB limit
|
|
1118
|
-
qa360 run
|
|
1119
|
-
|
|
1120
|
-
# [ ] Pas de Out of Memory
|
|
1121
|
-
# [ ] Comportement gracieux
|
|
1122
|
-
```
|
|
1123
|
-
|
|
1124
|
-
---
|
|
1125
|
-
|
|
1126
|
-
## 📊 MATRICE DE COUVERTURE
|
|
1127
|
-
|
|
1128
|
-
### Matrice des Commandes
|
|
1129
|
-
|
|
1130
|
-
| Commande | Sous-commandes | Statut | Phase |
|
|
1131
|
-
|----------|---------------|--------|-------|
|
|
1132
|
-
| `init` | - | ❌ | P0 |
|
|
1133
|
-
| `run` | - | ✅ | Done |
|
|
1134
|
-
| `scan` | - | ✅ | Done |
|
|
1135
|
-
| `ask` | - | ❌ | P3 |
|
|
1136
|
-
| `preflight` | - | ⚠️ | N/A |
|
|
1137
|
-
| `report` | - | ❌ | P0 |
|
|
1138
|
-
| `verify` | - | ✅ | Done |
|
|
1139
|
-
| `explain` | - | ❌ | P2 |
|
|
1140
|
-
| `pack` | validate, lint, migrate | ❌ | P0 |
|
|
1141
|
-
| `secrets` | add, list, remove, doctor, export | ❌ | P0 |
|
|
1142
|
-
| `proof` | - | ❌ | P1 |
|
|
1143
|
-
| `history` | list, show, diff, stats, export | ⚠️ | P1 |
|
|
1144
|
-
| `flakiness` | - | ❌ | P2 |
|
|
1145
|
-
| `ai` | - | ❌ | P3 |
|
|
1146
|
-
| `generate` | - | ❌ | P3 |
|
|
1147
|
-
| `dashboard` | - | ❌ | P4 |
|
|
1148
|
-
| `coverage` | - | ❌ | P2 |
|
|
1149
|
-
| `slo` | - | ❌ | P4 |
|
|
1150
|
-
| `regression` | - | ❌ | P2 |
|
|
1151
|
-
| `retry` | - | ❌ | P2 |
|
|
1152
|
-
| `crawl` | - | ❌ | Bug |
|
|
1153
|
-
| `examples` | list, copy, show | ⚠️ | P0 |
|
|
1154
|
-
| `doctor` | - | ✅ | Done |
|
|
1155
|
-
| `help` | - | ❌ | Trivial |
|
|
1156
|
-
|
|
1157
|
-
---
|
|
1158
|
-
|
|
1159
|
-
## 📋 CHECKLIST D'EXÉCUTION
|
|
1160
|
-
|
|
1161
|
-
### Avant de commencer
|
|
1162
|
-
- [ ] Installer QA360 v2.1.1: `npm install -g qa360@latest`
|
|
1163
|
-
- [ ] Installer Playwright browsers: `playwright install`
|
|
1164
|
-
- [ ] Créer dossier de travail: `mkdir -p ~/qa360-test && cd ~/qa360-test`
|
|
1165
|
-
- [ ] Vérifier installation: `qa360 --version`
|
|
1166
|
-
|
|
1167
|
-
### Pendant les tests
|
|
1168
|
-
Pour chaque test, documenter :
|
|
1169
|
-
- [ ] Date et heure
|
|
1170
|
-
- [ ] Résultat (Pass/Fail)
|
|
1171
|
-
- [ ] Durée
|
|
1172
|
-
- [ ] Notes/Observations
|
|
1173
|
-
- [ ] Screenshots si applicable
|
|
1174
|
-
|
|
1175
|
-
### Rapport final
|
|
1176
|
-
- [ ] Résumer les résultats par phase
|
|
1177
|
-
- [ ] Calculer le taux de réussite global
|
|
1178
|
-
- [ ] Identifier les bugs bloquants
|
|
1179
|
-
- [ ] Recommandations de priorisation
|
|
1180
|
-
|
|
1181
|
-
---
|
|
1182
|
-
|
|
1183
|
-
## 🎯 CRITÈRES DE VALIDATION
|
|
1184
|
-
|
|
1185
|
-
### Validation Phase (Go/No-Go)
|
|
1186
|
-
|
|
1187
|
-
Une phase est validée si :
|
|
1188
|
-
- **✅ GO**: Tous les tests passent (100%)
|
|
1189
|
-
- **⚠️ GO avec réserves**: Tests majeurs passent, bugs mineurs
|
|
1190
|
-
- **❌ NO-GO**: Tests majeurs échouent, bugs bloquants
|
|
1191
|
-
|
|
1192
|
-
### Validation Globale
|
|
1193
|
-
|
|
1194
|
-
Le QA360 v2.1.1 est **Production-Ready** si :
|
|
1195
|
-
- [ ] Toutes les phases P0 passent à 100%
|
|
1196
|
-
- [ ] Au moins 80% des phases P1 passent
|
|
1197
|
-
- [ ] Pas de bugs P0 critiques non résolus
|
|
1198
|
-
|
|
1199
|
-
---
|
|
1200
|
-
|
|
1201
|
-
## 📝 TEMPLATE DE RAPPORT DE TEST
|
|
1202
|
-
|
|
1203
|
-
```markdown
|
|
1204
|
-
## Test Report - [Nom du Test]
|
|
1205
|
-
|
|
1206
|
-
**Date** :
|
|
1207
|
-
**Phase** :
|
|
1208
|
-
**Commande** :
|
|
1209
|
-
|
|
1210
|
-
### Résultat
|
|
1211
|
-
- [ ] Pass
|
|
1212
|
-
- [ ] Fail
|
|
1213
|
-
|
|
1214
|
-
### Durée
|
|
1215
|
-
- Attendue :
|
|
1216
|
-
- Réelle :
|
|
1217
|
-
- Écart :
|
|
1218
|
-
|
|
1219
|
-
### Observations
|
|
1220
|
-
-
|
|
1221
|
-
|
|
1222
|
-
### Bugs Découverts
|
|
1223
|
-
1.
|
|
1224
|
-
|
|
1225
|
-
### Preuves
|
|
1226
|
-
- Screenshot :
|
|
1227
|
-
- Fichier généré :
|
|
1228
|
-
```
|
|
1229
|
-
|
|
1230
|
-
---
|
|
1231
|
-
|
|
1232
|
-
## 🚀 PLAN D'EXÉCUTION
|
|
1233
|
-
|
|
1234
|
-
### Ordre recommandé :
|
|
1235
|
-
1. **Phase P0** (Core) → 2-3 heures
|
|
1236
|
-
2. **Phase P1** (Sécurité) → 1-2 heures
|
|
1237
|
-
3. **Phase P2** (Analytics) → 2-3 heures
|
|
1238
|
-
4. **Phase P0 restant** (Examples) → 30 min
|
|
1239
|
-
5. **Phase P3** (IA) → 2-3 heures
|
|
1240
|
-
6. **Phase P4** (Monitoring) → 1-2 heures
|
|
1241
|
-
7. **Phase 7** (Intégration) → 2 heures
|
|
1242
|
-
8. **Phase 8** (Performance) → 1 heure
|
|
1243
|
-
9. **Phase 9** (Résistance) → 1 heure
|
|
1244
|
-
|
|
1245
|
-
**Total estimé** : 15-20 heures de testing
|
|
1246
|
-
|
|
1247
|
-
---
|
|
1248
|
-
|
|
1249
|
-
**Note** : Ce plan est conçu pour être exécuté de manière itérative. Chaque test peut être exécuté indépendamment. Les résultats doivent être documentés dans un rapport final.
|