@agentic-qe/v3 3.0.0-alpha.6 → 3.0.0-alpha.8
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.
- package/assets/agents/v3/subagents/v3-qe-code-reviewer.md +339 -0
- package/assets/agents/v3/subagents/v3-qe-integration-reviewer.md +344 -0
- package/assets/agents/v3/subagents/v3-qe-performance-reviewer.md +351 -0
- package/assets/agents/v3/subagents/v3-qe-security-reviewer.md +374 -0
- package/assets/agents/v3/subagents/v3-qe-tdd-green.md +334 -0
- package/assets/agents/v3/subagents/v3-qe-tdd-red.md +329 -0
- package/assets/agents/v3/subagents/v3-qe-tdd-refactor.md +361 -0
- package/assets/agents/v3/v3-qe-accessibility-auditor.md +266 -0
- package/assets/agents/v3/v3-qe-bdd-generator.md +279 -0
- package/assets/agents/v3/v3-qe-chaos-engineer.md +265 -0
- package/assets/agents/v3/v3-qe-code-complexity.md +298 -0
- package/assets/agents/v3/v3-qe-code-intelligence.md +262 -0
- package/assets/agents/v3/v3-qe-contract-validator.md +267 -0
- package/assets/agents/v3/v3-qe-coverage-specialist.md +227 -0
- package/assets/agents/v3/v3-qe-defect-predictor.md +251 -0
- package/assets/agents/v3/v3-qe-dependency-mapper.md +277 -0
- package/assets/agents/v3/v3-qe-deployment-advisor.md +275 -0
- package/assets/agents/v3/v3-qe-flaky-hunter.md +248 -0
- package/assets/agents/v3/v3-qe-fleet-commander.md +293 -0
- package/assets/agents/v3/v3-qe-gap-detector.md +260 -0
- package/assets/agents/v3/v3-qe-graphql-tester.md +308 -0
- package/assets/agents/v3/v3-qe-impact-analyzer.md +299 -0
- package/assets/agents/v3/v3-qe-integration-tester.md +238 -0
- package/assets/agents/v3/v3-qe-kg-builder.md +273 -0
- package/assets/agents/v3/v3-qe-learning-coordinator.md +226 -0
- package/assets/agents/v3/v3-qe-load-tester.md +280 -0
- package/assets/agents/v3/v3-qe-metrics-optimizer.md +300 -0
- package/assets/agents/v3/v3-qe-mutation-tester.md +301 -0
- package/assets/agents/v3/v3-qe-parallel-executor.md +240 -0
- package/assets/agents/v3/v3-qe-pattern-learner.md +271 -0
- package/assets/agents/v3/v3-qe-performance-tester.md +262 -0
- package/assets/agents/v3/v3-qe-property-tester.md +247 -0
- package/assets/agents/v3/v3-qe-quality-gate.md +218 -0
- package/assets/agents/v3/v3-qe-queen-coordinator.md +214 -0
- package/assets/agents/v3/v3-qe-qx-partner.md +313 -0
- package/assets/agents/v3/v3-qe-regression-analyzer.md +322 -0
- package/assets/agents/v3/v3-qe-requirements-validator.md +360 -0
- package/assets/agents/v3/v3-qe-responsive-tester.md +311 -0
- package/assets/agents/v3/v3-qe-retry-handler.md +256 -0
- package/assets/agents/v3/v3-qe-risk-assessor.md +273 -0
- package/assets/agents/v3/v3-qe-root-cause-analyzer.md +286 -0
- package/assets/agents/v3/v3-qe-security-auditor.md +299 -0
- package/assets/agents/v3/v3-qe-security-scanner.md +235 -0
- package/assets/agents/v3/v3-qe-tdd-specialist.md +239 -0
- package/assets/agents/v3/v3-qe-test-architect.md +233 -0
- package/assets/agents/v3/v3-qe-transfer-specialist.md +295 -0
- package/assets/agents/v3/v3-qe-visual-tester.md +232 -0
- package/assets/skills/accessibility-testing/SKILL.md +216 -0
- package/assets/skills/agentdb-advanced/SKILL.md +550 -0
- package/assets/skills/agentdb-learning/SKILL.md +545 -0
- package/assets/skills/agentdb-memory-patterns/SKILL.md +339 -0
- package/assets/skills/agentdb-optimization/SKILL.md +509 -0
- package/assets/skills/agentdb-vector-search/SKILL.md +339 -0
- package/assets/skills/agentic-jujutsu/SKILL.md +645 -0
- package/assets/skills/agentic-quality-engineering/SKILL.md +335 -0
- package/assets/skills/api-testing-patterns/SKILL.md +294 -0
- package/assets/skills/aqe-v2-v3-migration/skill.md +322 -0
- package/assets/skills/brutal-honesty-review/README.md +218 -0
- package/assets/skills/brutal-honesty-review/SKILL.md +235 -0
- package/assets/skills/brutal-honesty-review/resources/assessment-rubrics.md +295 -0
- package/assets/skills/brutal-honesty-review/resources/review-template.md +102 -0
- package/assets/skills/brutal-honesty-review/scripts/assess-code.sh +179 -0
- package/assets/skills/brutal-honesty-review/scripts/assess-tests.sh +223 -0
- package/assets/skills/bug-reporting-excellence/SKILL.md +225 -0
- package/assets/skills/chaos-engineering-resilience/SKILL.md +158 -0
- package/assets/skills/cicd-pipeline-qe-orchestrator/README.md +304 -0
- package/assets/skills/cicd-pipeline-qe-orchestrator/SKILL.md +315 -0
- package/assets/skills/cicd-pipeline-qe-orchestrator/resources/workflows/microservice-pipeline.md +239 -0
- package/assets/skills/cicd-pipeline-qe-orchestrator/resources/workflows/mobile-pipeline.md +375 -0
- package/assets/skills/cicd-pipeline-qe-orchestrator/resources/workflows/monolith-pipeline.md +268 -0
- package/assets/skills/code-review-quality/SKILL.md +227 -0
- package/assets/skills/compatibility-testing/SKILL.md +205 -0
- package/assets/skills/compliance-testing/SKILL.md +225 -0
- package/assets/skills/consultancy-practices/SKILL.md +202 -0
- package/assets/skills/context-driven-testing/SKILL.md +196 -0
- package/assets/skills/contract-testing/SKILL.md +222 -0
- package/assets/skills/database-testing/SKILL.md +244 -0
- package/assets/skills/exploratory-testing-advanced/SKILL.md +201 -0
- package/assets/skills/flow-nexus-neural/SKILL.md +738 -0
- package/assets/skills/flow-nexus-platform/SKILL.md +1157 -0
- package/assets/skills/flow-nexus-swarm/SKILL.md +610 -0
- package/assets/skills/github-code-review/SKILL.md +1140 -0
- package/assets/skills/github-multi-repo/SKILL.md +874 -0
- package/assets/skills/github-project-management/SKILL.md +1277 -0
- package/assets/skills/github-release-management/SKILL.md +1081 -0
- package/assets/skills/github-workflow-automation/SKILL.md +1065 -0
- package/assets/skills/hive-mind-advanced/SKILL.md +712 -0
- package/assets/skills/holistic-testing-pact/SKILL.md +171 -0
- package/assets/skills/hooks-automation/SKILL.md +1201 -0
- package/assets/skills/localization-testing/SKILL.md +221 -0
- package/assets/skills/mobile-testing/SKILL.md +219 -0
- package/assets/skills/mutation-testing/SKILL.md +229 -0
- package/assets/skills/n8n-expression-testing/SKILL.md +434 -0
- package/assets/skills/n8n-integration-testing-patterns/SKILL.md +540 -0
- package/assets/skills/n8n-security-testing/SKILL.md +599 -0
- package/assets/skills/n8n-trigger-testing-strategies/SKILL.md +541 -0
- package/assets/skills/n8n-workflow-testing-fundamentals/SKILL.md +447 -0
- package/assets/skills/pair-programming/SKILL.md +1202 -0
- package/assets/skills/performance-analysis/SKILL.md +563 -0
- package/assets/skills/performance-testing/SKILL.md +310 -0
- package/assets/skills/quality-metrics/SKILL.md +225 -0
- package/assets/skills/reasoningbank-agentdb/SKILL.md +446 -0
- package/assets/skills/reasoningbank-intelligence/SKILL.md +201 -0
- package/assets/skills/refactoring-patterns/SKILL.md +205 -0
- package/assets/skills/regression-testing/SKILL.md +227 -0
- package/assets/skills/risk-based-testing/SKILL.md +206 -0
- package/assets/skills/security-testing/SKILL.md +306 -0
- package/assets/skills/sherlock-review/SKILL.md +250 -0
- package/assets/skills/shift-left-testing/SKILL.md +225 -0
- package/assets/skills/shift-right-testing/SKILL.md +227 -0
- package/assets/skills/six-thinking-hats/README.md +190 -0
- package/assets/skills/six-thinking-hats/SKILL.md +280 -0
- package/assets/skills/six-thinking-hats/resources/examples/api-testing-example.md +345 -0
- package/assets/skills/six-thinking-hats/resources/templates/solo-session-template.md +167 -0
- package/assets/skills/six-thinking-hats/resources/templates/team-session-template.md +336 -0
- package/assets/skills/skill-builder/SKILL.md +910 -0
- package/assets/skills/sparc-methodology/SKILL.md +1115 -0
- package/assets/skills/stream-chain/SKILL.md +563 -0
- package/assets/skills/swarm-advanced/SKILL.md +973 -0
- package/assets/skills/swarm-orchestration/SKILL.md +179 -0
- package/assets/skills/tdd-london-chicago/SKILL.md +244 -0
- package/assets/skills/technical-writing/SKILL.md +178 -0
- package/assets/skills/test-automation-strategy/SKILL.md +230 -0
- package/assets/skills/test-data-management/SKILL.md +270 -0
- package/assets/skills/test-design-techniques/SKILL.md +244 -0
- package/assets/skills/test-environment-management/SKILL.md +243 -0
- package/assets/skills/test-reporting-analytics/SKILL.md +214 -0
- package/assets/skills/testability-scoring/README.md +71 -0
- package/assets/skills/testability-scoring/SKILL.md +346 -0
- package/assets/skills/testability-scoring/resources/templates/config.template.js +84 -0
- package/assets/skills/testability-scoring/resources/templates/testability-scoring.spec.template.js +532 -0
- package/assets/skills/testability-scoring/scripts/generate-html-report.js +1007 -0
- package/assets/skills/testability-scoring/scripts/run-assessment.sh +70 -0
- package/assets/skills/v3-qe-chaos-resilience/SKILL.md +238 -0
- package/assets/skills/v3-qe-code-intelligence/SKILL.md +209 -0
- package/assets/skills/v3-qe-contract-testing/SKILL.md +218 -0
- package/assets/skills/v3-qe-coverage-analysis/SKILL.md +187 -0
- package/assets/skills/v3-qe-defect-intelligence/SKILL.md +205 -0
- package/assets/skills/v3-qe-learning-optimization/SKILL.md +238 -0
- package/assets/skills/v3-qe-quality-assessment/SKILL.md +213 -0
- package/assets/skills/v3-qe-requirements-validation/SKILL.md +248 -0
- package/assets/skills/v3-qe-test-execution/SKILL.md +182 -0
- package/assets/skills/v3-qe-test-generation/SKILL.md +141 -0
- package/assets/skills/v3-qe-visual-accessibility/SKILL.md +242 -0
- package/assets/skills/verification-quality/SKILL.md +649 -0
- package/assets/skills/visual-testing-advanced/SKILL.md +219 -0
- package/assets/skills/xp-practices/SKILL.md +229 -0
- package/dist/cli/bundle.js +23 -13
- package/dist/init/agents-installer.js +4 -4
- package/dist/init/agents-installer.js.map +1 -1
- package/dist/init/init-wizard.d.ts.map +1 -1
- package/dist/init/init-wizard.js +15 -5
- package/dist/init/init-wizard.js.map +1 -1
- package/dist/init/skills-installer.js +4 -4
- package/dist/init/skills-installer.js.map +1 -1
- package/package.json +7 -1
- package/docs/analysis/V3-INIT-REQUIREMENTS-ANALYSIS.md +0 -352
- package/implementation/README.md +0 -90
- package/implementation/adrs/ADR-030-coherence-gated-quality-gates.md +0 -312
- package/implementation/adrs/ADR-031-strange-loop-self-awareness.md +0 -484
- package/implementation/adrs/ADR-032-time-crystal-scheduling.md +0 -530
- package/implementation/adrs/ADR-033-early-exit-testing.md +0 -634
- package/implementation/adrs/ADR-034-neural-topology-optimizer.md +0 -589
- package/implementation/adrs/ADR-035-causal-discovery.md +0 -610
- package/implementation/adrs/ADR-036-result-persistence.md +0 -326
- package/implementation/adrs/ADR-037-v3-qe-agent-naming.md +0 -105
- package/implementation/adrs/ADR-038-v3-qe-memory-unification.md +0 -154
- package/implementation/adrs/ADR-039-v3-qe-mcp-optimization.md +0 -179
- package/implementation/adrs/ADR-040-v3-qe-agentic-flow-integration.md +0 -240
- package/implementation/adrs/ADR-041-v3-qe-cli-enhancement.md +0 -296
- package/implementation/adrs/ADR-042-v3-qe-token-tracking-integration.md +0 -517
- package/implementation/adrs/v3-adrs.md +0 -2783
- package/implementation/planning/AQE-V3-MASTER-PLAN.md +0 -815
- package/security-scan-report-2026-01-11.md +0 -410
- package/security-verification-report-2026-01-11.md +0 -278
- package/src/benchmarks/performance-benchmarks.ts +0 -646
- package/src/benchmarks/run-benchmarks.ts +0 -324
- package/src/causal-discovery/causal-graph.ts +0 -450
- package/src/causal-discovery/discovery-engine.ts +0 -438
- package/src/causal-discovery/index.ts +0 -117
- package/src/causal-discovery/types.ts +0 -456
- package/src/causal-discovery/weight-matrix.ts +0 -453
- package/src/cli/commands/qe-tools.ts +0 -634
- package/src/cli/index.ts +0 -1976
- package/src/compatibility/agent-mapper.ts +0 -291
- package/src/compatibility/cli-adapter.ts +0 -277
- package/src/compatibility/config-migrator.ts +0 -334
- package/src/compatibility/index.ts +0 -112
- package/src/compatibility/mcp-adapter.ts +0 -248
- package/src/compatibility/types.ts +0 -156
- package/src/coordination/claims/claim-repository.ts +0 -636
- package/src/coordination/claims/claim-service.ts +0 -675
- package/src/coordination/claims/handoff-manager.ts +0 -535
- package/src/coordination/claims/index.ts +0 -276
- package/src/coordination/claims/interfaces.ts +0 -687
- package/src/coordination/claims/work-stealing.ts +0 -436
- package/src/coordination/cross-domain-router.ts +0 -492
- package/src/coordination/index.ts +0 -127
- package/src/coordination/interfaces.ts +0 -691
- package/src/coordination/protocol-executor.ts +0 -760
- package/src/coordination/protocols/code-intelligence-index.ts +0 -855
- package/src/coordination/protocols/defect-investigation.ts +0 -1184
- package/src/coordination/protocols/index.ts +0 -11
- package/src/coordination/protocols/learning-consolidation.ts +0 -1181
- package/src/coordination/protocols/morning-sync.ts +0 -1055
- package/src/coordination/protocols/quality-gate.ts +0 -1566
- package/src/coordination/protocols/security-audit.ts +0 -1587
- package/src/coordination/queen-coordinator.ts +0 -1176
- package/src/coordination/result-saver.ts +0 -780
- package/src/coordination/task-executor.ts +0 -1146
- package/src/coordination/workflow-orchestrator.ts +0 -1917
- package/src/domains/chaos-resilience/coordinator.ts +0 -1032
- package/src/domains/chaos-resilience/index.ts +0 -143
- package/src/domains/chaos-resilience/interfaces.ts +0 -659
- package/src/domains/chaos-resilience/plugin.ts +0 -691
- package/src/domains/chaos-resilience/services/chaos-engineer.ts +0 -1097
- package/src/domains/chaos-resilience/services/index.ts +0 -19
- package/src/domains/chaos-resilience/services/load-tester.ts +0 -799
- package/src/domains/chaos-resilience/services/performance-profiler.ts +0 -792
- package/src/domains/code-intelligence/coordinator.ts +0 -631
- package/src/domains/code-intelligence/index.ts +0 -86
- package/src/domains/code-intelligence/interfaces.ts +0 -162
- package/src/domains/code-intelligence/plugin.ts +0 -451
- package/src/domains/code-intelligence/services/impact-analyzer.ts +0 -567
- package/src/domains/code-intelligence/services/index.ts +0 -26
- package/src/domains/code-intelligence/services/knowledge-graph.ts +0 -1067
- package/src/domains/code-intelligence/services/semantic-analyzer.ts +0 -901
- package/src/domains/contract-testing/coordinator.ts +0 -1038
- package/src/domains/contract-testing/index.ts +0 -122
- package/src/domains/contract-testing/interfaces.ts +0 -458
- package/src/domains/contract-testing/plugin.ts +0 -746
- package/src/domains/contract-testing/services/api-compatibility.ts +0 -748
- package/src/domains/contract-testing/services/contract-validator.ts +0 -1700
- package/src/domains/contract-testing/services/index.ts +0 -19
- package/src/domains/contract-testing/services/schema-validator.ts +0 -1102
- package/src/domains/coverage-analysis/coordinator.ts +0 -485
- package/src/domains/coverage-analysis/index.ts +0 -114
- package/src/domains/coverage-analysis/interfaces.ts +0 -142
- package/src/domains/coverage-analysis/plugin.ts +0 -172
- package/src/domains/coverage-analysis/services/coverage-analyzer.ts +0 -449
- package/src/domains/coverage-analysis/services/coverage-embedder.ts +0 -733
- package/src/domains/coverage-analysis/services/coverage-parser.ts +0 -753
- package/src/domains/coverage-analysis/services/gap-detector.ts +0 -592
- package/src/domains/coverage-analysis/services/hnsw-index.ts +0 -728
- package/src/domains/coverage-analysis/services/index.ts +0 -61
- package/src/domains/coverage-analysis/services/risk-scorer.ts +0 -540
- package/src/domains/coverage-analysis/services/sublinear-analyzer.ts +0 -747
- package/src/domains/defect-intelligence/coordinator.ts +0 -635
- package/src/domains/defect-intelligence/index.ts +0 -83
- package/src/domains/defect-intelligence/interfaces.ts +0 -152
- package/src/domains/defect-intelligence/plugin.ts +0 -483
- package/src/domains/defect-intelligence/services/causal-root-cause-analyzer.ts +0 -494
- package/src/domains/defect-intelligence/services/defect-predictor.ts +0 -852
- package/src/domains/defect-intelligence/services/index.ts +0 -37
- package/src/domains/defect-intelligence/services/pattern-learner.ts +0 -738
- package/src/domains/defect-intelligence/services/root-cause-analyzer.ts +0 -637
- package/src/domains/domain-interface.ts +0 -77
- package/src/domains/index.ts +0 -23
- package/src/domains/learning-optimization/coordinator.ts +0 -1215
- package/src/domains/learning-optimization/index.ts +0 -127
- package/src/domains/learning-optimization/interfaces.ts +0 -570
- package/src/domains/learning-optimization/plugin.ts +0 -851
- package/src/domains/learning-optimization/services/index.ts +0 -29
- package/src/domains/learning-optimization/services/learning-coordinator.ts +0 -972
- package/src/domains/learning-optimization/services/metrics-optimizer.ts +0 -915
- package/src/domains/learning-optimization/services/production-intel.ts +0 -971
- package/src/domains/learning-optimization/services/transfer-specialist.ts +0 -723
- package/src/domains/quality-assessment/coherence/gate-controller.ts +0 -549
- package/src/domains/quality-assessment/coherence/index.ts +0 -211
- package/src/domains/quality-assessment/coherence/lambda-calculator.ts +0 -384
- package/src/domains/quality-assessment/coherence/partition-detector.ts +0 -469
- package/src/domains/quality-assessment/coherence/types.ts +0 -384
- package/src/domains/quality-assessment/coordinator.ts +0 -605
- package/src/domains/quality-assessment/index.ts +0 -97
- package/src/domains/quality-assessment/interfaces.ts +0 -152
- package/src/domains/quality-assessment/plugin.ts +0 -496
- package/src/domains/quality-assessment/services/coherence-gate.ts +0 -358
- package/src/domains/quality-assessment/services/deployment-advisor.ts +0 -571
- package/src/domains/quality-assessment/services/index.ts +0 -34
- package/src/domains/quality-assessment/services/quality-analyzer.ts +0 -670
- package/src/domains/quality-assessment/services/quality-gate.ts +0 -384
- package/src/domains/requirements-validation/coordinator.ts +0 -812
- package/src/domains/requirements-validation/index.ts +0 -92
- package/src/domains/requirements-validation/interfaces.ts +0 -303
- package/src/domains/requirements-validation/plugin.ts +0 -576
- package/src/domains/requirements-validation/services/bdd-scenario-writer.ts +0 -676
- package/src/domains/requirements-validation/services/index.ts +0 -20
- package/src/domains/requirements-validation/services/requirements-validator.ts +0 -559
- package/src/domains/requirements-validation/services/testability-scorer.ts +0 -639
- package/src/domains/security-compliance/coordinator.ts +0 -757
- package/src/domains/security-compliance/index.ts +0 -120
- package/src/domains/security-compliance/interfaces.ts +0 -434
- package/src/domains/security-compliance/plugin.ts +0 -509
- package/src/domains/security-compliance/services/compliance-validator.ts +0 -1226
- package/src/domains/security-compliance/services/index.ts +0 -31
- package/src/domains/security-compliance/services/security-auditor.ts +0 -2227
- package/src/domains/security-compliance/services/security-scanner.ts +0 -2354
- package/src/domains/security-compliance/services/semgrep-integration.ts +0 -289
- package/src/domains/test-execution/coordinator.ts +0 -426
- package/src/domains/test-execution/index.ts +0 -76
- package/src/domains/test-execution/interfaces.ts +0 -119
- package/src/domains/test-execution/plugin.ts +0 -208
- package/src/domains/test-execution/services/flaky-detector.ts +0 -1240
- package/src/domains/test-execution/services/index.ts +0 -8
- package/src/domains/test-execution/services/retry-handler.ts +0 -820
- package/src/domains/test-execution/services/test-executor.ts +0 -885
- package/src/domains/test-generation/coordinator.ts +0 -656
- package/src/domains/test-generation/index.ts +0 -77
- package/src/domains/test-generation/interfaces.ts +0 -118
- package/src/domains/test-generation/plugin.ts +0 -397
- package/src/domains/test-generation/services/index.ts +0 -23
- package/src/domains/test-generation/services/pattern-matcher.ts +0 -1725
- package/src/domains/test-generation/services/test-generator.ts +0 -2750
- package/src/domains/visual-accessibility/coordinator.ts +0 -860
- package/src/domains/visual-accessibility/index.ts +0 -116
- package/src/domains/visual-accessibility/interfaces.ts +0 -435
- package/src/domains/visual-accessibility/plugin.ts +0 -568
- package/src/domains/visual-accessibility/services/accessibility-tester.ts +0 -982
- package/src/domains/visual-accessibility/services/axe-core-audit.ts +0 -630
- package/src/domains/visual-accessibility/services/index.ts +0 -28
- package/src/domains/visual-accessibility/services/responsive-tester.ts +0 -934
- package/src/domains/visual-accessibility/services/visual-tester.ts +0 -458
- package/src/early-exit/early-exit-controller.ts +0 -490
- package/src/early-exit/early-exit-decision.ts +0 -391
- package/src/early-exit/index.ts +0 -115
- package/src/early-exit/quality-signal.ts +0 -389
- package/src/early-exit/speculative-executor.ts +0 -505
- package/src/early-exit/types.ts +0 -407
- package/src/feedback/coverage-learner.ts +0 -456
- package/src/feedback/feedback-loop.ts +0 -426
- package/src/feedback/index.ts +0 -72
- package/src/feedback/pattern-promotion.ts +0 -373
- package/src/feedback/quality-score-calculator.ts +0 -334
- package/src/feedback/test-outcome-tracker.ts +0 -450
- package/src/feedback/types.ts +0 -497
- package/src/index.ts +0 -224
- package/src/init/agents-installer.ts +0 -536
- package/src/init/index.ts +0 -80
- package/src/init/init-wizard.ts +0 -1061
- package/src/init/project-analyzer.ts +0 -696
- package/src/init/self-configurator.ts +0 -488
- package/src/init/skills-installer.ts +0 -467
- package/src/init/types.ts +0 -432
- package/src/integrations/ruvector/ast-complexity.ts +0 -470
- package/src/integrations/ruvector/coverage-router.ts +0 -594
- package/src/integrations/ruvector/diff-risk-classifier.ts +0 -759
- package/src/integrations/ruvector/fallback.ts +0 -942
- package/src/integrations/ruvector/graph-boundaries.ts +0 -809
- package/src/integrations/ruvector/index.ts +0 -363
- package/src/integrations/ruvector/interfaces.ts +0 -609
- package/src/integrations/ruvector/q-learning-router.ts +0 -550
- package/src/kernel/agent-coordinator.ts +0 -165
- package/src/kernel/agentdb-backend.ts +0 -504
- package/src/kernel/event-bus.ts +0 -129
- package/src/kernel/hybrid-backend.ts +0 -538
- package/src/kernel/index.ts +0 -28
- package/src/kernel/interfaces.ts +0 -257
- package/src/kernel/kernel.ts +0 -285
- package/src/kernel/memory-backend.ts +0 -169
- package/src/kernel/memory-factory.ts +0 -293
- package/src/kernel/plugin-loader.ts +0 -179
- package/src/learning/index.ts +0 -219
- package/src/learning/pattern-store.ts +0 -990
- package/src/learning/qe-guidance.ts +0 -832
- package/src/learning/qe-hooks.ts +0 -644
- package/src/learning/qe-patterns.ts +0 -449
- package/src/learning/qe-reasoning-bank.ts +0 -951
- package/src/learning/real-embeddings.ts +0 -277
- package/src/learning/real-qe-reasoning-bank.ts +0 -833
- package/src/learning/sqlite-persistence.ts +0 -554
- package/src/mcp/entry.ts +0 -59
- package/src/mcp/handlers/agent-handlers.ts +0 -285
- package/src/mcp/handlers/core-handlers.ts +0 -317
- package/src/mcp/handlers/domain-handlers.ts +0 -1444
- package/src/mcp/handlers/index.ts +0 -57
- package/src/mcp/handlers/memory-handlers.ts +0 -338
- package/src/mcp/handlers/task-handlers.ts +0 -363
- package/src/mcp/index.ts +0 -30
- package/src/mcp/metrics/index.ts +0 -14
- package/src/mcp/metrics/metrics-collector.ts +0 -503
- package/src/mcp/protocol-server.ts +0 -752
- package/src/mcp/security/cve-prevention.ts +0 -742
- package/src/mcp/security/index.ts +0 -356
- package/src/mcp/security/oauth21-provider.ts +0 -821
- package/src/mcp/security/rate-limiter.ts +0 -615
- package/src/mcp/security/sampling-server.ts +0 -662
- package/src/mcp/security/schema-validator.ts +0 -855
- package/src/mcp/server.ts +0 -657
- package/src/mcp/tool-registry.ts +0 -391
- package/src/mcp/tools/base.ts +0 -399
- package/src/mcp/tools/chaos-resilience/inject.ts +0 -699
- package/src/mcp/tools/code-intelligence/analyze.ts +0 -745
- package/src/mcp/tools/contract-testing/validate.ts +0 -708
- package/src/mcp/tools/coverage-analysis/index.ts +0 -770
- package/src/mcp/tools/defect-intelligence/predict.ts +0 -466
- package/src/mcp/tools/index.ts +0 -214
- package/src/mcp/tools/learning-optimization/optimize.ts +0 -772
- package/src/mcp/tools/quality-assessment/evaluate.ts +0 -385
- package/src/mcp/tools/registry.ts +0 -248
- package/src/mcp/tools/requirements-validation/validate.ts +0 -394
- package/src/mcp/tools/security-compliance/scan.ts +0 -365
- package/src/mcp/tools/test-execution/execute.ts +0 -291
- package/src/mcp/tools/test-generation/generate.ts +0 -544
- package/src/mcp/tools/visual-accessibility/index.ts +0 -791
- package/src/mcp/transport/index.ts +0 -31
- package/src/mcp/transport/stdio.ts +0 -318
- package/src/mcp/types.ts +0 -543
- package/src/neural-optimizer/index.ts +0 -111
- package/src/neural-optimizer/replay-buffer.ts +0 -455
- package/src/neural-optimizer/swarm-topology.ts +0 -508
- package/src/neural-optimizer/topology-optimizer.ts +0 -828
- package/src/neural-optimizer/types.ts +0 -481
- package/src/neural-optimizer/value-network.ts +0 -351
- package/src/optimization/auto-tuner.ts +0 -817
- package/src/optimization/index.ts +0 -77
- package/src/optimization/metric-collectors.ts +0 -474
- package/src/optimization/qe-workers.ts +0 -704
- package/src/optimization/tuning-algorithm.ts +0 -401
- package/src/optimization/types.ts +0 -314
- package/src/routing/index.ts +0 -51
- package/src/routing/qe-agent-registry.ts +0 -963
- package/src/routing/qe-task-router.ts +0 -564
- package/src/routing/routing-feedback.ts +0 -365
- package/src/routing/types.ts +0 -406
- package/src/shared/embeddings/embedding-cache.ts +0 -157
- package/src/shared/embeddings/index.ts +0 -50
- package/src/shared/embeddings/nomic-embedder.ts +0 -404
- package/src/shared/embeddings/ollama-client.ts +0 -195
- package/src/shared/embeddings/types.ts +0 -147
- package/src/shared/entities/agent.ts +0 -141
- package/src/shared/entities/base-entity.ts +0 -79
- package/src/shared/entities/index.ts +0 -6
- package/src/shared/events/domain-events.ts +0 -259
- package/src/shared/events/index.ts +0 -5
- package/src/shared/git/git-analyzer.ts +0 -656
- package/src/shared/git/index.ts +0 -11
- package/src/shared/http/http-client.ts +0 -420
- package/src/shared/http/index.ts +0 -13
- package/src/shared/index.ts +0 -41
- package/src/shared/io/file-reader.ts +0 -525
- package/src/shared/io/index.ts +0 -25
- package/src/shared/llm/cache.ts +0 -473
- package/src/shared/llm/circuit-breaker.ts +0 -369
- package/src/shared/llm/cost-tracker.ts +0 -460
- package/src/shared/llm/index.ts +0 -140
- package/src/shared/llm/interfaces.ts +0 -629
- package/src/shared/llm/provider-manager.ts +0 -685
- package/src/shared/llm/providers/claude.ts +0 -524
- package/src/shared/llm/providers/index.ts +0 -8
- package/src/shared/llm/providers/ollama.ts +0 -575
- package/src/shared/llm/providers/openai.ts +0 -609
- package/src/shared/metrics/code-metrics.ts +0 -520
- package/src/shared/metrics/index.ts +0 -23
- package/src/shared/metrics/system-metrics.ts +0 -353
- package/src/shared/parsers/index.ts +0 -6
- package/src/shared/parsers/typescript-parser.ts +0 -841
- package/src/shared/security/compliance-patterns.ts +0 -666
- package/src/shared/security/index.ts +0 -30
- package/src/shared/security/osv-client.ts +0 -468
- package/src/shared/types/index.ts +0 -150
- package/src/shared/value-objects/index.ts +0 -273
- package/src/strange-loop/healing-controller.ts +0 -833
- package/src/strange-loop/index.ts +0 -104
- package/src/strange-loop/self-model.ts +0 -494
- package/src/strange-loop/strange-loop.ts +0 -446
- package/src/strange-loop/swarm-observer.ts +0 -448
- package/src/strange-loop/topology-analyzer.ts +0 -565
- package/src/strange-loop/types.ts +0 -640
- package/src/time-crystal/default-phases.ts +0 -520
- package/src/time-crystal/index.ts +0 -164
- package/src/time-crystal/oscillator.ts +0 -425
- package/src/time-crystal/phase-executor.ts +0 -521
- package/src/time-crystal/scheduler.ts +0 -1025
- package/src/time-crystal/test-runner.ts +0 -787
- package/src/time-crystal/types.ts +0 -421
- package/src/workers/base-worker.ts +0 -304
- package/src/workers/daemon.ts +0 -264
- package/src/workers/index.ts +0 -119
- package/src/workers/interfaces.ts +0 -393
- package/src/workers/worker-manager.ts +0 -424
- package/src/workers/workers/compliance-checker.ts +0 -445
- package/src/workers/workers/coverage-tracker.ts +0 -344
- package/src/workers/workers/defect-predictor.ts +0 -375
- package/src/workers/workers/flaky-detector.ts +0 -390
- package/src/workers/workers/index.ts +0 -17
- package/src/workers/workers/learning-consolidation.ts +0 -442
- package/src/workers/workers/performance-baseline.ts +0 -434
- package/src/workers/workers/quality-gate.ts +0 -419
- package/src/workers/workers/regression-monitor.ts +0 -357
- package/src/workers/workers/security-scan.ts +0 -349
- package/src/workers/workers/test-health.ts +0 -359
- package/tests/integration/code-intelligence/knowledge-graph-real.test.ts +0 -540
- package/tests/integration/coordination/cross-domain-router.test.ts +0 -403
- package/tests/integration/coordination/protocol-executor.test.ts +0 -454
- package/tests/integration/coordination/workflow-orchestrator.test.ts +0 -418
- package/tests/integration/feedback/feedback-loop-integration.test.ts +0 -560
- package/tests/integration/migration/v2-to-v3-migration.test.ts +0 -471
- package/tests/integration/parsers/typescript-parser.test.ts +0 -463
- package/tests/integration/security/vulnerability-detection.test.ts +0 -628
- package/tests/integration/test-execution/coordinator.test.ts +0 -410
- package/tests/integration/test-generation/coordinator.test.ts +0 -361
- package/tests/mocks/index.ts +0 -228
- package/tests/time-crystal/default-phases.test.ts +0 -476
- package/tests/time-crystal/oscillator.test.ts +0 -541
- package/tests/time-crystal/phase-executor.test.ts +0 -653
- package/tests/time-crystal/scheduler.test.ts +0 -626
- package/tests/time-crystal/test-runner.test.ts +0 -594
- package/tests/unit/causal-discovery/causal-graph.test.ts +0 -504
- package/tests/unit/causal-discovery/causal-root-cause-analyzer.test.ts +0 -347
- package/tests/unit/causal-discovery/discovery-engine.test.ts +0 -435
- package/tests/unit/causal-discovery/weight-matrix.test.ts +0 -328
- package/tests/unit/cli/cli.test.ts +0 -341
- package/tests/unit/cli/commands.test.ts +0 -414
- package/tests/unit/cli/init-command.test.ts +0 -274
- package/tests/unit/cli/migrate-command.test.ts +0 -396
- package/tests/unit/coordination/claims/claim-service.test.ts +0 -949
- package/tests/unit/coordination/claims/handoff-manager.test.ts +0 -773
- package/tests/unit/coordination/claims/work-stealing.test.ts +0 -492
- package/tests/unit/coordination/queen-coordinator.test.ts +0 -966
- package/tests/unit/coordination/result-saver.test.ts +0 -653
- package/tests/unit/coordination/task-executor.test.ts +0 -810
- package/tests/unit/domains/chaos-resilience/chaos-engineer.test.ts +0 -484
- package/tests/unit/domains/chaos-resilience/load-tester.test.ts +0 -559
- package/tests/unit/domains/chaos-resilience/performance-profiler.test.ts +0 -490
- package/tests/unit/domains/code-intelligence/impact-analyzer.test.ts +0 -560
- package/tests/unit/domains/code-intelligence/knowledge-graph.test.ts +0 -460
- package/tests/unit/domains/code-intelligence/semantic-analyzer.test.ts +0 -584
- package/tests/unit/domains/contract-testing/api-compatibility.test.ts +0 -483
- package/tests/unit/domains/contract-testing/contract-validator.test.ts +0 -370
- package/tests/unit/domains/contract-testing/schema-validator.test.ts +0 -610
- package/tests/unit/domains/coverage-analysis/coverage-embedder.test.ts +0 -298
- package/tests/unit/domains/coverage-analysis/hnsw-index.test.ts +0 -292
- package/tests/unit/domains/coverage-analysis/sublinear-analyzer.test.ts +0 -506
- package/tests/unit/domains/defect-intelligence/defect-predictor.test.ts +0 -370
- package/tests/unit/domains/defect-intelligence/pattern-learner.test.ts +0 -546
- package/tests/unit/domains/defect-intelligence/root-cause-analyzer.test.ts +0 -534
- package/tests/unit/domains/learning-optimization/learning-coordinator.test.ts +0 -541
- package/tests/unit/domains/learning-optimization/metrics-optimizer.test.ts +0 -552
- package/tests/unit/domains/learning-optimization/production-intel.test.ts +0 -589
- package/tests/unit/domains/learning-optimization/transfer-specialist.test.ts +0 -453
- package/tests/unit/domains/quality-assessment/coherence-gate.test.ts +0 -1006
- package/tests/unit/domains/quality-assessment/deployment-advisor.test.ts +0 -515
- package/tests/unit/domains/quality-assessment/quality-analyzer.test.ts +0 -401
- package/tests/unit/domains/quality-assessment/quality-gate.test.ts +0 -324
- package/tests/unit/domains/requirements-validation/bdd-scenario-writer.test.ts +0 -479
- package/tests/unit/domains/requirements-validation/requirements-validator.test.ts +0 -452
- package/tests/unit/domains/requirements-validation/testability-scorer.test.ts +0 -505
- package/tests/unit/domains/security-compliance/compliance-validator.test.ts +0 -500
- package/tests/unit/domains/security-compliance/security-auditor.test.ts +0 -498
- package/tests/unit/domains/security-compliance/security-scanner.test.ts +0 -412
- package/tests/unit/domains/visual-accessibility/accessibility-tester.test.ts +0 -432
- package/tests/unit/domains/visual-accessibility/responsive-tester.test.ts +0 -506
- package/tests/unit/domains/visual-accessibility/visual-tester.test.ts +0 -412
- package/tests/unit/early-exit/early-exit-controller.test.ts +0 -548
- package/tests/unit/early-exit/early-exit-decision.test.ts +0 -617
- package/tests/unit/early-exit/index.test.ts +0 -254
- package/tests/unit/early-exit/quality-signal.test.ts +0 -589
- package/tests/unit/early-exit/speculative-executor.test.ts +0 -453
- package/tests/unit/feedback/coverage-learner.test.ts +0 -288
- package/tests/unit/feedback/feedback-loop.test.ts +0 -458
- package/tests/unit/feedback/pattern-promotion.test.ts +0 -390
- package/tests/unit/feedback/quality-score-calculator.test.ts +0 -364
- package/tests/unit/feedback/test-outcome-tracker.test.ts +0 -243
- package/tests/unit/init/init-wizard.test.ts +0 -881
- package/tests/unit/init/project-analyzer.test.ts +0 -807
- package/tests/unit/init/self-configurator.test.ts +0 -493
- package/tests/unit/integrations/ruvector/ast-complexity.test.ts +0 -240
- package/tests/unit/integrations/ruvector/coverage-router.test.ts +0 -366
- package/tests/unit/integrations/ruvector/diff-risk-classifier.test.ts +0 -340
- package/tests/unit/integrations/ruvector/graph-boundaries.test.ts +0 -355
- package/tests/unit/integrations/ruvector/q-learning-router.test.ts +0 -314
- package/tests/unit/kernel/agent-coordinator.test.ts +0 -220
- package/tests/unit/kernel/event-bus.test.ts +0 -197
- package/tests/unit/learning/qe-reasoning-bank.test.ts +0 -666
- package/tests/unit/learning/real-qe-reasoning-bank.benchmark.test.ts +0 -415
- package/tests/unit/mcp/mcp-server.test.ts +0 -544
- package/tests/unit/mcp/metrics/metrics-collector.test.ts +0 -340
- package/tests/unit/mcp/security/cve-prevention.test.ts +0 -512
- package/tests/unit/mcp/security/oauth21-provider.test.ts +0 -624
- package/tests/unit/mcp/security/rate-limiter.test.ts +0 -410
- package/tests/unit/mcp/security/sampling-server.test.ts +0 -420
- package/tests/unit/mcp/security/schema-validator.test.ts +0 -494
- package/tests/unit/mcp/tools/base.test.ts +0 -336
- package/tests/unit/mcp/tools/domain-tools.test.ts +0 -759
- package/tests/unit/mcp/tools/registry.test.ts +0 -240
- package/tests/unit/neural-optimizer/replay-buffer.test.ts +0 -403
- package/tests/unit/neural-optimizer/swarm-topology.test.ts +0 -473
- package/tests/unit/neural-optimizer/topology-optimizer.test.ts +0 -595
- package/tests/unit/neural-optimizer/value-network.test.ts +0 -343
- package/tests/unit/optimization/auto-tuner.test.ts +0 -506
- package/tests/unit/optimization/metric-collectors.test.ts +0 -352
- package/tests/unit/optimization/qe-workers.test.ts +0 -407
- package/tests/unit/optimization/tuning-algorithm.test.ts +0 -467
- package/tests/unit/routing/qe-agent-registry.test.ts +0 -229
- package/tests/unit/routing/qe-task-router.test.ts +0 -390
- package/tests/unit/routing/routing-feedback.test.ts +0 -339
- package/tests/unit/shared/embeddings/nomic-embedder.test.ts +0 -419
- package/tests/unit/shared/http/http-client.test.ts +0 -719
- package/tests/unit/shared/io/file-reader.test.ts +0 -511
- package/tests/unit/shared/llm/cache.test.ts +0 -391
- package/tests/unit/shared/llm/circuit-breaker.test.ts +0 -293
- package/tests/unit/shared/llm/cost-tracker.test.ts +0 -431
- package/tests/unit/shared/llm/provider-manager.test.ts +0 -550
- package/tests/unit/shared/llm/providers.test.ts +0 -532
- package/tests/unit/shared/parsers/typescript-parser.test.ts +0 -693
- package/tests/unit/shared/value-objects.test.ts +0 -184
- package/tests/unit/strange-loop/strange-loop.test.ts +0 -1170
- package/tests/unit/workers/base-worker.test.ts +0 -341
- package/tests/unit/workers/daemon.test.ts +0 -291
- package/tests/unit/workers/worker-manager.test.ts +0 -284
- package/tsconfig.json +0 -32
- package/vitest.config.ts +0 -27
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: localization-testing
|
|
3
|
+
description: "Internationalization (i18n) and localization (l10n) testing for global products including translations, locale formats, RTL languages, and cultural appropriateness. Use when launching in new markets or building multi-language products."
|
|
4
|
+
category: specialized-testing
|
|
5
|
+
priority: medium
|
|
6
|
+
tokenEstimate: 800
|
|
7
|
+
agents: [qe-test-generator, qe-test-executor, qe-visual-tester]
|
|
8
|
+
implementation_status: optimized
|
|
9
|
+
optimization_version: 1.0
|
|
10
|
+
last_optimized: 2025-12-02
|
|
11
|
+
dependencies: []
|
|
12
|
+
quick_reference_card: true
|
|
13
|
+
tags: [localization, i18n, l10n, translation, rtl, unicode, locale]
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
# Localization & Internationalization Testing
|
|
17
|
+
|
|
18
|
+
<default_to_action>
|
|
19
|
+
When testing multi-language/region support:
|
|
20
|
+
1. VERIFY translation coverage (all strings translated)
|
|
21
|
+
2. TEST locale-specific formats (date, time, currency, numbers)
|
|
22
|
+
3. VALIDATE RTL layout (Arabic, Hebrew)
|
|
23
|
+
4. CHECK character encoding (UTF-8, unicode)
|
|
24
|
+
5. CONFIRM cultural appropriateness (icons, colors, content)
|
|
25
|
+
|
|
26
|
+
**Quick i18n Checklist:**
|
|
27
|
+
- All user-facing strings externalized
|
|
28
|
+
- No hardcoded text in code
|
|
29
|
+
- Date/time/currency formatted per locale
|
|
30
|
+
- RTL languages flip layout correctly
|
|
31
|
+
- Unicode characters display properly
|
|
32
|
+
|
|
33
|
+
**Critical Success Factors:**
|
|
34
|
+
- Don't hardcode strings - externalize everything
|
|
35
|
+
- Test with real speakers, not just translation files
|
|
36
|
+
- RTL requires mirrored UI layout
|
|
37
|
+
</default_to_action>
|
|
38
|
+
|
|
39
|
+
## Quick Reference Card
|
|
40
|
+
|
|
41
|
+
### When to Use
|
|
42
|
+
- Launching in new markets
|
|
43
|
+
- Adding language support
|
|
44
|
+
- Before international releases
|
|
45
|
+
- After UI changes
|
|
46
|
+
|
|
47
|
+
### i18n vs l10n
|
|
48
|
+
| Term | Full Name | Focus |
|
|
49
|
+
|------|-----------|-------|
|
|
50
|
+
| **i18n** | Internationalization | Building for localization |
|
|
51
|
+
| **l10n** | Localization | Adapting for specific locale |
|
|
52
|
+
|
|
53
|
+
### Common Locale Formats
|
|
54
|
+
| Type | US (en-US) | UK (en-GB) | Japan (ja-JP) |
|
|
55
|
+
|------|------------|------------|---------------|
|
|
56
|
+
| **Date** | 10/24/2025 | 24/10/2025 | 2025/10/24 |
|
|
57
|
+
| **Currency** | $1,234.56 | £1,234.56 | ¥1,235 |
|
|
58
|
+
| **Number** | 1,234.56 | 1,234.56 | 1,234.56 |
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## Translation Coverage Testing
|
|
63
|
+
|
|
64
|
+
```javascript
|
|
65
|
+
test('all strings are translated', () => {
|
|
66
|
+
const enKeys = Object.keys(translations.en);
|
|
67
|
+
const frKeys = Object.keys(translations.fr);
|
|
68
|
+
const esKeys = Object.keys(translations.es);
|
|
69
|
+
|
|
70
|
+
// All locales have same keys
|
|
71
|
+
expect(frKeys).toEqual(enKeys);
|
|
72
|
+
expect(esKeys).toEqual(enKeys);
|
|
73
|
+
});
|
|
74
|
+
|
|
75
|
+
test('no missing translation placeholders', async ({ page }) => {
|
|
76
|
+
await page.goto('/?lang=fr');
|
|
77
|
+
const text = await page.textContent('body');
|
|
78
|
+
|
|
79
|
+
// Should not see placeholder keys
|
|
80
|
+
expect(text).not.toContain('translation.missing');
|
|
81
|
+
expect(text).not.toMatch(/\{\{.*\}\}/); // {{key}} format
|
|
82
|
+
});
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
## Date/Time/Currency Formats
|
|
88
|
+
|
|
89
|
+
```javascript
|
|
90
|
+
test('date formats by locale', () => {
|
|
91
|
+
const date = new Date('2025-10-24');
|
|
92
|
+
|
|
93
|
+
expect(formatDate(date, 'en-US')).toBe('10/24/2025');
|
|
94
|
+
expect(formatDate(date, 'en-GB')).toBe('24/10/2025');
|
|
95
|
+
expect(formatDate(date, 'ja-JP')).toBe('2025/10/24');
|
|
96
|
+
});
|
|
97
|
+
|
|
98
|
+
test('currency formats by locale', () => {
|
|
99
|
+
const amount = 1234.56;
|
|
100
|
+
|
|
101
|
+
expect(formatCurrency(amount, 'en-US', 'USD')).toBe('$1,234.56');
|
|
102
|
+
expect(formatCurrency(amount, 'de-DE', 'EUR')).toBe('1.234,56 €');
|
|
103
|
+
expect(formatCurrency(amount, 'ja-JP', 'JPY')).toBe('¥1,235');
|
|
104
|
+
});
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
---
|
|
108
|
+
|
|
109
|
+
## RTL (Right-to-Left) Testing
|
|
110
|
+
|
|
111
|
+
```javascript
|
|
112
|
+
test('layout flips for RTL languages', async ({ page }) => {
|
|
113
|
+
await page.goto('/?lang=ar'); // Arabic
|
|
114
|
+
|
|
115
|
+
const dir = await page.locator('html').getAttribute('dir');
|
|
116
|
+
expect(dir).toBe('rtl');
|
|
117
|
+
|
|
118
|
+
// Navigation should be on right
|
|
119
|
+
const nav = await page.locator('nav');
|
|
120
|
+
const styles = await nav.evaluate(el =>
|
|
121
|
+
window.getComputedStyle(el)
|
|
122
|
+
);
|
|
123
|
+
expect(styles.direction).toBe('rtl');
|
|
124
|
+
});
|
|
125
|
+
|
|
126
|
+
test('icons/images appropriate for RTL', async ({ page }) => {
|
|
127
|
+
await page.goto('/?lang=he'); // Hebrew
|
|
128
|
+
|
|
129
|
+
// Back arrow should point right in RTL
|
|
130
|
+
const backIcon = await page.locator('.back-icon');
|
|
131
|
+
expect(await backIcon.getAttribute('class')).toContain('rtl-flipped');
|
|
132
|
+
});
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
## Unicode Character Support
|
|
138
|
+
|
|
139
|
+
```javascript
|
|
140
|
+
test('supports unicode characters', async ({ page }) => {
|
|
141
|
+
// Japanese
|
|
142
|
+
await page.fill('#name', '山田太郎');
|
|
143
|
+
await page.click('#submit');
|
|
144
|
+
|
|
145
|
+
const saved = await db.users.findOne({ /* ... */ });
|
|
146
|
+
expect(saved.name).toBe('山田太郎');
|
|
147
|
+
|
|
148
|
+
// Arabic
|
|
149
|
+
await page.fill('#name', 'محمد');
|
|
150
|
+
// Emoji
|
|
151
|
+
await page.fill('#bio', '👋🌍');
|
|
152
|
+
|
|
153
|
+
expect(saved.bio).toBe('👋🌍');
|
|
154
|
+
});
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
---
|
|
158
|
+
|
|
159
|
+
## Agent-Driven Localization Testing
|
|
160
|
+
|
|
161
|
+
```typescript
|
|
162
|
+
// Comprehensive localization validation
|
|
163
|
+
await Task("Localization Testing", {
|
|
164
|
+
url: 'https://example.com',
|
|
165
|
+
locales: ['en-US', 'fr-FR', 'de-DE', 'ja-JP', 'ar-SA'],
|
|
166
|
+
checks: ['translations', 'formats', 'rtl', 'unicode'],
|
|
167
|
+
detectHardcodedStrings: true
|
|
168
|
+
}, "qe-test-generator");
|
|
169
|
+
|
|
170
|
+
// Returns:
|
|
171
|
+
// {
|
|
172
|
+
// locales: 5,
|
|
173
|
+
// missingTranslations: 3,
|
|
174
|
+
// formatIssues: 1,
|
|
175
|
+
// rtlIssues: 0,
|
|
176
|
+
// hardcodedStrings: ['button.submit', 'header.title']
|
|
177
|
+
// }
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
---
|
|
181
|
+
|
|
182
|
+
## Agent Coordination Hints
|
|
183
|
+
|
|
184
|
+
### Memory Namespace
|
|
185
|
+
```
|
|
186
|
+
aqe/localization-testing/
|
|
187
|
+
├── translations/* - Translation coverage
|
|
188
|
+
├── formats/* - Locale-specific formats
|
|
189
|
+
├── rtl-validation/* - RTL layout checks
|
|
190
|
+
└── unicode/* - Character encoding tests
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
### Fleet Coordination
|
|
194
|
+
```typescript
|
|
195
|
+
const l10nFleet = await FleetManager.coordinate({
|
|
196
|
+
strategy: 'localization-testing',
|
|
197
|
+
agents: [
|
|
198
|
+
'qe-test-generator', // Generate l10n tests
|
|
199
|
+
'qe-test-executor', // Execute across locales
|
|
200
|
+
'qe-visual-tester' // RTL visual validation
|
|
201
|
+
],
|
|
202
|
+
topology: 'parallel'
|
|
203
|
+
});
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
---
|
|
207
|
+
|
|
208
|
+
## Related Skills
|
|
209
|
+
- [accessibility-testing](../accessibility-testing/) - Language accessibility
|
|
210
|
+
- [compatibility-testing](../compatibility-testing/) - Cross-platform i18n
|
|
211
|
+
- [visual-testing-advanced](../visual-testing-advanced/) - RTL visual regression
|
|
212
|
+
|
|
213
|
+
---
|
|
214
|
+
|
|
215
|
+
## Remember
|
|
216
|
+
|
|
217
|
+
**Don't hardcode. Externalize all user-facing strings.** Every string visible to users must come from translation files, not code.
|
|
218
|
+
|
|
219
|
+
**Test with native speakers, not just translation files.** Machine translations and translation files can have context issues that only native speakers catch.
|
|
220
|
+
|
|
221
|
+
**With Agents:** Agents validate translation coverage, detect hardcoded strings, test locale-specific formatting, and verify RTL layouts automatically across all supported languages.
|
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: mobile-testing
|
|
3
|
+
description: "Comprehensive mobile testing for iOS and Android platforms including gestures, sensors, permissions, device fragmentation, and performance. Use when testing native apps, hybrid apps, or mobile web, ensuring quality across 1000+ device variants."
|
|
4
|
+
category: specialized-testing
|
|
5
|
+
priority: high
|
|
6
|
+
tokenEstimate: 1000
|
|
7
|
+
agents: [qe-test-executor, qe-performance-tester, qe-visual-tester]
|
|
8
|
+
implementation_status: optimized
|
|
9
|
+
optimization_version: 1.0
|
|
10
|
+
last_optimized: 2025-12-02
|
|
11
|
+
dependencies: []
|
|
12
|
+
quick_reference_card: true
|
|
13
|
+
tags: [mobile, ios, android, appium, gestures, device-fragmentation, sensors]
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
# Mobile Testing
|
|
17
|
+
|
|
18
|
+
<default_to_action>
|
|
19
|
+
When testing mobile applications:
|
|
20
|
+
1. DEFINE device coverage matrix (Tier 1: 60%, Tier 2: 30%, Tier 3: 10%)
|
|
21
|
+
2. TEST platform differences (iOS ≠ Android: back button, permissions, UI)
|
|
22
|
+
3. VALIDATE touch gestures (tap, swipe, pinch, long-press)
|
|
23
|
+
4. TEST mobile-specific scenarios (offline, low battery, interruptions)
|
|
24
|
+
5. USE real devices for critical paths, emulators for fast feedback
|
|
25
|
+
|
|
26
|
+
**Quick Mobile Checklist:**
|
|
27
|
+
- Test on latest iOS + Android flagship devices
|
|
28
|
+
- Test offline mode and network transitions
|
|
29
|
+
- Verify push notifications work
|
|
30
|
+
- Test gesture interactions (swipe, pinch)
|
|
31
|
+
- Check permissions flow (camera, location, notifications)
|
|
32
|
+
|
|
33
|
+
**Critical Success Factors:**
|
|
34
|
+
- Emulators for 80% of testing, real devices for 20% critical paths
|
|
35
|
+
- Test on devices your users actually use (analytics)
|
|
36
|
+
- Device fragmentation is Android's biggest challenge
|
|
37
|
+
</default_to_action>
|
|
38
|
+
|
|
39
|
+
## Quick Reference Card
|
|
40
|
+
|
|
41
|
+
### When to Use
|
|
42
|
+
- Native app development (iOS/Android)
|
|
43
|
+
- Hybrid apps (React Native, Flutter)
|
|
44
|
+
- Mobile web / PWAs
|
|
45
|
+
- App store submission preparation
|
|
46
|
+
|
|
47
|
+
### iOS vs Android Differences
|
|
48
|
+
| Aspect | iOS | Android |
|
|
49
|
+
|--------|-----|---------|
|
|
50
|
+
| OS Versions | 2-3 supported | 10+ in use |
|
|
51
|
+
| Devices | ~40 models | 1000+ variants |
|
|
52
|
+
| Back Button | Gesture/nav | Hardware/software |
|
|
53
|
+
| Permissions | Single prompt | Runtime granular |
|
|
54
|
+
| App Store | Strict review | Google Play + sideload |
|
|
55
|
+
|
|
56
|
+
### Device Coverage Tiers
|
|
57
|
+
| Tier | Coverage | Devices |
|
|
58
|
+
|------|----------|---------|
|
|
59
|
+
| **Tier 1** | 60% users | iPhone 15, Galaxy S24, iPad |
|
|
60
|
+
| **Tier 2** | 30% users | iPhone 14/13, Pixel 8 |
|
|
61
|
+
| **Tier 3** | 10% users | Older devices, other manufacturers |
|
|
62
|
+
|
|
63
|
+
### Mobile Performance Goals
|
|
64
|
+
| Metric | Target |
|
|
65
|
+
|--------|--------|
|
|
66
|
+
| App launch | < 2 seconds |
|
|
67
|
+
| Screen transition | < 300ms |
|
|
68
|
+
| Frame rate | 60 FPS |
|
|
69
|
+
| Battery drain | < 5%/hour background |
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
## Touch Gesture Testing
|
|
74
|
+
|
|
75
|
+
```javascript
|
|
76
|
+
// Appium gesture examples
|
|
77
|
+
// Tap
|
|
78
|
+
await driver.touchAction({ action: 'tap', x: 100, y: 200 });
|
|
79
|
+
|
|
80
|
+
// Swipe (scroll down)
|
|
81
|
+
await driver.touchAction([
|
|
82
|
+
{ action: 'press', x: 200, y: 400 },
|
|
83
|
+
{ action: 'moveTo', x: 200, y: 100 },
|
|
84
|
+
{ action: 'release' }
|
|
85
|
+
]);
|
|
86
|
+
|
|
87
|
+
// Pinch to zoom
|
|
88
|
+
const finger1 = [
|
|
89
|
+
{ action: 'press', x: 100, y: 200 },
|
|
90
|
+
{ action: 'moveTo', x: 50, y: 150 },
|
|
91
|
+
{ action: 'release' }
|
|
92
|
+
];
|
|
93
|
+
const finger2 = [
|
|
94
|
+
{ action: 'press', x: 200, y: 200 },
|
|
95
|
+
{ action: 'moveTo', x: 250, y: 250 },
|
|
96
|
+
{ action: 'release' }
|
|
97
|
+
];
|
|
98
|
+
await driver.multiTouchAction([finger1, finger2]);
|
|
99
|
+
|
|
100
|
+
// Long press
|
|
101
|
+
await driver.touchAction({
|
|
102
|
+
action: 'longPress',
|
|
103
|
+
x: 100, y: 200,
|
|
104
|
+
duration: 2000
|
|
105
|
+
});
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
---
|
|
109
|
+
|
|
110
|
+
## Mobile-Specific Scenarios
|
|
111
|
+
|
|
112
|
+
```javascript
|
|
113
|
+
// Offline mode testing
|
|
114
|
+
test('app works offline', async () => {
|
|
115
|
+
await driver.toggleAirplaneMode();
|
|
116
|
+
|
|
117
|
+
await driver.findElement('view-saved-items').click();
|
|
118
|
+
const items = await driver.findElements('saved-item');
|
|
119
|
+
expect(items.length).toBeGreaterThan(0);
|
|
120
|
+
|
|
121
|
+
const banner = await driver.findElement('offline-banner');
|
|
122
|
+
expect(banner.getText()).toContain('No internet');
|
|
123
|
+
|
|
124
|
+
await driver.toggleAirplaneMode(); // Restore
|
|
125
|
+
});
|
|
126
|
+
|
|
127
|
+
// Location testing
|
|
128
|
+
test('location-based features', async () => {
|
|
129
|
+
await driver.setGeoLocation({
|
|
130
|
+
latitude: 37.7749,
|
|
131
|
+
longitude: -122.4194,
|
|
132
|
+
altitude: 0
|
|
133
|
+
});
|
|
134
|
+
|
|
135
|
+
const stores = await driver.findElement('stores-list');
|
|
136
|
+
expect(stores.getText()).toContain('San Francisco');
|
|
137
|
+
});
|
|
138
|
+
|
|
139
|
+
// Permission testing (Android)
|
|
140
|
+
test('camera permission flow', async () => {
|
|
141
|
+
await driver.findElement('take-photo').click();
|
|
142
|
+
|
|
143
|
+
// Handle permission dialog
|
|
144
|
+
await driver.findElement(
|
|
145
|
+
'com.android.packageinstaller:id/permission_allow_button'
|
|
146
|
+
).click();
|
|
147
|
+
|
|
148
|
+
expect(await driver.findElement('camera-view')).toBeDefined();
|
|
149
|
+
});
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
---
|
|
153
|
+
|
|
154
|
+
## Agent-Driven Mobile Testing
|
|
155
|
+
|
|
156
|
+
```typescript
|
|
157
|
+
// Cross-platform mobile testing
|
|
158
|
+
await Task("Mobile Test Suite", {
|
|
159
|
+
platforms: ['iOS', 'Android'],
|
|
160
|
+
deviceTiers: [1, 2],
|
|
161
|
+
tests: 'regression-suite',
|
|
162
|
+
parallelDevices: 5,
|
|
163
|
+
deviceFarm: 'browserstack'
|
|
164
|
+
}, "qe-test-executor");
|
|
165
|
+
|
|
166
|
+
// Device farm integration
|
|
167
|
+
await Task("Device Farm Execution", {
|
|
168
|
+
service: 'browserstack',
|
|
169
|
+
devices: [
|
|
170
|
+
'iPhone 15 - iOS 17',
|
|
171
|
+
'Samsung Galaxy S24 - Android 14'
|
|
172
|
+
],
|
|
173
|
+
recordVideo: true,
|
|
174
|
+
captureNetworkLogs: true
|
|
175
|
+
}, "qe-test-executor");
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
---
|
|
179
|
+
|
|
180
|
+
## Agent Coordination Hints
|
|
181
|
+
|
|
182
|
+
### Memory Namespace
|
|
183
|
+
```
|
|
184
|
+
aqe/mobile-testing/
|
|
185
|
+
├── device-matrix/* - Device coverage strategy
|
|
186
|
+
├── platform-tests/* - iOS/Android specific tests
|
|
187
|
+
├── gesture-library/* - Reusable gesture patterns
|
|
188
|
+
└── performance/* - Mobile performance metrics
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
### Fleet Coordination
|
|
192
|
+
```typescript
|
|
193
|
+
const mobileFleet = await FleetManager.coordinate({
|
|
194
|
+
strategy: 'mobile-testing',
|
|
195
|
+
agents: [
|
|
196
|
+
'qe-test-executor', // Cross-platform execution
|
|
197
|
+
'qe-performance-tester', // Mobile performance
|
|
198
|
+
'qe-visual-tester' // Screen size validation
|
|
199
|
+
],
|
|
200
|
+
topology: 'parallel'
|
|
201
|
+
});
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
---
|
|
205
|
+
|
|
206
|
+
## Related Skills
|
|
207
|
+
- [accessibility-testing](../accessibility-testing/) - VoiceOver, TalkBack
|
|
208
|
+
- [performance-testing](../performance-testing/) - Mobile performance
|
|
209
|
+
- [compatibility-testing](../compatibility-testing/) - Device compatibility
|
|
210
|
+
|
|
211
|
+
---
|
|
212
|
+
|
|
213
|
+
## Remember
|
|
214
|
+
|
|
215
|
+
**Mobile is not a smaller desktop - it's a different platform.** 60%+ of web traffic is mobile. Device fragmentation (1000+ Android devices), touch gestures, sensors, permissions, offline scenarios - all require specific testing.
|
|
216
|
+
|
|
217
|
+
**Test on real devices for critical flows.** Emulators catch 80% of bugs but real devices needed for actual performance, sensor behavior, and platform quirks.
|
|
218
|
+
|
|
219
|
+
**With Agents:** `qe-test-executor` orchestrates testing across device farms, manages platform differences, and tests 10+ devices in parallel. Reduces mobile testing from days to hours.
|
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: mutation-testing
|
|
3
|
+
description: "Test quality validation through mutation testing, assessing test suite effectiveness by introducing code mutations and measuring kill rate. Use when evaluating test quality, identifying weak tests, or proving tests actually catch bugs."
|
|
4
|
+
category: specialized-testing
|
|
5
|
+
priority: high
|
|
6
|
+
tokenEstimate: 900
|
|
7
|
+
agents: [qe-test-generator, qe-coverage-analyzer, qe-quality-analyzer]
|
|
8
|
+
implementation_status: optimized
|
|
9
|
+
optimization_version: 1.0
|
|
10
|
+
last_optimized: 2025-12-02
|
|
11
|
+
dependencies: []
|
|
12
|
+
quick_reference_card: true
|
|
13
|
+
tags: [mutation, stryker, test-quality, kill-rate, assertions, effectiveness]
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
# Mutation Testing
|
|
17
|
+
|
|
18
|
+
<default_to_action>
|
|
19
|
+
When validating test quality or improving test effectiveness:
|
|
20
|
+
1. MUTATE code (change + to -, >= to >, remove statements)
|
|
21
|
+
2. RUN tests against each mutant
|
|
22
|
+
3. VERIFY tests catch mutations (kill mutants)
|
|
23
|
+
4. IDENTIFY surviving mutants (tests need improvement)
|
|
24
|
+
5. STRENGTHEN tests to kill surviving mutants
|
|
25
|
+
|
|
26
|
+
**Quick Mutation Metrics:**
|
|
27
|
+
- Mutation Score = Killed / (Killed + Survived)
|
|
28
|
+
- Target: > 80% mutation score
|
|
29
|
+
- Surviving mutants = weak tests
|
|
30
|
+
|
|
31
|
+
**Critical Success Factors:**
|
|
32
|
+
- High coverage ≠ good tests (100% coverage, 0% assertions)
|
|
33
|
+
- Mutation testing proves tests actually catch bugs
|
|
34
|
+
- Focus on critical code paths first
|
|
35
|
+
</default_to_action>
|
|
36
|
+
|
|
37
|
+
## Quick Reference Card
|
|
38
|
+
|
|
39
|
+
### When to Use
|
|
40
|
+
- Evaluating test suite quality
|
|
41
|
+
- Finding gaps in test assertions
|
|
42
|
+
- Proving tests catch bugs
|
|
43
|
+
- Before critical releases
|
|
44
|
+
|
|
45
|
+
### Mutation Score Interpretation
|
|
46
|
+
| Score | Interpretation |
|
|
47
|
+
|-------|----------------|
|
|
48
|
+
| **90%+** | Excellent test quality |
|
|
49
|
+
| **80-90%** | Good, minor improvements |
|
|
50
|
+
| **60-80%** | Needs attention |
|
|
51
|
+
| **< 60%** | Significant gaps |
|
|
52
|
+
|
|
53
|
+
### Common Mutation Operators
|
|
54
|
+
| Category | Original | Mutant |
|
|
55
|
+
|----------|----------|--------|
|
|
56
|
+
| **Arithmetic** | `a + b` | `a - b` |
|
|
57
|
+
| **Relational** | `x >= 18` | `x > 18` |
|
|
58
|
+
| **Logical** | `a && b` | `a \|\| b` |
|
|
59
|
+
| **Conditional** | `if (x)` | `if (true)` |
|
|
60
|
+
| **Statement** | `return x` | *(removed)* |
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
## How Mutation Testing Works
|
|
65
|
+
|
|
66
|
+
```javascript
|
|
67
|
+
// Original code
|
|
68
|
+
function isAdult(age) {
|
|
69
|
+
return age >= 18; // ← Mutant: change >= to >
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
// Strong test (catches mutation)
|
|
73
|
+
test('18 is adult', () => {
|
|
74
|
+
expect(isAdult(18)).toBe(true); // Kills mutant!
|
|
75
|
+
});
|
|
76
|
+
|
|
77
|
+
// Weak test (mutation survives)
|
|
78
|
+
test('19 is adult', () => {
|
|
79
|
+
expect(isAdult(19)).toBe(true); // Doesn't catch >= vs >
|
|
80
|
+
});
|
|
81
|
+
// Surviving mutant → Test needs boundary value
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
## Using Stryker
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
# Install
|
|
90
|
+
npm install --save-dev @stryker-mutator/core @stryker-mutator/jest-runner
|
|
91
|
+
|
|
92
|
+
# Initialize
|
|
93
|
+
npx stryker init
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
**Configuration:**
|
|
97
|
+
```json
|
|
98
|
+
{
|
|
99
|
+
"packageManager": "npm",
|
|
100
|
+
"reporters": ["html", "clear-text", "progress"],
|
|
101
|
+
"testRunner": "jest",
|
|
102
|
+
"coverageAnalysis": "perTest",
|
|
103
|
+
"mutate": [
|
|
104
|
+
"src/**/*.ts",
|
|
105
|
+
"!src/**/*.spec.ts"
|
|
106
|
+
],
|
|
107
|
+
"thresholds": {
|
|
108
|
+
"high": 90,
|
|
109
|
+
"low": 70,
|
|
110
|
+
"break": 60
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
**Run:**
|
|
116
|
+
```bash
|
|
117
|
+
npx stryker run
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
**Output:**
|
|
121
|
+
```
|
|
122
|
+
Mutation Score: 87.3%
|
|
123
|
+
Killed: 124
|
|
124
|
+
Survived: 18
|
|
125
|
+
No Coverage: 3
|
|
126
|
+
Timeout: 1
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
---
|
|
130
|
+
|
|
131
|
+
## Fixing Surviving Mutants
|
|
132
|
+
|
|
133
|
+
```javascript
|
|
134
|
+
// Surviving mutant: >= changed to >
|
|
135
|
+
function calculateDiscount(quantity) {
|
|
136
|
+
if (quantity >= 10) { // Mutant survives!
|
|
137
|
+
return 0.1;
|
|
138
|
+
}
|
|
139
|
+
return 0;
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
// Original weak test
|
|
143
|
+
test('large order gets discount', () => {
|
|
144
|
+
expect(calculateDiscount(15)).toBe(0.1); // Doesn't test boundary
|
|
145
|
+
});
|
|
146
|
+
|
|
147
|
+
// Fixed: Add boundary test
|
|
148
|
+
test('exactly 10 gets discount', () => {
|
|
149
|
+
expect(calculateDiscount(10)).toBe(0.1); // Kills mutant!
|
|
150
|
+
});
|
|
151
|
+
|
|
152
|
+
test('9 does not get discount', () => {
|
|
153
|
+
expect(calculateDiscount(9)).toBe(0); // Tests below boundary
|
|
154
|
+
});
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
---
|
|
158
|
+
|
|
159
|
+
## Agent-Driven Mutation Testing
|
|
160
|
+
|
|
161
|
+
```typescript
|
|
162
|
+
// Analyze mutation score and generate fixes
|
|
163
|
+
await Task("Mutation Analysis", {
|
|
164
|
+
targetFile: 'src/payment.ts',
|
|
165
|
+
generateMissingTests: true,
|
|
166
|
+
minScore: 80
|
|
167
|
+
}, "qe-test-generator");
|
|
168
|
+
|
|
169
|
+
// Returns:
|
|
170
|
+
// {
|
|
171
|
+
// mutationScore: 0.65,
|
|
172
|
+
// survivedMutations: [
|
|
173
|
+
// { line: 45, operator: '>=', mutant: '>', killedBy: null }
|
|
174
|
+
// ],
|
|
175
|
+
// generatedTests: [
|
|
176
|
+
// 'test for boundary at line 45'
|
|
177
|
+
// ]
|
|
178
|
+
// }
|
|
179
|
+
|
|
180
|
+
// Coverage + mutation correlation
|
|
181
|
+
await Task("Coverage Quality Analysis", {
|
|
182
|
+
coverageData: coverageReport,
|
|
183
|
+
mutationData: mutationReport,
|
|
184
|
+
identifyWeakCoverage: true
|
|
185
|
+
}, "qe-coverage-analyzer");
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
---
|
|
189
|
+
|
|
190
|
+
## Agent Coordination Hints
|
|
191
|
+
|
|
192
|
+
### Memory Namespace
|
|
193
|
+
```
|
|
194
|
+
aqe/mutation-testing/
|
|
195
|
+
├── mutation-results/* - Stryker reports
|
|
196
|
+
├── surviving/* - Surviving mutants
|
|
197
|
+
├── generated-tests/* - Tests to kill mutants
|
|
198
|
+
└── trends/* - Mutation score over time
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
### Fleet Coordination
|
|
202
|
+
```typescript
|
|
203
|
+
const mutationFleet = await FleetManager.coordinate({
|
|
204
|
+
strategy: 'mutation-testing',
|
|
205
|
+
agents: [
|
|
206
|
+
'qe-test-generator', // Generate tests for survivors
|
|
207
|
+
'qe-coverage-analyzer', // Coverage correlation
|
|
208
|
+
'qe-quality-analyzer' // Quality assessment
|
|
209
|
+
],
|
|
210
|
+
topology: 'sequential'
|
|
211
|
+
});
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
---
|
|
215
|
+
|
|
216
|
+
## Related Skills
|
|
217
|
+
- [tdd-london-chicago](../tdd-london-chicago/) - Write effective tests first
|
|
218
|
+
- [test-design-techniques](../test-design-techniques/) - Boundary value analysis
|
|
219
|
+
- [quality-metrics](../quality-metrics/) - Measure test effectiveness
|
|
220
|
+
|
|
221
|
+
---
|
|
222
|
+
|
|
223
|
+
## Remember
|
|
224
|
+
|
|
225
|
+
**High code coverage ≠ good tests.** 100% coverage but weak assertions = useless. Mutation testing proves tests actually catch bugs.
|
|
226
|
+
|
|
227
|
+
**Focus on critical paths first.** Don't mutation test everything - prioritize payment, authentication, data integrity code.
|
|
228
|
+
|
|
229
|
+
**With Agents:** Agents run mutation analysis, identify surviving mutants, and generate missing test cases to kill them. Automated improvement of test quality.
|