agentic-qe 3.7.9 → 3.7.11
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/.claude/skills/.validation/README.md +111 -111
- package/.claude/skills/.validation/examples/chaos-engineering-output.example.json +530 -530
- package/.claude/skills/.validation/examples/performance-testing-output.example.json +252 -252
- package/.claude/skills/.validation/examples/security-testing-output.example.json +413 -413
- package/.claude/skills/.validation/examples/testability-scoring-output.example.json +350 -350
- package/.claude/skills/.validation/schemas/skill-eval.schema.json +462 -462
- package/.claude/skills/.validation/schemas/skill-frontmatter.schema.json +341 -341
- package/.claude/skills/.validation/schemas/skill-output-meta.schema.json +199 -199
- package/.claude/skills/.validation/schemas/skill-output.template.json +610 -610
- package/.claude/skills/.validation/skill-validation-mcp-integration.md +250 -250
- package/.claude/skills/.validation/templates/eval.template.yaml +366 -366
- package/.claude/skills/.validation/templates/schemas/output.json +145 -145
- package/.claude/skills/.validation/templates/security-testing-eval.template.yaml +725 -725
- package/.claude/skills/.validation/templates/skill-frontmatter.example.yaml +225 -225
- package/.claude/skills/.validation/test-data/invalid-output.json +5 -5
- package/.claude/skills/.validation/test-data/minimal-output.json +9 -9
- package/.claude/skills/.validation/test-data/sample-output.json +73 -73
- package/.claude/skills/a11y-ally/evals/a11y-ally.yaml +376 -376
- package/.claude/skills/a11y-ally/schemas/output.json +549 -549
- package/.claude/skills/accessibility-testing/evals/accessibility-testing.yaml +719 -719
- package/.claude/skills/accessibility-testing/schemas/output.json +776 -776
- package/.claude/skills/accessibility-testing/test-data/sample-output.json +191 -191
- package/.claude/skills/agentic-quality-engineering/schemas/output.json +577 -577
- package/.claude/skills/api-testing-patterns/evals/api-testing-patterns.yaml +696 -696
- package/.claude/skills/api-testing-patterns/schemas/output.json +845 -845
- package/.claude/skills/aqe-v2-v3-migration/schemas/output.json +513 -513
- package/.claude/skills/brutal-honesty-review/schemas/output.json +291 -291
- package/.claude/skills/bug-reporting-excellence/schemas/output.json +288 -288
- package/.claude/skills/chaos-engineering-resilience/evals/chaos-engineering-resilience.yaml +761 -761
- package/.claude/skills/chaos-engineering-resilience/schemas/output.json +1205 -1205
- package/.claude/skills/cicd-pipeline-qe-orchestrator/evals/cicd-pipeline-qe-orchestrator.yaml +157 -157
- package/.claude/skills/cicd-pipeline-qe-orchestrator/schemas/output.json +542 -542
- package/.claude/skills/code-review-quality/schemas/output.json +264 -264
- package/.claude/skills/compatibility-testing/evals/compatibility-testing.yaml +410 -410
- package/.claude/skills/compatibility-testing/schemas/output.json +551 -551
- package/.claude/skills/compliance-testing/evals/compliance-testing.yaml +1107 -1107
- package/.claude/skills/compliance-testing/schemas/output.json +845 -845
- package/.claude/skills/consultancy-practices/schemas/output.json +282 -282
- package/.claude/skills/contract-testing/evals/contract-testing.yaml +748 -748
- package/.claude/skills/contract-testing/schemas/output.json +638 -638
- package/.claude/skills/database-testing/evals/database-testing.yaml +968 -968
- package/.claude/skills/database-testing/schemas/output.json +1446 -1446
- package/.claude/skills/debug-loop/SKILL.md +61 -61
- package/.claude/skills/enterprise-integration-testing/SKILL.md +735 -735
- package/.claude/skills/enterprise-integration-testing/evals/enterprise-integration-testing.yaml +158 -158
- package/.claude/skills/enterprise-integration-testing/schemas/output.json +74 -74
- package/.claude/skills/enterprise-integration-testing/scripts/validate-config.json +25 -25
- package/.claude/skills/iterative-loop/SKILL.md +371 -371
- package/.claude/skills/localization-testing/evals/localization-testing.yaml +544 -544
- package/.claude/skills/localization-testing/schemas/output.json +325 -325
- package/.claude/skills/middleware-testing-patterns/SKILL.md +798 -798
- package/.claude/skills/middleware-testing-patterns/evals/middleware-testing-patterns.yaml +153 -153
- package/.claude/skills/middleware-testing-patterns/schemas/output.json +58 -58
- package/.claude/skills/middleware-testing-patterns/scripts/validate-config.json +25 -25
- package/.claude/skills/mobile-testing/evals/mobile-testing.yaml +537 -537
- package/.claude/skills/mobile-testing/schemas/output.json +318 -318
- package/.claude/skills/mutation-testing/evals/mutation-testing.yaml +652 -652
- package/.claude/skills/mutation-testing/schemas/output.json +707 -707
- package/.claude/skills/mutation-testing/test-data/sample-output.json +295 -295
- package/.claude/skills/n8n-expression-testing/evals/n8n-expression-testing.yaml +450 -450
- package/.claude/skills/n8n-expression-testing/schemas/output.json +369 -369
- package/.claude/skills/n8n-integration-testing-patterns/evals/n8n-integration-testing-patterns.yaml +522 -522
- package/.claude/skills/n8n-integration-testing-patterns/schemas/output.json +291 -291
- package/.claude/skills/n8n-security-testing/evals/n8n-security-testing.yaml +493 -493
- package/.claude/skills/n8n-security-testing/schemas/output.json +293 -293
- package/.claude/skills/n8n-trigger-testing-strategies/evals/n8n-trigger-testing-strategies.yaml +500 -500
- package/.claude/skills/n8n-trigger-testing-strategies/schemas/output.json +295 -295
- package/.claude/skills/n8n-workflow-testing-fundamentals/evals/n8n-workflow-testing-fundamentals.yaml +497 -497
- package/.claude/skills/n8n-workflow-testing-fundamentals/schemas/output.json +254 -254
- package/.claude/skills/observability-testing-patterns/SKILL.md +930 -930
- package/.claude/skills/observability-testing-patterns/evals/observability-testing-patterns.yaml +157 -157
- package/.claude/skills/observability-testing-patterns/schemas/output.json +58 -58
- package/.claude/skills/observability-testing-patterns/scripts/validate-config.json +25 -25
- package/.claude/skills/pentest-validation/SKILL.md +268 -268
- package/.claude/skills/pentest-validation/evals/pentest-validation.yaml +708 -708
- package/.claude/skills/pentest-validation/schemas/output.json +281 -281
- package/.claude/skills/performance-analysis/evals/performance-analysis.yaml +144 -144
- package/.claude/skills/performance-analysis/schemas/output.json +588 -588
- package/.claude/skills/performance-testing/evals/performance-testing.yaml +772 -772
- package/.claude/skills/performance-testing/schemas/output.json +1184 -1184
- package/.claude/skills/pr-review/SKILL.md +61 -61
- package/.claude/skills/qcsd-cicd-swarm/SKILL.md +2206 -2206
- package/.claude/skills/qcsd-cicd-swarm/evals/qcsd-cicd-swarm.yaml +211 -211
- package/.claude/skills/qcsd-cicd-swarm/schemas/output.json +86 -86
- package/.claude/skills/qcsd-cicd-swarm/scripts/validate-config.json +30 -30
- package/.claude/skills/qcsd-development-swarm/SKILL.md +2154 -2154
- package/.claude/skills/qcsd-development-swarm/evals/qcsd-development-swarm.yaml +162 -162
- package/.claude/skills/qcsd-development-swarm/schemas/output.json +72 -72
- package/.claude/skills/qcsd-development-swarm/scripts/validate-config.json +25 -25
- package/.claude/skills/qcsd-ideation-swarm/evals/qcsd-ideation-swarm.yaml +138 -138
- package/.claude/skills/qcsd-ideation-swarm/schemas/output.json +568 -568
- package/.claude/skills/qcsd-production-swarm/SKILL.md +2781 -2781
- package/.claude/skills/qcsd-production-swarm/evals/qcsd-production-swarm.yaml +246 -246
- package/.claude/skills/qcsd-production-swarm/schemas/output.json +505 -505
- package/.claude/skills/qcsd-production-swarm/scripts/validate-config.json +25 -25
- package/.claude/skills/qe-chaos-resilience/evals/qe-chaos-resilience.yaml +443 -443
- package/.claude/skills/qe-chaos-resilience/schemas/output.json +314 -314
- package/.claude/skills/qe-code-intelligence/evals/qe-code-intelligence.yaml +459 -459
- package/.claude/skills/qe-code-intelligence/schemas/output.json +315 -315
- package/.claude/skills/qe-contract-testing/evals/qe-contract-testing.yaml +513 -513
- package/.claude/skills/qe-contract-testing/schemas/output.json +295 -295
- package/.claude/skills/qe-coverage-analysis/evals/qe-coverage-analysis.yaml +494 -494
- package/.claude/skills/qe-coverage-analysis/schemas/output.json +286 -286
- package/.claude/skills/qe-defect-intelligence/evals/qe-defect-intelligence.yaml +511 -511
- package/.claude/skills/qe-defect-intelligence/schemas/output.json +283 -283
- package/.claude/skills/qe-iterative-loop/schemas/output.json +264 -264
- package/.claude/skills/qe-learning-optimization/evals/qe-learning-optimization.yaml +144 -144
- package/.claude/skills/qe-learning-optimization/schemas/output.json +288 -288
- package/.claude/skills/qe-quality-assessment/evals/qe-quality-assessment.yaml +506 -506
- package/.claude/skills/qe-quality-assessment/schemas/output.json +550 -550
- package/.claude/skills/qe-requirements-validation/evals/qe-requirements-validation.yaml +598 -598
- package/.claude/skills/qe-requirements-validation/schemas/output.json +587 -587
- package/.claude/skills/qe-security-compliance/evals/qe-security-compliance.yaml +595 -595
- package/.claude/skills/qe-security-compliance/schemas/output.json +498 -498
- package/.claude/skills/qe-test-execution/evals/qe-test-execution.yaml +607 -607
- package/.claude/skills/qe-test-execution/schemas/output.json +529 -529
- package/.claude/skills/qe-test-generation/evals/qe-test-generation.yaml +148 -148
- package/.claude/skills/qe-test-generation/schemas/output.json +439 -439
- package/.claude/skills/qe-visual-accessibility/evals/qe-visual-accessibility.yaml +142 -142
- package/.claude/skills/qe-visual-accessibility/schemas/output.json +491 -491
- package/.claude/skills/quality-metrics/evals/quality-metrics.yaml +494 -494
- package/.claude/skills/quality-metrics/schemas/output.json +403 -403
- package/.claude/skills/refactoring-patterns/schemas/output.json +475 -475
- package/.claude/skills/regression-testing/evals/regression-testing.yaml +504 -504
- package/.claude/skills/regression-testing/schemas/output.json +311 -311
- package/.claude/skills/release/SKILL.md +347 -347
- package/.claude/skills/risk-based-testing/evals/risk-based-testing.yaml +141 -141
- package/.claude/skills/risk-based-testing/schemas/output.json +480 -480
- package/.claude/skills/security-testing/evals/security-testing.yaml +789 -789
- package/.claude/skills/security-testing/schemas/output.json +879 -879
- package/.claude/skills/security-visual-testing/evals/security-visual-testing.yaml +163 -163
- package/.claude/skills/security-visual-testing/schemas/output.json +486 -486
- package/.claude/skills/sfdipot-product-factors/SKILL.md +239 -239
- package/.claude/skills/sherlock-review/schemas/output.json +297 -297
- package/.claude/skills/shift-left-testing/evals/shift-left-testing.yaml +145 -145
- package/.claude/skills/shift-left-testing/schemas/output.json +459 -459
- package/.claude/skills/shift-right-testing/evals/shift-right-testing.yaml +147 -147
- package/.claude/skills/shift-right-testing/schemas/output.json +418 -418
- package/.claude/skills/skills-manifest.json +1 -1
- package/.claude/skills/tdd-london-chicago/schemas/output.json +444 -444
- package/.claude/skills/technical-writing/schemas/output.json +268 -268
- package/.claude/skills/test-automation-strategy/evals/test-automation-strategy.yaml +148 -148
- package/.claude/skills/test-automation-strategy/schemas/output.json +444 -444
- package/.claude/skills/test-data-management/evals/test-data-management.yaml +504 -504
- package/.claude/skills/test-data-management/schemas/output.json +284 -284
- package/.claude/skills/test-design-techniques/evals/test-design-techniques.yaml +142 -142
- package/.claude/skills/test-design-techniques/schemas/output.json +295 -295
- package/.claude/skills/test-environment-management/schemas/output.json +310 -310
- package/.claude/skills/test-idea-rewriting/SKILL.md +229 -229
- package/.claude/skills/test-reporting-analytics/evals/test-reporting-analytics.yaml +155 -155
- package/.claude/skills/test-reporting-analytics/schemas/output.json +329 -329
- package/.claude/skills/testability-scoring/evals/testability-scoring.yaml +814 -814
- package/.claude/skills/testability-scoring/resources/templates/config.template.js +84 -84
- package/.claude/skills/testability-scoring/schemas/output.json +606 -606
- package/.claude/skills/testability-scoring/scripts/generate-html-report.js +1007 -1007
- package/.claude/skills/verification-quality/evals/verification-quality.yaml +150 -150
- package/.claude/skills/verification-quality/schemas/output.json +432 -432
- package/.claude/skills/visual-testing-advanced/evals/visual-testing-advanced.yaml +154 -154
- package/.claude/skills/visual-testing-advanced/schemas/output.json +294 -294
- package/.claude/skills/wms-testing-patterns/evals/wms-testing-patterns.yaml +165 -165
- package/.claude/skills/wms-testing-patterns/schemas/output.json +150 -150
- package/.claude/skills/wms-testing-patterns/scripts/validate-config.json +51 -51
- package/CHANGELOG.md +36 -0
- package/README.md +171 -901
- package/assets/agents/v3/helpers/quality-criteria/evidence-classification.md +116 -116
- package/assets/agents/v3/helpers/quality-criteria/htsm-categories.md +139 -139
- package/assets/governance/constitution.md +202 -202
- package/assets/governance/shards/chaos-resilience.shard.md +221 -221
- package/assets/governance/shards/code-intelligence.shard.md +178 -178
- package/assets/governance/shards/contract-testing.shard.md +206 -206
- package/assets/governance/shards/coverage-analysis.shard.md +146 -146
- package/assets/governance/shards/defect-intelligence.shard.md +182 -182
- package/assets/governance/shards/learning-optimization.shard.md +248 -248
- package/assets/governance/shards/quality-assessment.shard.md +165 -165
- package/assets/governance/shards/requirements-validation.shard.md +177 -177
- package/assets/governance/shards/security-compliance.shard.md +196 -196
- package/assets/governance/shards/test-execution.shard.md +156 -156
- package/assets/governance/shards/test-generation.shard.md +128 -128
- package/assets/governance/shards/visual-accessibility.shard.md +209 -209
- package/assets/hooks/cross-phase-memory.yaml +253 -253
- package/assets/patterns/adr-051-booster-patterns.json +78 -78
- package/assets/patterns/adr-051-embedding-patterns.json +147 -147
- package/assets/patterns/adr-051-integration-summary.json +62 -62
- package/assets/patterns/adr-051-reasoning-patterns.json +166 -166
- package/assets/patterns/adr-051-router-patterns.json +113 -113
- package/assets/patterns/index.json +136 -136
- package/assets/skills/.validation/README.md +111 -111
- package/assets/skills/.validation/examples/chaos-engineering-output.example.json +530 -530
- package/assets/skills/.validation/examples/performance-testing-output.example.json +252 -252
- package/assets/skills/.validation/examples/security-testing-output.example.json +413 -413
- package/assets/skills/.validation/examples/testability-scoring-output.example.json +350 -350
- package/assets/skills/.validation/schemas/skill-eval.schema.json +462 -462
- package/assets/skills/.validation/schemas/skill-frontmatter.schema.json +341 -341
- package/assets/skills/.validation/schemas/skill-output-meta.schema.json +199 -199
- package/assets/skills/.validation/schemas/skill-output.template.json +610 -610
- package/assets/skills/.validation/skill-validation-mcp-integration.md +250 -250
- package/assets/skills/.validation/templates/eval.template.yaml +366 -366
- package/assets/skills/.validation/templates/schemas/output.json +145 -145
- package/assets/skills/.validation/templates/security-testing-eval.template.yaml +725 -725
- package/assets/skills/.validation/templates/skill-frontmatter.example.yaml +225 -225
- package/assets/skills/.validation/test-data/invalid-output.json +5 -5
- package/assets/skills/.validation/test-data/minimal-output.json +9 -9
- package/assets/skills/.validation/test-data/sample-output.json +73 -73
- package/assets/skills/a11y-ally/evals/a11y-ally.yaml +376 -376
- package/assets/skills/a11y-ally/schemas/output.json +549 -549
- package/assets/skills/accessibility-testing/evals/accessibility-testing.yaml +719 -719
- package/assets/skills/accessibility-testing/schemas/output.json +776 -776
- package/assets/skills/accessibility-testing/test-data/sample-output.json +191 -191
- package/assets/skills/agentic-quality-engineering/schemas/output.json +577 -577
- package/assets/skills/api-testing-patterns/evals/api-testing-patterns.yaml +696 -696
- package/assets/skills/api-testing-patterns/schemas/output.json +845 -845
- package/assets/skills/aqe-v2-v3-migration/schemas/output.json +513 -513
- package/assets/skills/brutal-honesty-review/schemas/output.json +291 -291
- package/assets/skills/bug-reporting-excellence/schemas/output.json +288 -288
- package/assets/skills/chaos-engineering-resilience/evals/chaos-engineering-resilience.yaml +761 -761
- package/assets/skills/chaos-engineering-resilience/schemas/output.json +1205 -1205
- package/assets/skills/cicd-pipeline-qe-orchestrator/evals/cicd-pipeline-qe-orchestrator.yaml +157 -157
- package/assets/skills/cicd-pipeline-qe-orchestrator/schemas/output.json +542 -542
- package/assets/skills/code-review-quality/schemas/output.json +264 -264
- package/assets/skills/compatibility-testing/evals/compatibility-testing.yaml +410 -410
- package/assets/skills/compatibility-testing/schemas/output.json +551 -551
- package/assets/skills/compliance-testing/evals/compliance-testing.yaml +1107 -1107
- package/assets/skills/compliance-testing/schemas/output.json +845 -845
- package/assets/skills/consultancy-practices/schemas/output.json +282 -282
- package/assets/skills/contract-testing/evals/contract-testing.yaml +748 -748
- package/assets/skills/contract-testing/schemas/output.json +638 -638
- package/assets/skills/database-testing/evals/database-testing.yaml +968 -968
- package/assets/skills/database-testing/schemas/output.json +1446 -1446
- package/assets/skills/debug-loop/SKILL.md +61 -61
- package/assets/skills/enterprise-integration-testing/SKILL.md +735 -735
- package/assets/skills/enterprise-integration-testing/evals/enterprise-integration-testing.yaml +158 -158
- package/assets/skills/enterprise-integration-testing/schemas/output.json +74 -74
- package/assets/skills/enterprise-integration-testing/scripts/validate-config.json +25 -25
- package/assets/skills/localization-testing/evals/localization-testing.yaml +544 -544
- package/assets/skills/localization-testing/schemas/output.json +325 -325
- package/assets/skills/middleware-testing-patterns/SKILL.md +798 -798
- package/assets/skills/middleware-testing-patterns/evals/middleware-testing-patterns.yaml +153 -153
- package/assets/skills/middleware-testing-patterns/schemas/output.json +58 -58
- package/assets/skills/middleware-testing-patterns/scripts/validate-config.json +25 -25
- package/assets/skills/mobile-testing/evals/mobile-testing.yaml +537 -537
- package/assets/skills/mobile-testing/schemas/output.json +318 -318
- package/assets/skills/mutation-testing/evals/mutation-testing.yaml +652 -652
- package/assets/skills/mutation-testing/schemas/output.json +707 -707
- package/assets/skills/mutation-testing/test-data/sample-output.json +295 -295
- package/assets/skills/n8n-expression-testing/evals/n8n-expression-testing.yaml +450 -450
- package/assets/skills/n8n-expression-testing/schemas/output.json +369 -369
- package/assets/skills/n8n-integration-testing-patterns/evals/n8n-integration-testing-patterns.yaml +522 -522
- package/assets/skills/n8n-integration-testing-patterns/schemas/output.json +291 -291
- package/assets/skills/n8n-security-testing/evals/n8n-security-testing.yaml +493 -493
- package/assets/skills/n8n-security-testing/schemas/output.json +293 -293
- package/assets/skills/n8n-trigger-testing-strategies/evals/n8n-trigger-testing-strategies.yaml +500 -500
- package/assets/skills/n8n-trigger-testing-strategies/schemas/output.json +295 -295
- package/assets/skills/n8n-workflow-testing-fundamentals/evals/n8n-workflow-testing-fundamentals.yaml +497 -497
- package/assets/skills/n8n-workflow-testing-fundamentals/schemas/output.json +254 -254
- package/assets/skills/observability-testing-patterns/SKILL.md +930 -930
- package/assets/skills/observability-testing-patterns/evals/observability-testing-patterns.yaml +157 -157
- package/assets/skills/observability-testing-patterns/schemas/output.json +58 -58
- package/assets/skills/observability-testing-patterns/scripts/validate-config.json +25 -25
- package/assets/skills/pentest-validation/SKILL.md +268 -268
- package/assets/skills/pentest-validation/evals/pentest-validation.yaml +708 -708
- package/assets/skills/pentest-validation/schemas/output.json +281 -281
- package/assets/skills/performance-testing/evals/performance-testing.yaml +772 -772
- package/assets/skills/performance-testing/schemas/output.json +1184 -1184
- package/assets/skills/pr-review/SKILL.md +61 -61
- package/assets/skills/qcsd-cicd-swarm/SKILL.md +2206 -2206
- package/assets/skills/qcsd-cicd-swarm/evals/qcsd-cicd-swarm.yaml +211 -211
- package/assets/skills/qcsd-cicd-swarm/schemas/output.json +86 -86
- package/assets/skills/qcsd-cicd-swarm/scripts/validate-config.json +30 -30
- package/assets/skills/qcsd-development-swarm/SKILL.md +2154 -2154
- package/assets/skills/qcsd-development-swarm/evals/qcsd-development-swarm.yaml +162 -162
- package/assets/skills/qcsd-development-swarm/schemas/output.json +72 -72
- package/assets/skills/qcsd-development-swarm/scripts/validate-config.json +25 -25
- package/assets/skills/qcsd-ideation-swarm/evals/qcsd-ideation-swarm.yaml +138 -138
- package/assets/skills/qcsd-ideation-swarm/schemas/output.json +568 -568
- package/assets/skills/qcsd-production-swarm/SKILL.md +2781 -2781
- package/assets/skills/qcsd-production-swarm/evals/qcsd-production-swarm.yaml +246 -246
- package/assets/skills/qcsd-production-swarm/schemas/output.json +505 -505
- package/assets/skills/qcsd-production-swarm/scripts/validate-config.json +25 -25
- package/assets/skills/qe-chaos-resilience/evals/qe-chaos-resilience.yaml +443 -443
- package/assets/skills/qe-chaos-resilience/schemas/output.json +314 -314
- package/assets/skills/qe-code-intelligence/evals/qe-code-intelligence.yaml +459 -459
- package/assets/skills/qe-code-intelligence/schemas/output.json +315 -315
- package/assets/skills/qe-contract-testing/evals/qe-contract-testing.yaml +513 -513
- package/assets/skills/qe-contract-testing/schemas/output.json +295 -295
- package/assets/skills/qe-coverage-analysis/evals/qe-coverage-analysis.yaml +494 -494
- package/assets/skills/qe-coverage-analysis/schemas/output.json +286 -286
- package/assets/skills/qe-defect-intelligence/evals/qe-defect-intelligence.yaml +511 -511
- package/assets/skills/qe-defect-intelligence/schemas/output.json +283 -283
- package/assets/skills/qe-iterative-loop/schemas/output.json +264 -264
- package/assets/skills/qe-learning-optimization/evals/qe-learning-optimization.yaml +144 -144
- package/assets/skills/qe-learning-optimization/schemas/output.json +288 -288
- package/assets/skills/qe-quality-assessment/evals/qe-quality-assessment.yaml +506 -506
- package/assets/skills/qe-quality-assessment/schemas/output.json +550 -550
- package/assets/skills/qe-requirements-validation/evals/qe-requirements-validation.yaml +598 -598
- package/assets/skills/qe-requirements-validation/schemas/output.json +587 -587
- package/assets/skills/qe-security-compliance/evals/qe-security-compliance.yaml +595 -595
- package/assets/skills/qe-security-compliance/schemas/output.json +498 -498
- package/assets/skills/qe-test-execution/evals/qe-test-execution.yaml +607 -607
- package/assets/skills/qe-test-execution/schemas/output.json +529 -529
- package/assets/skills/qe-test-generation/evals/qe-test-generation.yaml +148 -148
- package/assets/skills/qe-test-generation/schemas/output.json +439 -439
- package/assets/skills/qe-visual-accessibility/evals/qe-visual-accessibility.yaml +142 -142
- package/assets/skills/qe-visual-accessibility/schemas/output.json +491 -491
- package/assets/skills/quality-metrics/evals/quality-metrics.yaml +494 -494
- package/assets/skills/quality-metrics/schemas/output.json +403 -403
- package/assets/skills/refactoring-patterns/schemas/output.json +475 -475
- package/assets/skills/regression-testing/evals/regression-testing.yaml +504 -504
- package/assets/skills/regression-testing/schemas/output.json +311 -311
- package/assets/skills/risk-based-testing/evals/risk-based-testing.yaml +141 -141
- package/assets/skills/risk-based-testing/schemas/output.json +480 -480
- package/assets/skills/security-testing/evals/security-testing.yaml +789 -789
- package/assets/skills/security-testing/schemas/output.json +879 -879
- package/assets/skills/security-visual-testing/evals/security-visual-testing.yaml +163 -163
- package/assets/skills/security-visual-testing/schemas/output.json +486 -486
- package/assets/skills/sfdipot-product-factors/SKILL.md +239 -239
- package/assets/skills/sherlock-review/schemas/output.json +297 -297
- package/assets/skills/shift-left-testing/evals/shift-left-testing.yaml +145 -145
- package/assets/skills/shift-left-testing/schemas/output.json +459 -459
- package/assets/skills/shift-right-testing/evals/shift-right-testing.yaml +147 -147
- package/assets/skills/shift-right-testing/schemas/output.json +418 -418
- package/assets/skills/tdd-london-chicago/schemas/output.json +444 -444
- package/assets/skills/technical-writing/schemas/output.json +268 -268
- package/assets/skills/test-automation-strategy/evals/test-automation-strategy.yaml +148 -148
- package/assets/skills/test-automation-strategy/schemas/output.json +444 -444
- package/assets/skills/test-data-management/evals/test-data-management.yaml +504 -504
- package/assets/skills/test-data-management/schemas/output.json +284 -284
- package/assets/skills/test-design-techniques/evals/test-design-techniques.yaml +142 -142
- package/assets/skills/test-design-techniques/schemas/output.json +295 -295
- package/assets/skills/test-environment-management/schemas/output.json +310 -310
- package/assets/skills/test-idea-rewriting/SKILL.md +229 -229
- package/assets/skills/test-reporting-analytics/evals/test-reporting-analytics.yaml +155 -155
- package/assets/skills/test-reporting-analytics/schemas/output.json +329 -329
- package/assets/skills/testability-scoring/evals/testability-scoring.yaml +814 -814
- package/assets/skills/testability-scoring/resources/templates/config.template.js +84 -84
- package/assets/skills/testability-scoring/schemas/output.json +606 -606
- package/assets/skills/testability-scoring/scripts/generate-html-report.js +1007 -1007
- package/assets/skills/verification-quality/evals/verification-quality.yaml +150 -150
- package/assets/skills/verification-quality/schemas/output.json +432 -432
- package/assets/skills/visual-testing-advanced/evals/visual-testing-advanced.yaml +154 -154
- package/assets/skills/visual-testing-advanced/schemas/output.json +294 -294
- package/assets/skills/wms-testing-patterns/evals/wms-testing-patterns.yaml +165 -165
- package/assets/skills/wms-testing-patterns/schemas/output.json +150 -150
- package/assets/skills/wms-testing-patterns/scripts/validate-config.json +51 -51
- package/assets/templates/validation-summary.json +56 -56
- package/dist/agents/claim-verifier/verifiers/output-verifier.d.ts +1 -0
- package/dist/agents/claim-verifier/verifiers/output-verifier.d.ts.map +1 -1
- package/dist/agents/claim-verifier/verifiers/output-verifier.js +16 -3
- package/dist/agents/claim-verifier/verifiers/output-verifier.js.map +1 -1
- package/dist/cli/bundle.js +488 -75
- package/dist/cli/commands/mcp.d.ts.map +1 -1
- package/dist/cli/commands/mcp.js +11 -9
- package/dist/cli/commands/mcp.js.map +1 -1
- package/dist/governance/adversarial-defense-integration.d.ts +29 -0
- package/dist/governance/adversarial-defense-integration.d.ts.map +1 -1
- package/dist/governance/adversarial-defense-integration.js +85 -1
- package/dist/governance/adversarial-defense-integration.js.map +1 -1
- package/dist/governance/continue-gate-integration.d.ts +7 -5
- package/dist/governance/continue-gate-integration.d.ts.map +1 -1
- package/dist/governance/continue-gate-integration.js +72 -15
- package/dist/governance/continue-gate-integration.js.map +1 -1
- package/dist/governance/deterministic-gateway-integration.d.ts +5 -0
- package/dist/governance/deterministic-gateway-integration.d.ts.map +1 -1
- package/dist/governance/deterministic-gateway-integration.js +35 -1
- package/dist/governance/deterministic-gateway-integration.js.map +1 -1
- package/dist/governance/evolution-pipeline-integration.d.ts +5 -0
- package/dist/governance/evolution-pipeline-integration.d.ts.map +1 -1
- package/dist/governance/evolution-pipeline-integration.js +57 -1
- package/dist/governance/evolution-pipeline-integration.js.map +1 -1
- package/dist/governance/memory-write-gate-integration.d.ts +6 -3
- package/dist/governance/memory-write-gate-integration.d.ts.map +1 -1
- package/dist/governance/memory-write-gate-integration.js +48 -10
- package/dist/governance/memory-write-gate-integration.js.map +1 -1
- package/dist/governance/proof-envelope-integration.d.ts +1 -0
- package/dist/governance/proof-envelope-integration.d.ts.map +1 -1
- package/dist/governance/proof-envelope-integration.js +37 -0
- package/dist/governance/proof-envelope-integration.js.map +1 -1
- package/dist/governance/shard-retriever-integration.d.ts +10 -0
- package/dist/governance/shard-retriever-integration.d.ts.map +1 -1
- package/dist/governance/shard-retriever-integration.js +50 -1
- package/dist/governance/shard-retriever-integration.js.map +1 -1
- package/dist/governance/trust-accumulator-integration.d.ts +5 -0
- package/dist/governance/trust-accumulator-integration.d.ts.map +1 -1
- package/dist/governance/trust-accumulator-integration.js +35 -2
- package/dist/governance/trust-accumulator-integration.js.map +1 -1
- package/dist/init/phases/10-workers.js +2 -2
- package/dist/init/phases/10-workers.js.map +1 -1
- package/dist/mcp/bundle.js +478 -62
- package/dist/mcp/protocol-server.js +2 -2
- package/dist/mcp/tool-registry.d.ts.map +1 -1
- package/dist/mcp/tool-registry.js +1 -0
- package/dist/mcp/tool-registry.js.map +1 -1
- package/dist/shared/language-detector.js +1 -1
- package/dist/shared/language-detector.js.map +1 -1
- package/dist/shared/parsers/multi-language-parser.d.ts.map +1 -1
- package/dist/shared/parsers/multi-language-parser.js +55 -16
- package/dist/shared/parsers/multi-language-parser.js.map +1 -1
- package/dist/shared/sql-safety.d.ts.map +1 -1
- package/dist/shared/sql-safety.js +7 -1
- package/dist/shared/sql-safety.js.map +1 -1
- package/package.json +6 -2
- package/scripts/prepare-assets.sh +8 -0
|
@@ -1,607 +1,607 @@
|
|
|
1
|
-
# =============================================================================
|
|
2
|
-
# AQE Skill Evaluation Test Suite: QE Test Execution v1.0.0
|
|
3
|
-
# =============================================================================
|
|
4
|
-
#
|
|
5
|
-
# Comprehensive evaluation suite for the qe-test-execution skill.
|
|
6
|
-
# Tests parallel test execution orchestration, smart test selection,
|
|
7
|
-
# flaky test handling, and comprehensive result aggregation.
|
|
8
|
-
#
|
|
9
|
-
# Schema: .claude/skills/.validation/schemas/skill-eval.schema.json
|
|
10
|
-
# Validator: .claude/skills/qe-test-execution/scripts/validate-config.json
|
|
11
|
-
#
|
|
12
|
-
# Coverage:
|
|
13
|
-
# - Parallel execution with intelligent distribution
|
|
14
|
-
# - Smart test selection (affected tests)
|
|
15
|
-
# - Flaky test detection and handling
|
|
16
|
-
# - Test result aggregation and reporting
|
|
17
|
-
# - CI/CD pipeline integration
|
|
18
|
-
#
|
|
19
|
-
# =============================================================================
|
|
20
|
-
|
|
21
|
-
skill: qe-test-execution
|
|
22
|
-
version: 1.0.0
|
|
23
|
-
description: >
|
|
24
|
-
Comprehensive evaluation suite for the qe-test-execution skill.
|
|
25
|
-
Tests parallel test execution orchestration, smart test selection based on
|
|
26
|
-
code changes, flaky test detection and quarantine, distributed test execution
|
|
27
|
-
with sharding, and comprehensive result aggregation across shards.
|
|
28
|
-
|
|
29
|
-
# =============================================================================
|
|
30
|
-
# Multi-Model Configuration
|
|
31
|
-
# =============================================================================
|
|
32
|
-
|
|
33
|
-
models_to_test:
|
|
34
|
-
- claude-3.5-sonnet
|
|
35
|
-
- claude-3-haiku
|
|
36
|
-
|
|
37
|
-
# =============================================================================
|
|
38
|
-
# MCP Integration Configuration
|
|
39
|
-
# =============================================================================
|
|
40
|
-
|
|
41
|
-
mcp_integration:
|
|
42
|
-
enabled: true
|
|
43
|
-
namespace: skill-validation
|
|
44
|
-
|
|
45
|
-
query_patterns: true
|
|
46
|
-
track_outcomes: true
|
|
47
|
-
store_patterns: true
|
|
48
|
-
share_learning: true
|
|
49
|
-
update_quality_gate: true
|
|
50
|
-
|
|
51
|
-
target_agents:
|
|
52
|
-
- qe-learning-coordinator
|
|
53
|
-
- qe-queen-coordinator
|
|
54
|
-
- qe-test-executor
|
|
55
|
-
- qe-flaky-detector
|
|
56
|
-
|
|
57
|
-
# =============================================================================
|
|
58
|
-
# ReasoningBank Learning Configuration
|
|
59
|
-
# =============================================================================
|
|
60
|
-
|
|
61
|
-
learning:
|
|
62
|
-
store_success_patterns: true
|
|
63
|
-
store_failure_patterns: true
|
|
64
|
-
pattern_ttl_days: 90
|
|
65
|
-
min_confidence_to_store: 0.7
|
|
66
|
-
cross_model_comparison: true
|
|
67
|
-
|
|
68
|
-
# =============================================================================
|
|
69
|
-
# Result Format Configuration
|
|
70
|
-
# =============================================================================
|
|
71
|
-
|
|
72
|
-
result_format:
|
|
73
|
-
json_output: true
|
|
74
|
-
markdown_report: true
|
|
75
|
-
include_raw_output: false
|
|
76
|
-
include_timing: true
|
|
77
|
-
include_token_usage: true
|
|
78
|
-
|
|
79
|
-
# =============================================================================
|
|
80
|
-
# Environment Setup
|
|
81
|
-
# =============================================================================
|
|
82
|
-
|
|
83
|
-
setup:
|
|
84
|
-
required_tools:
|
|
85
|
-
- jq
|
|
86
|
-
environment_variables:
|
|
87
|
-
PARALLEL_WORKERS: "4"
|
|
88
|
-
FLAKY_DETECTION: "enabled"
|
|
89
|
-
RETRY_COUNT: "3"
|
|
90
|
-
fixtures: []
|
|
91
|
-
|
|
92
|
-
# =============================================================================
|
|
93
|
-
# TEST CASES
|
|
94
|
-
# =============================================================================
|
|
95
|
-
|
|
96
|
-
test_cases:
|
|
97
|
-
# ---------------------------------------------------------------------------
|
|
98
|
-
# CATEGORY: Parallel Execution
|
|
99
|
-
# ---------------------------------------------------------------------------
|
|
100
|
-
|
|
101
|
-
- id: tc001_parallel_test_execution
|
|
102
|
-
description: "Orchestrate parallel test execution with optimal distribution"
|
|
103
|
-
category: parallel_execution
|
|
104
|
-
priority: critical
|
|
105
|
-
|
|
106
|
-
input:
|
|
107
|
-
prompt: |
|
|
108
|
-
Orchestrate parallel execution for full test suite:
|
|
109
|
-
- 245 unit tests, 89 integration tests, 34 e2e tests
|
|
110
|
-
- 4 parallel workers available
|
|
111
|
-
- Timeout: 30 seconds per test
|
|
112
|
-
|
|
113
|
-
DISTRIBUTION STRATEGY:
|
|
114
|
-
By file (balanced): Each worker gets ~89 tests
|
|
115
|
-
By duration (optimized): Longest tests first to balance execution time
|
|
116
|
-
By type (isolated): Workers by test type to manage resources
|
|
117
|
-
|
|
118
|
-
Which strategy and why?
|
|
119
|
-
How would you handle test isolation (DB, file system)?
|
|
120
|
-
context:
|
|
121
|
-
total_tests: 368
|
|
122
|
-
workers: 4
|
|
123
|
-
strategy: "by_duration"
|
|
124
|
-
isolation: "process"
|
|
125
|
-
|
|
126
|
-
expected_output:
|
|
127
|
-
must_contain:
|
|
128
|
-
- "parallel"
|
|
129
|
-
- "distribution"
|
|
130
|
-
- "worker"
|
|
131
|
-
- "execution"
|
|
132
|
-
- "isolation"
|
|
133
|
-
must_not_contain:
|
|
134
|
-
- "sequential"
|
|
135
|
-
- "error"
|
|
136
|
-
severity_classification: critical
|
|
137
|
-
finding_count:
|
|
138
|
-
min: 1
|
|
139
|
-
|
|
140
|
-
validation:
|
|
141
|
-
schema_check: true
|
|
142
|
-
keyword_match_threshold: 0.8
|
|
143
|
-
reasoning_quality_min: 0.75
|
|
144
|
-
|
|
145
|
-
- id: tc002_test_sharding_ci_cd
|
|
146
|
-
description: "Distribute tests across CI/CD pipeline shards"
|
|
147
|
-
category: parallel_execution
|
|
148
|
-
priority: critical
|
|
149
|
-
|
|
150
|
-
input:
|
|
151
|
-
prompt: |
|
|
152
|
-
Design test sharding for GitHub Actions:
|
|
153
|
-
- 4 parallel jobs (shards)
|
|
154
|
-
- Total 368 tests
|
|
155
|
-
- Each shard runs 1/4 of tests
|
|
156
|
-
|
|
157
|
-
SHARD CONFIGURATION:
|
|
158
|
-
Shard 1: Tests 1-92 (unit: 0-50, integration: 0-30, e2e: 0-10)
|
|
159
|
-
Shard 2: Tests 93-184
|
|
160
|
-
Shard 3: Tests 185-276
|
|
161
|
-
Shard 4: Tests 277-368
|
|
162
|
-
|
|
163
|
-
How would you balance load across shards?
|
|
164
|
-
How to aggregate results?
|
|
165
|
-
context:
|
|
166
|
-
shards: 4
|
|
167
|
-
total_tests: 368
|
|
168
|
-
balancing: "by_duration"
|
|
169
|
-
|
|
170
|
-
expected_output:
|
|
171
|
-
must_contain:
|
|
172
|
-
- "shard"
|
|
173
|
-
- "distribute"
|
|
174
|
-
- "aggregate"
|
|
175
|
-
- "parallel"
|
|
176
|
-
must_not_contain:
|
|
177
|
-
- "sequential"
|
|
178
|
-
- "fail"
|
|
179
|
-
severity_classification: critical
|
|
180
|
-
|
|
181
|
-
validation:
|
|
182
|
-
schema_check: true
|
|
183
|
-
keyword_match_threshold: 0.8
|
|
184
|
-
|
|
185
|
-
# ---------------------------------------------------------------------------
|
|
186
|
-
# CATEGORY: Smart Test Selection
|
|
187
|
-
# ---------------------------------------------------------------------------
|
|
188
|
-
|
|
189
|
-
- id: tc003_affected_tests_detection
|
|
190
|
-
description: "Identify and run only affected tests based on changes"
|
|
191
|
-
category: smart_selection
|
|
192
|
-
priority: critical
|
|
193
|
-
|
|
194
|
-
input:
|
|
195
|
-
prompt: |
|
|
196
|
-
Detect affected tests for PR #456 changes:
|
|
197
|
-
|
|
198
|
-
CHANGED FILES:
|
|
199
|
-
- src/services/UserService.ts
|
|
200
|
-
- src/utils/validation.ts
|
|
201
|
-
- tests/unit/UserService.test.ts
|
|
202
|
-
|
|
203
|
-
AFFECTED TESTS:
|
|
204
|
-
DIRECT: tests/unit/UserService.test.ts (tests changed file)
|
|
205
|
-
TRANSITIVE: tests/unit/ValidationUtils.test.ts (validation.ts changed)
|
|
206
|
-
INTEGRATION: tests/integration/UserAPI.test.ts (calls UserService)
|
|
207
|
-
DEPENDENT: tests/e2e/UserFlow.test.ts (user flow uses UserService)
|
|
208
|
-
|
|
209
|
-
SELECT FOR EXECUTION:
|
|
210
|
-
- tests/unit/UserService.test.ts (MUST)
|
|
211
|
-
- tests/unit/ValidationUtils.test.ts (MUST)
|
|
212
|
-
- tests/integration/UserAPI.test.ts (SHOULD)
|
|
213
|
-
- tests/e2e/UserFlow.test.ts (COULD)
|
|
214
|
-
|
|
215
|
-
How would you prioritize?
|
|
216
|
-
context:
|
|
217
|
-
base_branch: "main"
|
|
218
|
-
pr_branch: "feature-user-improvements"
|
|
219
|
-
selection_strategy: "transitive"
|
|
220
|
-
|
|
221
|
-
expected_output:
|
|
222
|
-
must_contain:
|
|
223
|
-
- "affected"
|
|
224
|
-
- "test"
|
|
225
|
-
- "detect"
|
|
226
|
-
- "transitive"
|
|
227
|
-
- "priority"
|
|
228
|
-
must_not_contain:
|
|
229
|
-
- "all tests"
|
|
230
|
-
- "no selection"
|
|
231
|
-
severity_classification: critical
|
|
232
|
-
|
|
233
|
-
validation:
|
|
234
|
-
schema_check: true
|
|
235
|
-
keyword_match_threshold: 0.8
|
|
236
|
-
reasoning_quality_min: 0.75
|
|
237
|
-
|
|
238
|
-
- id: tc004_test_impact_analysis
|
|
239
|
-
description: "Analyze which tests are impacted by code changes"
|
|
240
|
-
category: smart_selection
|
|
241
|
-
priority: high
|
|
242
|
-
|
|
243
|
-
input:
|
|
244
|
-
prompt: |
|
|
245
|
-
For change to authentication module, what tests are impacted?
|
|
246
|
-
|
|
247
|
-
CHANGE: auth/middleware.ts now requires additional role check
|
|
248
|
-
|
|
249
|
-
IMPACT ANALYSIS:
|
|
250
|
-
1. Tests for auth middleware: 8 tests - DIRECT
|
|
251
|
-
2. Tests for endpoints using auth: 42 tests - TRANSITIVE
|
|
252
|
-
3. E2E tests using auth: 12 tests - TRANSITIVE
|
|
253
|
-
4. Integration tests with external auth: 3 tests - TRANSITIVE
|
|
254
|
-
5. Performance tests (baseline): 5 tests - POTENTIALLY
|
|
255
|
-
6. Other tests (user management): 0 tests - NOT AFFECTED
|
|
256
|
-
|
|
257
|
-
ESTIMATED EXECUTION TIME:
|
|
258
|
-
- All affected: ~2 minutes
|
|
259
|
-
- Just direct: ~30 seconds
|
|
260
|
-
- Fallback if analysis fails: ~5 minutes (all tests)
|
|
261
|
-
|
|
262
|
-
Recommend: Run all affected (65 tests)
|
|
263
|
-
context:
|
|
264
|
-
change_module: "auth"
|
|
265
|
-
impact_scope: "transitive"
|
|
266
|
-
|
|
267
|
-
expected_output:
|
|
268
|
-
must_contain:
|
|
269
|
-
- "impact"
|
|
270
|
-
- "affected"
|
|
271
|
-
- "direct"
|
|
272
|
-
- "transitive"
|
|
273
|
-
- "estimate"
|
|
274
|
-
finding_count:
|
|
275
|
-
min: 1
|
|
276
|
-
|
|
277
|
-
validation:
|
|
278
|
-
schema_check: true
|
|
279
|
-
keyword_match_threshold: 0.75
|
|
280
|
-
|
|
281
|
-
# ---------------------------------------------------------------------------
|
|
282
|
-
# CATEGORY: Flaky Test Handling
|
|
283
|
-
# ---------------------------------------------------------------------------
|
|
284
|
-
|
|
285
|
-
- id: tc005_flaky_test_detection
|
|
286
|
-
description: "Detect flaky tests based on failure patterns"
|
|
287
|
-
category: flaky_tests
|
|
288
|
-
priority: critical
|
|
289
|
-
|
|
290
|
-
input:
|
|
291
|
-
prompt: |
|
|
292
|
-
Analyze test flakiness from last 100 runs:
|
|
293
|
-
|
|
294
|
-
TEST: UserService.getById() test
|
|
295
|
-
- Passed: 85 times
|
|
296
|
-
- Failed: 15 times
|
|
297
|
-
- Flake rate: 15%
|
|
298
|
-
- Failure pattern: Random, no correlation to time or data
|
|
299
|
-
|
|
300
|
-
TEST: PaymentService.process() test
|
|
301
|
-
- Passed: 97 times
|
|
302
|
-
- Failed: 3 times
|
|
303
|
-
- Flake rate: 3% (acceptable)
|
|
304
|
-
- Failure pattern: Only during peak hours (high CPU)
|
|
305
|
-
|
|
306
|
-
TEST: AuthService.login() test
|
|
307
|
-
- Passed: 99 times
|
|
308
|
-
- Failed: 1 time
|
|
309
|
-
- Flake rate: 1% (not flaky)
|
|
310
|
-
|
|
311
|
-
ACTIONS:
|
|
312
|
-
1. Quarantine UserService test (15% too high)
|
|
313
|
-
2. Investigate PaymentService (peak hour pattern)
|
|
314
|
-
3. No action on AuthService (1% acceptable)
|
|
315
|
-
context:
|
|
316
|
-
flakiness_window: "100_runs"
|
|
317
|
-
threshold_quarantine: 0.10
|
|
318
|
-
|
|
319
|
-
expected_output:
|
|
320
|
-
must_contain:
|
|
321
|
-
- "flaky"
|
|
322
|
-
- "test"
|
|
323
|
-
- "detect"
|
|
324
|
-
- "quarantine"
|
|
325
|
-
- "rate"
|
|
326
|
-
must_not_contain:
|
|
327
|
-
- "no flaky"
|
|
328
|
-
- "all stable"
|
|
329
|
-
severity_classification: critical
|
|
330
|
-
|
|
331
|
-
validation:
|
|
332
|
-
schema_check: true
|
|
333
|
-
keyword_match_threshold: 0.8
|
|
334
|
-
reasoning_quality_min: 0.75
|
|
335
|
-
|
|
336
|
-
- id: tc006_flaky_test_remediation
|
|
337
|
-
description: "Provide fixes for flaky tests"
|
|
338
|
-
category: flaky_tests
|
|
339
|
-
priority: high
|
|
340
|
-
|
|
341
|
-
input:
|
|
342
|
-
prompt: |
|
|
343
|
-
Fix flaky test: UserService.getById() (15% flake rate)
|
|
344
|
-
|
|
345
|
-
ROOT CAUSE ANALYSIS:
|
|
346
|
-
- Test uses real database with data cleanup race condition
|
|
347
|
-
- Timing-dependent assertions (no proper wait)
|
|
348
|
-
- Parallel test execution interferes with state
|
|
349
|
-
|
|
350
|
-
FIXES (prioritized):
|
|
351
|
-
1. IMMEDIATE: Add proper wait/retry for async operations
|
|
352
|
-
2. IMMEDIATE: Use test isolation (separate test data per run)
|
|
353
|
-
3. SHORT-TERM: Mock external dependencies
|
|
354
|
-
4. LONG-TERM: Refactor to eliminate race conditions
|
|
355
|
-
|
|
356
|
-
CODE EXAMPLES:
|
|
357
|
-
```javascript
|
|
358
|
-
// BEFORE (flaky)
|
|
359
|
-
test('gets user by id', () => {
|
|
360
|
-
user = db.insert({name: 'Test'});
|
|
361
|
-
result = UserService.getById(user.id);
|
|
362
|
-
expect(result.name).toBe('Test');
|
|
363
|
-
});
|
|
364
|
-
|
|
365
|
-
// AFTER (stable)
|
|
366
|
-
test('gets user by id', async () => {
|
|
367
|
-
const user = await testFixture.createUser({name: 'Test'});
|
|
368
|
-
await waitFor(() => UserService.getById(user.id));
|
|
369
|
-
expect(result.name).toBe('Test');
|
|
370
|
-
});
|
|
371
|
-
```
|
|
372
|
-
context:
|
|
373
|
-
test_name: "UserService.getById"
|
|
374
|
-
flake_rate: 0.15
|
|
375
|
-
|
|
376
|
-
expected_output:
|
|
377
|
-
must_contain:
|
|
378
|
-
- "fix"
|
|
379
|
-
- "flaky"
|
|
380
|
-
- "isolation"
|
|
381
|
-
- "async"
|
|
382
|
-
- "wait"
|
|
383
|
-
finding_count:
|
|
384
|
-
min: 1
|
|
385
|
-
|
|
386
|
-
validation:
|
|
387
|
-
schema_check: true
|
|
388
|
-
keyword_match_threshold: 0.75
|
|
389
|
-
|
|
390
|
-
# ---------------------------------------------------------------------------
|
|
391
|
-
# CATEGORY: Result Aggregation
|
|
392
|
-
# ---------------------------------------------------------------------------
|
|
393
|
-
|
|
394
|
-
- id: tc007_test_result_aggregation
|
|
395
|
-
description: "Aggregate results from parallel shards"
|
|
396
|
-
category: result_aggregation
|
|
397
|
-
priority: critical
|
|
398
|
-
|
|
399
|
-
input:
|
|
400
|
-
prompt: |
|
|
401
|
-
Aggregate results from 4 parallel shards:
|
|
402
|
-
|
|
403
|
-
SHARD 1: 92 tests - 88 passed, 4 failed, 0 skipped
|
|
404
|
-
SHARD 2: 92 tests - 92 passed, 0 failed, 0 skipped
|
|
405
|
-
SHARD 3: 92 tests - 85 passed, 5 failed, 2 skipped
|
|
406
|
-
SHARD 4: 92 tests - 90 passed, 2 failed, 0 skipped
|
|
407
|
-
|
|
408
|
-
AGGREGATED RESULTS:
|
|
409
|
-
- Total: 368 tests
|
|
410
|
-
- Passed: 355 (96.5%)
|
|
411
|
-
- Failed: 11 (3%)
|
|
412
|
-
- Skipped: 2 (0.5%)
|
|
413
|
-
- Execution time: 4 minutes 32 seconds
|
|
414
|
-
|
|
415
|
-
FAILURES:
|
|
416
|
-
Shard 1: UserService.test.ts:45, UserService.test.ts:67, ...
|
|
417
|
-
Shard 3: PaymentService.test.ts:23, ...
|
|
418
|
-
Shard 4: AuthService.test.ts:12, ...
|
|
419
|
-
|
|
420
|
-
Should merge be blocked? (11 failures)
|
|
421
|
-
context:
|
|
422
|
-
shards: 4
|
|
423
|
-
aggregation_scope: "full"
|
|
424
|
-
|
|
425
|
-
expected_output:
|
|
426
|
-
must_contain:
|
|
427
|
-
- "aggregate"
|
|
428
|
-
- "result"
|
|
429
|
-
- "passed"
|
|
430
|
-
- "failed"
|
|
431
|
-
- "shard"
|
|
432
|
-
must_not_contain:
|
|
433
|
-
- "error"
|
|
434
|
-
- "incomplete"
|
|
435
|
-
severity_classification: critical
|
|
436
|
-
|
|
437
|
-
validation:
|
|
438
|
-
schema_check: true
|
|
439
|
-
keyword_match_threshold: 0.8
|
|
440
|
-
|
|
441
|
-
- id: tc008_junitxml_report_generation
|
|
442
|
-
description: "Generate JUnit XML report for CI/CD integration"
|
|
443
|
-
category: result_aggregation
|
|
444
|
-
priority: high
|
|
445
|
-
|
|
446
|
-
input:
|
|
447
|
-
prompt: |
|
|
448
|
-
Generate JUnit XML report from test results:
|
|
449
|
-
|
|
450
|
-
```xml
|
|
451
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
|
452
|
-
<testsuites>
|
|
453
|
-
<testsuite name="unit" tests="245" failures="4" skipped="0" time="12.34">
|
|
454
|
-
<testcase name="UserService::getById" classname="unit" time="0.023"/>
|
|
455
|
-
<testcase name="UserService::create" classname="unit" time="0.045">
|
|
456
|
-
<failure message="Expected 'John' but got 'Jane'"/>
|
|
457
|
-
</testcase>
|
|
458
|
-
</testsuite>
|
|
459
|
-
<testsuite name="integration" tests="89" failures="5" skipped="2">
|
|
460
|
-
...
|
|
461
|
-
</testsuite>
|
|
462
|
-
</testsuites>
|
|
463
|
-
```
|
|
464
|
-
|
|
465
|
-
How would you structure this for:
|
|
466
|
-
1. GitHub Actions integration
|
|
467
|
-
2. JUnit report parsing
|
|
468
|
-
3. Test history tracking
|
|
469
|
-
context:
|
|
470
|
-
format: "junit_xml"
|
|
471
|
-
include_timing: true
|
|
472
|
-
include_failure_details: true
|
|
473
|
-
|
|
474
|
-
expected_output:
|
|
475
|
-
must_contain:
|
|
476
|
-
- "JUnit"
|
|
477
|
-
- "XML"
|
|
478
|
-
- "testcase"
|
|
479
|
-
- "failure"
|
|
480
|
-
- "report"
|
|
481
|
-
finding_count:
|
|
482
|
-
min: 1
|
|
483
|
-
|
|
484
|
-
validation:
|
|
485
|
-
schema_check: true
|
|
486
|
-
keyword_match_threshold: 0.75
|
|
487
|
-
|
|
488
|
-
# ---------------------------------------------------------------------------
|
|
489
|
-
# CATEGORY: Retry & Recovery
|
|
490
|
-
# ---------------------------------------------------------------------------
|
|
491
|
-
|
|
492
|
-
- id: tc009_test_retry_strategy
|
|
493
|
-
description: "Design and implement test retry logic"
|
|
494
|
-
category: retry
|
|
495
|
-
priority: high
|
|
496
|
-
|
|
497
|
-
input:
|
|
498
|
-
prompt: |
|
|
499
|
-
Design retry strategy for flaky tests:
|
|
500
|
-
|
|
501
|
-
RETRY CONFIG:
|
|
502
|
-
- Max retries: 3
|
|
503
|
-
- Delay: 1000ms between retries
|
|
504
|
-
- Backoff: exponential (1s, 2s, 4s)
|
|
505
|
-
- Only failed tests retry
|
|
506
|
-
- Don't retry critical failures (syntax errors)
|
|
507
|
-
|
|
508
|
-
EXAMPLE:
|
|
509
|
-
Test 1: FAIL (1st attempt) -> RETRY -> PASS (2nd attempt) = PASS
|
|
510
|
-
Test 2: FAIL (all 3 attempts) = FAIL (flaky, quarantine)
|
|
511
|
-
Test 3: PASS (1st attempt) = PASS (no retry needed)
|
|
512
|
-
|
|
513
|
-
How to detect which tests benefit from retry?
|
|
514
|
-
How to distinguish flaky from actually broken?
|
|
515
|
-
context:
|
|
516
|
-
max_retries: 3
|
|
517
|
-
strategy: "exponential_backoff"
|
|
518
|
-
|
|
519
|
-
expected_output:
|
|
520
|
-
must_contain:
|
|
521
|
-
- "retry"
|
|
522
|
-
- "flaky"
|
|
523
|
-
- "backoff"
|
|
524
|
-
- "strategy"
|
|
525
|
-
- "failed"
|
|
526
|
-
finding_count:
|
|
527
|
-
min: 1
|
|
528
|
-
|
|
529
|
-
validation:
|
|
530
|
-
schema_check: true
|
|
531
|
-
keyword_match_threshold: 0.75
|
|
532
|
-
|
|
533
|
-
# ---------------------------------------------------------------------------
|
|
534
|
-
# CATEGORY: Negative Tests
|
|
535
|
-
# ---------------------------------------------------------------------------
|
|
536
|
-
|
|
537
|
-
- id: tc010_test_execution_optimization
|
|
538
|
-
description: "Optimize test execution time and resource usage"
|
|
539
|
-
category: negative
|
|
540
|
-
priority: high
|
|
541
|
-
|
|
542
|
-
input:
|
|
543
|
-
prompt: |
|
|
544
|
-
Optimize test suite execution from 5 minutes to < 3 minutes:
|
|
545
|
-
|
|
546
|
-
ANALYSIS:
|
|
547
|
-
- Unit tests: 245 tests, 45 seconds (could be 30s)
|
|
548
|
-
- Integration tests: 89 tests, 2 minutes 15 seconds (could be 1m 20s)
|
|
549
|
-
- E2E tests: 34 tests, 2 minutes (fixed, must run)
|
|
550
|
-
|
|
551
|
-
OPTIMIZATION STRATEGIES:
|
|
552
|
-
1. Parallel workers: 4x parallelization = ~50% time reduction
|
|
553
|
-
2. Smart selection: Run only affected tests (60% reduction for PR)
|
|
554
|
-
3. Mocking: Mock external services (30% reduction for integration)
|
|
555
|
-
4. Test fixture reuse: Reduce setup/teardown (10% reduction)
|
|
556
|
-
5. Resource management: Optimize CPU/memory (5% reduction)
|
|
557
|
-
|
|
558
|
-
EXPECTED RESULTS:
|
|
559
|
-
- Current: 5 minutes
|
|
560
|
-
- After optimizations: 1-2 minutes (4x-5x improvement)
|
|
561
|
-
|
|
562
|
-
How would you measure and track improvements?
|
|
563
|
-
context:
|
|
564
|
-
current_time_ms: 300000
|
|
565
|
-
target_time_ms: 180000
|
|
566
|
-
optimization_focus: true
|
|
567
|
-
|
|
568
|
-
expected_output:
|
|
569
|
-
must_contain:
|
|
570
|
-
- "optimize"
|
|
571
|
-
- "reduce"
|
|
572
|
-
- "parallel"
|
|
573
|
-
- "improve"
|
|
574
|
-
- "measure"
|
|
575
|
-
finding_count:
|
|
576
|
-
min: 1
|
|
577
|
-
|
|
578
|
-
validation:
|
|
579
|
-
schema_check: true
|
|
580
|
-
allow_partial: true
|
|
581
|
-
|
|
582
|
-
# =============================================================================
|
|
583
|
-
# SUCCESS CRITERIA
|
|
584
|
-
# =============================================================================
|
|
585
|
-
|
|
586
|
-
success_criteria:
|
|
587
|
-
pass_rate: 0.8
|
|
588
|
-
critical_pass_rate: 1.0
|
|
589
|
-
avg_reasoning_quality: 0.75
|
|
590
|
-
max_execution_time_ms: 300000
|
|
591
|
-
cross_model_variance: 0.15
|
|
592
|
-
|
|
593
|
-
# =============================================================================
|
|
594
|
-
# METADATA
|
|
595
|
-
# =============================================================================
|
|
596
|
-
|
|
597
|
-
metadata:
|
|
598
|
-
author: "qe-test-executor"
|
|
599
|
-
created: "2026-02-02"
|
|
600
|
-
last_updated: "2026-02-02"
|
|
601
|
-
coverage_target: >
|
|
602
|
-
Parallel test execution with distribution strategies (by-file/duration/type),
|
|
603
|
-
test sharding for CI/CD with load balancing, smart test selection based on
|
|
604
|
-
code changes and transitive dependencies, flaky test detection and quarantine,
|
|
605
|
-
test result aggregation across shards, JUnit XML report generation, retry
|
|
606
|
-
logic with exponential backoff, and comprehensive test execution optimization
|
|
607
|
-
strategies for reducing execution time.
|
|
1
|
+
# =============================================================================
|
|
2
|
+
# AQE Skill Evaluation Test Suite: QE Test Execution v1.0.0
|
|
3
|
+
# =============================================================================
|
|
4
|
+
#
|
|
5
|
+
# Comprehensive evaluation suite for the qe-test-execution skill.
|
|
6
|
+
# Tests parallel test execution orchestration, smart test selection,
|
|
7
|
+
# flaky test handling, and comprehensive result aggregation.
|
|
8
|
+
#
|
|
9
|
+
# Schema: .claude/skills/.validation/schemas/skill-eval.schema.json
|
|
10
|
+
# Validator: .claude/skills/qe-test-execution/scripts/validate-config.json
|
|
11
|
+
#
|
|
12
|
+
# Coverage:
|
|
13
|
+
# - Parallel execution with intelligent distribution
|
|
14
|
+
# - Smart test selection (affected tests)
|
|
15
|
+
# - Flaky test detection and handling
|
|
16
|
+
# - Test result aggregation and reporting
|
|
17
|
+
# - CI/CD pipeline integration
|
|
18
|
+
#
|
|
19
|
+
# =============================================================================
|
|
20
|
+
|
|
21
|
+
skill: qe-test-execution
|
|
22
|
+
version: 1.0.0
|
|
23
|
+
description: >
|
|
24
|
+
Comprehensive evaluation suite for the qe-test-execution skill.
|
|
25
|
+
Tests parallel test execution orchestration, smart test selection based on
|
|
26
|
+
code changes, flaky test detection and quarantine, distributed test execution
|
|
27
|
+
with sharding, and comprehensive result aggregation across shards.
|
|
28
|
+
|
|
29
|
+
# =============================================================================
|
|
30
|
+
# Multi-Model Configuration
|
|
31
|
+
# =============================================================================
|
|
32
|
+
|
|
33
|
+
models_to_test:
|
|
34
|
+
- claude-3.5-sonnet
|
|
35
|
+
- claude-3-haiku
|
|
36
|
+
|
|
37
|
+
# =============================================================================
|
|
38
|
+
# MCP Integration Configuration
|
|
39
|
+
# =============================================================================
|
|
40
|
+
|
|
41
|
+
mcp_integration:
|
|
42
|
+
enabled: true
|
|
43
|
+
namespace: skill-validation
|
|
44
|
+
|
|
45
|
+
query_patterns: true
|
|
46
|
+
track_outcomes: true
|
|
47
|
+
store_patterns: true
|
|
48
|
+
share_learning: true
|
|
49
|
+
update_quality_gate: true
|
|
50
|
+
|
|
51
|
+
target_agents:
|
|
52
|
+
- qe-learning-coordinator
|
|
53
|
+
- qe-queen-coordinator
|
|
54
|
+
- qe-test-executor
|
|
55
|
+
- qe-flaky-detector
|
|
56
|
+
|
|
57
|
+
# =============================================================================
|
|
58
|
+
# ReasoningBank Learning Configuration
|
|
59
|
+
# =============================================================================
|
|
60
|
+
|
|
61
|
+
learning:
|
|
62
|
+
store_success_patterns: true
|
|
63
|
+
store_failure_patterns: true
|
|
64
|
+
pattern_ttl_days: 90
|
|
65
|
+
min_confidence_to_store: 0.7
|
|
66
|
+
cross_model_comparison: true
|
|
67
|
+
|
|
68
|
+
# =============================================================================
|
|
69
|
+
# Result Format Configuration
|
|
70
|
+
# =============================================================================
|
|
71
|
+
|
|
72
|
+
result_format:
|
|
73
|
+
json_output: true
|
|
74
|
+
markdown_report: true
|
|
75
|
+
include_raw_output: false
|
|
76
|
+
include_timing: true
|
|
77
|
+
include_token_usage: true
|
|
78
|
+
|
|
79
|
+
# =============================================================================
|
|
80
|
+
# Environment Setup
|
|
81
|
+
# =============================================================================
|
|
82
|
+
|
|
83
|
+
setup:
|
|
84
|
+
required_tools:
|
|
85
|
+
- jq
|
|
86
|
+
environment_variables:
|
|
87
|
+
PARALLEL_WORKERS: "4"
|
|
88
|
+
FLAKY_DETECTION: "enabled"
|
|
89
|
+
RETRY_COUNT: "3"
|
|
90
|
+
fixtures: []
|
|
91
|
+
|
|
92
|
+
# =============================================================================
|
|
93
|
+
# TEST CASES
|
|
94
|
+
# =============================================================================
|
|
95
|
+
|
|
96
|
+
test_cases:
|
|
97
|
+
# ---------------------------------------------------------------------------
|
|
98
|
+
# CATEGORY: Parallel Execution
|
|
99
|
+
# ---------------------------------------------------------------------------
|
|
100
|
+
|
|
101
|
+
- id: tc001_parallel_test_execution
|
|
102
|
+
description: "Orchestrate parallel test execution with optimal distribution"
|
|
103
|
+
category: parallel_execution
|
|
104
|
+
priority: critical
|
|
105
|
+
|
|
106
|
+
input:
|
|
107
|
+
prompt: |
|
|
108
|
+
Orchestrate parallel execution for full test suite:
|
|
109
|
+
- 245 unit tests, 89 integration tests, 34 e2e tests
|
|
110
|
+
- 4 parallel workers available
|
|
111
|
+
- Timeout: 30 seconds per test
|
|
112
|
+
|
|
113
|
+
DISTRIBUTION STRATEGY:
|
|
114
|
+
By file (balanced): Each worker gets ~89 tests
|
|
115
|
+
By duration (optimized): Longest tests first to balance execution time
|
|
116
|
+
By type (isolated): Workers by test type to manage resources
|
|
117
|
+
|
|
118
|
+
Which strategy and why?
|
|
119
|
+
How would you handle test isolation (DB, file system)?
|
|
120
|
+
context:
|
|
121
|
+
total_tests: 368
|
|
122
|
+
workers: 4
|
|
123
|
+
strategy: "by_duration"
|
|
124
|
+
isolation: "process"
|
|
125
|
+
|
|
126
|
+
expected_output:
|
|
127
|
+
must_contain:
|
|
128
|
+
- "parallel"
|
|
129
|
+
- "distribution"
|
|
130
|
+
- "worker"
|
|
131
|
+
- "execution"
|
|
132
|
+
- "isolation"
|
|
133
|
+
must_not_contain:
|
|
134
|
+
- "sequential"
|
|
135
|
+
- "error"
|
|
136
|
+
severity_classification: critical
|
|
137
|
+
finding_count:
|
|
138
|
+
min: 1
|
|
139
|
+
|
|
140
|
+
validation:
|
|
141
|
+
schema_check: true
|
|
142
|
+
keyword_match_threshold: 0.8
|
|
143
|
+
reasoning_quality_min: 0.75
|
|
144
|
+
|
|
145
|
+
- id: tc002_test_sharding_ci_cd
|
|
146
|
+
description: "Distribute tests across CI/CD pipeline shards"
|
|
147
|
+
category: parallel_execution
|
|
148
|
+
priority: critical
|
|
149
|
+
|
|
150
|
+
input:
|
|
151
|
+
prompt: |
|
|
152
|
+
Design test sharding for GitHub Actions:
|
|
153
|
+
- 4 parallel jobs (shards)
|
|
154
|
+
- Total 368 tests
|
|
155
|
+
- Each shard runs 1/4 of tests
|
|
156
|
+
|
|
157
|
+
SHARD CONFIGURATION:
|
|
158
|
+
Shard 1: Tests 1-92 (unit: 0-50, integration: 0-30, e2e: 0-10)
|
|
159
|
+
Shard 2: Tests 93-184
|
|
160
|
+
Shard 3: Tests 185-276
|
|
161
|
+
Shard 4: Tests 277-368
|
|
162
|
+
|
|
163
|
+
How would you balance load across shards?
|
|
164
|
+
How to aggregate results?
|
|
165
|
+
context:
|
|
166
|
+
shards: 4
|
|
167
|
+
total_tests: 368
|
|
168
|
+
balancing: "by_duration"
|
|
169
|
+
|
|
170
|
+
expected_output:
|
|
171
|
+
must_contain:
|
|
172
|
+
- "shard"
|
|
173
|
+
- "distribute"
|
|
174
|
+
- "aggregate"
|
|
175
|
+
- "parallel"
|
|
176
|
+
must_not_contain:
|
|
177
|
+
- "sequential"
|
|
178
|
+
- "fail"
|
|
179
|
+
severity_classification: critical
|
|
180
|
+
|
|
181
|
+
validation:
|
|
182
|
+
schema_check: true
|
|
183
|
+
keyword_match_threshold: 0.8
|
|
184
|
+
|
|
185
|
+
# ---------------------------------------------------------------------------
|
|
186
|
+
# CATEGORY: Smart Test Selection
|
|
187
|
+
# ---------------------------------------------------------------------------
|
|
188
|
+
|
|
189
|
+
- id: tc003_affected_tests_detection
|
|
190
|
+
description: "Identify and run only affected tests based on changes"
|
|
191
|
+
category: smart_selection
|
|
192
|
+
priority: critical
|
|
193
|
+
|
|
194
|
+
input:
|
|
195
|
+
prompt: |
|
|
196
|
+
Detect affected tests for PR #456 changes:
|
|
197
|
+
|
|
198
|
+
CHANGED FILES:
|
|
199
|
+
- src/services/UserService.ts
|
|
200
|
+
- src/utils/validation.ts
|
|
201
|
+
- tests/unit/UserService.test.ts
|
|
202
|
+
|
|
203
|
+
AFFECTED TESTS:
|
|
204
|
+
DIRECT: tests/unit/UserService.test.ts (tests changed file)
|
|
205
|
+
TRANSITIVE: tests/unit/ValidationUtils.test.ts (validation.ts changed)
|
|
206
|
+
INTEGRATION: tests/integration/UserAPI.test.ts (calls UserService)
|
|
207
|
+
DEPENDENT: tests/e2e/UserFlow.test.ts (user flow uses UserService)
|
|
208
|
+
|
|
209
|
+
SELECT FOR EXECUTION:
|
|
210
|
+
- tests/unit/UserService.test.ts (MUST)
|
|
211
|
+
- tests/unit/ValidationUtils.test.ts (MUST)
|
|
212
|
+
- tests/integration/UserAPI.test.ts (SHOULD)
|
|
213
|
+
- tests/e2e/UserFlow.test.ts (COULD)
|
|
214
|
+
|
|
215
|
+
How would you prioritize?
|
|
216
|
+
context:
|
|
217
|
+
base_branch: "main"
|
|
218
|
+
pr_branch: "feature-user-improvements"
|
|
219
|
+
selection_strategy: "transitive"
|
|
220
|
+
|
|
221
|
+
expected_output:
|
|
222
|
+
must_contain:
|
|
223
|
+
- "affected"
|
|
224
|
+
- "test"
|
|
225
|
+
- "detect"
|
|
226
|
+
- "transitive"
|
|
227
|
+
- "priority"
|
|
228
|
+
must_not_contain:
|
|
229
|
+
- "all tests"
|
|
230
|
+
- "no selection"
|
|
231
|
+
severity_classification: critical
|
|
232
|
+
|
|
233
|
+
validation:
|
|
234
|
+
schema_check: true
|
|
235
|
+
keyword_match_threshold: 0.8
|
|
236
|
+
reasoning_quality_min: 0.75
|
|
237
|
+
|
|
238
|
+
- id: tc004_test_impact_analysis
|
|
239
|
+
description: "Analyze which tests are impacted by code changes"
|
|
240
|
+
category: smart_selection
|
|
241
|
+
priority: high
|
|
242
|
+
|
|
243
|
+
input:
|
|
244
|
+
prompt: |
|
|
245
|
+
For change to authentication module, what tests are impacted?
|
|
246
|
+
|
|
247
|
+
CHANGE: auth/middleware.ts now requires additional role check
|
|
248
|
+
|
|
249
|
+
IMPACT ANALYSIS:
|
|
250
|
+
1. Tests for auth middleware: 8 tests - DIRECT
|
|
251
|
+
2. Tests for endpoints using auth: 42 tests - TRANSITIVE
|
|
252
|
+
3. E2E tests using auth: 12 tests - TRANSITIVE
|
|
253
|
+
4. Integration tests with external auth: 3 tests - TRANSITIVE
|
|
254
|
+
5. Performance tests (baseline): 5 tests - POTENTIALLY
|
|
255
|
+
6. Other tests (user management): 0 tests - NOT AFFECTED
|
|
256
|
+
|
|
257
|
+
ESTIMATED EXECUTION TIME:
|
|
258
|
+
- All affected: ~2 minutes
|
|
259
|
+
- Just direct: ~30 seconds
|
|
260
|
+
- Fallback if analysis fails: ~5 minutes (all tests)
|
|
261
|
+
|
|
262
|
+
Recommend: Run all affected (65 tests)
|
|
263
|
+
context:
|
|
264
|
+
change_module: "auth"
|
|
265
|
+
impact_scope: "transitive"
|
|
266
|
+
|
|
267
|
+
expected_output:
|
|
268
|
+
must_contain:
|
|
269
|
+
- "impact"
|
|
270
|
+
- "affected"
|
|
271
|
+
- "direct"
|
|
272
|
+
- "transitive"
|
|
273
|
+
- "estimate"
|
|
274
|
+
finding_count:
|
|
275
|
+
min: 1
|
|
276
|
+
|
|
277
|
+
validation:
|
|
278
|
+
schema_check: true
|
|
279
|
+
keyword_match_threshold: 0.75
|
|
280
|
+
|
|
281
|
+
# ---------------------------------------------------------------------------
|
|
282
|
+
# CATEGORY: Flaky Test Handling
|
|
283
|
+
# ---------------------------------------------------------------------------
|
|
284
|
+
|
|
285
|
+
- id: tc005_flaky_test_detection
|
|
286
|
+
description: "Detect flaky tests based on failure patterns"
|
|
287
|
+
category: flaky_tests
|
|
288
|
+
priority: critical
|
|
289
|
+
|
|
290
|
+
input:
|
|
291
|
+
prompt: |
|
|
292
|
+
Analyze test flakiness from last 100 runs:
|
|
293
|
+
|
|
294
|
+
TEST: UserService.getById() test
|
|
295
|
+
- Passed: 85 times
|
|
296
|
+
- Failed: 15 times
|
|
297
|
+
- Flake rate: 15%
|
|
298
|
+
- Failure pattern: Random, no correlation to time or data
|
|
299
|
+
|
|
300
|
+
TEST: PaymentService.process() test
|
|
301
|
+
- Passed: 97 times
|
|
302
|
+
- Failed: 3 times
|
|
303
|
+
- Flake rate: 3% (acceptable)
|
|
304
|
+
- Failure pattern: Only during peak hours (high CPU)
|
|
305
|
+
|
|
306
|
+
TEST: AuthService.login() test
|
|
307
|
+
- Passed: 99 times
|
|
308
|
+
- Failed: 1 time
|
|
309
|
+
- Flake rate: 1% (not flaky)
|
|
310
|
+
|
|
311
|
+
ACTIONS:
|
|
312
|
+
1. Quarantine UserService test (15% too high)
|
|
313
|
+
2. Investigate PaymentService (peak hour pattern)
|
|
314
|
+
3. No action on AuthService (1% acceptable)
|
|
315
|
+
context:
|
|
316
|
+
flakiness_window: "100_runs"
|
|
317
|
+
threshold_quarantine: 0.10
|
|
318
|
+
|
|
319
|
+
expected_output:
|
|
320
|
+
must_contain:
|
|
321
|
+
- "flaky"
|
|
322
|
+
- "test"
|
|
323
|
+
- "detect"
|
|
324
|
+
- "quarantine"
|
|
325
|
+
- "rate"
|
|
326
|
+
must_not_contain:
|
|
327
|
+
- "no flaky"
|
|
328
|
+
- "all stable"
|
|
329
|
+
severity_classification: critical
|
|
330
|
+
|
|
331
|
+
validation:
|
|
332
|
+
schema_check: true
|
|
333
|
+
keyword_match_threshold: 0.8
|
|
334
|
+
reasoning_quality_min: 0.75
|
|
335
|
+
|
|
336
|
+
- id: tc006_flaky_test_remediation
|
|
337
|
+
description: "Provide fixes for flaky tests"
|
|
338
|
+
category: flaky_tests
|
|
339
|
+
priority: high
|
|
340
|
+
|
|
341
|
+
input:
|
|
342
|
+
prompt: |
|
|
343
|
+
Fix flaky test: UserService.getById() (15% flake rate)
|
|
344
|
+
|
|
345
|
+
ROOT CAUSE ANALYSIS:
|
|
346
|
+
- Test uses real database with data cleanup race condition
|
|
347
|
+
- Timing-dependent assertions (no proper wait)
|
|
348
|
+
- Parallel test execution interferes with state
|
|
349
|
+
|
|
350
|
+
FIXES (prioritized):
|
|
351
|
+
1. IMMEDIATE: Add proper wait/retry for async operations
|
|
352
|
+
2. IMMEDIATE: Use test isolation (separate test data per run)
|
|
353
|
+
3. SHORT-TERM: Mock external dependencies
|
|
354
|
+
4. LONG-TERM: Refactor to eliminate race conditions
|
|
355
|
+
|
|
356
|
+
CODE EXAMPLES:
|
|
357
|
+
```javascript
|
|
358
|
+
// BEFORE (flaky)
|
|
359
|
+
test('gets user by id', () => {
|
|
360
|
+
user = db.insert({name: 'Test'});
|
|
361
|
+
result = UserService.getById(user.id);
|
|
362
|
+
expect(result.name).toBe('Test');
|
|
363
|
+
});
|
|
364
|
+
|
|
365
|
+
// AFTER (stable)
|
|
366
|
+
test('gets user by id', async () => {
|
|
367
|
+
const user = await testFixture.createUser({name: 'Test'});
|
|
368
|
+
await waitFor(() => UserService.getById(user.id));
|
|
369
|
+
expect(result.name).toBe('Test');
|
|
370
|
+
});
|
|
371
|
+
```
|
|
372
|
+
context:
|
|
373
|
+
test_name: "UserService.getById"
|
|
374
|
+
flake_rate: 0.15
|
|
375
|
+
|
|
376
|
+
expected_output:
|
|
377
|
+
must_contain:
|
|
378
|
+
- "fix"
|
|
379
|
+
- "flaky"
|
|
380
|
+
- "isolation"
|
|
381
|
+
- "async"
|
|
382
|
+
- "wait"
|
|
383
|
+
finding_count:
|
|
384
|
+
min: 1
|
|
385
|
+
|
|
386
|
+
validation:
|
|
387
|
+
schema_check: true
|
|
388
|
+
keyword_match_threshold: 0.75
|
|
389
|
+
|
|
390
|
+
# ---------------------------------------------------------------------------
|
|
391
|
+
# CATEGORY: Result Aggregation
|
|
392
|
+
# ---------------------------------------------------------------------------
|
|
393
|
+
|
|
394
|
+
- id: tc007_test_result_aggregation
|
|
395
|
+
description: "Aggregate results from parallel shards"
|
|
396
|
+
category: result_aggregation
|
|
397
|
+
priority: critical
|
|
398
|
+
|
|
399
|
+
input:
|
|
400
|
+
prompt: |
|
|
401
|
+
Aggregate results from 4 parallel shards:
|
|
402
|
+
|
|
403
|
+
SHARD 1: 92 tests - 88 passed, 4 failed, 0 skipped
|
|
404
|
+
SHARD 2: 92 tests - 92 passed, 0 failed, 0 skipped
|
|
405
|
+
SHARD 3: 92 tests - 85 passed, 5 failed, 2 skipped
|
|
406
|
+
SHARD 4: 92 tests - 90 passed, 2 failed, 0 skipped
|
|
407
|
+
|
|
408
|
+
AGGREGATED RESULTS:
|
|
409
|
+
- Total: 368 tests
|
|
410
|
+
- Passed: 355 (96.5%)
|
|
411
|
+
- Failed: 11 (3%)
|
|
412
|
+
- Skipped: 2 (0.5%)
|
|
413
|
+
- Execution time: 4 minutes 32 seconds
|
|
414
|
+
|
|
415
|
+
FAILURES:
|
|
416
|
+
Shard 1: UserService.test.ts:45, UserService.test.ts:67, ...
|
|
417
|
+
Shard 3: PaymentService.test.ts:23, ...
|
|
418
|
+
Shard 4: AuthService.test.ts:12, ...
|
|
419
|
+
|
|
420
|
+
Should merge be blocked? (11 failures)
|
|
421
|
+
context:
|
|
422
|
+
shards: 4
|
|
423
|
+
aggregation_scope: "full"
|
|
424
|
+
|
|
425
|
+
expected_output:
|
|
426
|
+
must_contain:
|
|
427
|
+
- "aggregate"
|
|
428
|
+
- "result"
|
|
429
|
+
- "passed"
|
|
430
|
+
- "failed"
|
|
431
|
+
- "shard"
|
|
432
|
+
must_not_contain:
|
|
433
|
+
- "error"
|
|
434
|
+
- "incomplete"
|
|
435
|
+
severity_classification: critical
|
|
436
|
+
|
|
437
|
+
validation:
|
|
438
|
+
schema_check: true
|
|
439
|
+
keyword_match_threshold: 0.8
|
|
440
|
+
|
|
441
|
+
- id: tc008_junitxml_report_generation
|
|
442
|
+
description: "Generate JUnit XML report for CI/CD integration"
|
|
443
|
+
category: result_aggregation
|
|
444
|
+
priority: high
|
|
445
|
+
|
|
446
|
+
input:
|
|
447
|
+
prompt: |
|
|
448
|
+
Generate JUnit XML report from test results:
|
|
449
|
+
|
|
450
|
+
```xml
|
|
451
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
452
|
+
<testsuites>
|
|
453
|
+
<testsuite name="unit" tests="245" failures="4" skipped="0" time="12.34">
|
|
454
|
+
<testcase name="UserService::getById" classname="unit" time="0.023"/>
|
|
455
|
+
<testcase name="UserService::create" classname="unit" time="0.045">
|
|
456
|
+
<failure message="Expected 'John' but got 'Jane'"/>
|
|
457
|
+
</testcase>
|
|
458
|
+
</testsuite>
|
|
459
|
+
<testsuite name="integration" tests="89" failures="5" skipped="2">
|
|
460
|
+
...
|
|
461
|
+
</testsuite>
|
|
462
|
+
</testsuites>
|
|
463
|
+
```
|
|
464
|
+
|
|
465
|
+
How would you structure this for:
|
|
466
|
+
1. GitHub Actions integration
|
|
467
|
+
2. JUnit report parsing
|
|
468
|
+
3. Test history tracking
|
|
469
|
+
context:
|
|
470
|
+
format: "junit_xml"
|
|
471
|
+
include_timing: true
|
|
472
|
+
include_failure_details: true
|
|
473
|
+
|
|
474
|
+
expected_output:
|
|
475
|
+
must_contain:
|
|
476
|
+
- "JUnit"
|
|
477
|
+
- "XML"
|
|
478
|
+
- "testcase"
|
|
479
|
+
- "failure"
|
|
480
|
+
- "report"
|
|
481
|
+
finding_count:
|
|
482
|
+
min: 1
|
|
483
|
+
|
|
484
|
+
validation:
|
|
485
|
+
schema_check: true
|
|
486
|
+
keyword_match_threshold: 0.75
|
|
487
|
+
|
|
488
|
+
# ---------------------------------------------------------------------------
|
|
489
|
+
# CATEGORY: Retry & Recovery
|
|
490
|
+
# ---------------------------------------------------------------------------
|
|
491
|
+
|
|
492
|
+
- id: tc009_test_retry_strategy
|
|
493
|
+
description: "Design and implement test retry logic"
|
|
494
|
+
category: retry
|
|
495
|
+
priority: high
|
|
496
|
+
|
|
497
|
+
input:
|
|
498
|
+
prompt: |
|
|
499
|
+
Design retry strategy for flaky tests:
|
|
500
|
+
|
|
501
|
+
RETRY CONFIG:
|
|
502
|
+
- Max retries: 3
|
|
503
|
+
- Delay: 1000ms between retries
|
|
504
|
+
- Backoff: exponential (1s, 2s, 4s)
|
|
505
|
+
- Only failed tests retry
|
|
506
|
+
- Don't retry critical failures (syntax errors)
|
|
507
|
+
|
|
508
|
+
EXAMPLE:
|
|
509
|
+
Test 1: FAIL (1st attempt) -> RETRY -> PASS (2nd attempt) = PASS
|
|
510
|
+
Test 2: FAIL (all 3 attempts) = FAIL (flaky, quarantine)
|
|
511
|
+
Test 3: PASS (1st attempt) = PASS (no retry needed)
|
|
512
|
+
|
|
513
|
+
How to detect which tests benefit from retry?
|
|
514
|
+
How to distinguish flaky from actually broken?
|
|
515
|
+
context:
|
|
516
|
+
max_retries: 3
|
|
517
|
+
strategy: "exponential_backoff"
|
|
518
|
+
|
|
519
|
+
expected_output:
|
|
520
|
+
must_contain:
|
|
521
|
+
- "retry"
|
|
522
|
+
- "flaky"
|
|
523
|
+
- "backoff"
|
|
524
|
+
- "strategy"
|
|
525
|
+
- "failed"
|
|
526
|
+
finding_count:
|
|
527
|
+
min: 1
|
|
528
|
+
|
|
529
|
+
validation:
|
|
530
|
+
schema_check: true
|
|
531
|
+
keyword_match_threshold: 0.75
|
|
532
|
+
|
|
533
|
+
# ---------------------------------------------------------------------------
|
|
534
|
+
# CATEGORY: Negative Tests
|
|
535
|
+
# ---------------------------------------------------------------------------
|
|
536
|
+
|
|
537
|
+
- id: tc010_test_execution_optimization
|
|
538
|
+
description: "Optimize test execution time and resource usage"
|
|
539
|
+
category: negative
|
|
540
|
+
priority: high
|
|
541
|
+
|
|
542
|
+
input:
|
|
543
|
+
prompt: |
|
|
544
|
+
Optimize test suite execution from 5 minutes to < 3 minutes:
|
|
545
|
+
|
|
546
|
+
ANALYSIS:
|
|
547
|
+
- Unit tests: 245 tests, 45 seconds (could be 30s)
|
|
548
|
+
- Integration tests: 89 tests, 2 minutes 15 seconds (could be 1m 20s)
|
|
549
|
+
- E2E tests: 34 tests, 2 minutes (fixed, must run)
|
|
550
|
+
|
|
551
|
+
OPTIMIZATION STRATEGIES:
|
|
552
|
+
1. Parallel workers: 4x parallelization = ~50% time reduction
|
|
553
|
+
2. Smart selection: Run only affected tests (60% reduction for PR)
|
|
554
|
+
3. Mocking: Mock external services (30% reduction for integration)
|
|
555
|
+
4. Test fixture reuse: Reduce setup/teardown (10% reduction)
|
|
556
|
+
5. Resource management: Optimize CPU/memory (5% reduction)
|
|
557
|
+
|
|
558
|
+
EXPECTED RESULTS:
|
|
559
|
+
- Current: 5 minutes
|
|
560
|
+
- After optimizations: 1-2 minutes (4x-5x improvement)
|
|
561
|
+
|
|
562
|
+
How would you measure and track improvements?
|
|
563
|
+
context:
|
|
564
|
+
current_time_ms: 300000
|
|
565
|
+
target_time_ms: 180000
|
|
566
|
+
optimization_focus: true
|
|
567
|
+
|
|
568
|
+
expected_output:
|
|
569
|
+
must_contain:
|
|
570
|
+
- "optimize"
|
|
571
|
+
- "reduce"
|
|
572
|
+
- "parallel"
|
|
573
|
+
- "improve"
|
|
574
|
+
- "measure"
|
|
575
|
+
finding_count:
|
|
576
|
+
min: 1
|
|
577
|
+
|
|
578
|
+
validation:
|
|
579
|
+
schema_check: true
|
|
580
|
+
allow_partial: true
|
|
581
|
+
|
|
582
|
+
# =============================================================================
|
|
583
|
+
# SUCCESS CRITERIA
|
|
584
|
+
# =============================================================================
|
|
585
|
+
|
|
586
|
+
success_criteria:
|
|
587
|
+
pass_rate: 0.8
|
|
588
|
+
critical_pass_rate: 1.0
|
|
589
|
+
avg_reasoning_quality: 0.75
|
|
590
|
+
max_execution_time_ms: 300000
|
|
591
|
+
cross_model_variance: 0.15
|
|
592
|
+
|
|
593
|
+
# =============================================================================
|
|
594
|
+
# METADATA
|
|
595
|
+
# =============================================================================
|
|
596
|
+
|
|
597
|
+
metadata:
|
|
598
|
+
author: "qe-test-executor"
|
|
599
|
+
created: "2026-02-02"
|
|
600
|
+
last_updated: "2026-02-02"
|
|
601
|
+
coverage_target: >
|
|
602
|
+
Parallel test execution with distribution strategies (by-file/duration/type),
|
|
603
|
+
test sharding for CI/CD with load balancing, smart test selection based on
|
|
604
|
+
code changes and transitive dependencies, flaky test detection and quarantine,
|
|
605
|
+
test result aggregation across shards, JUnit XML report generation, retry
|
|
606
|
+
logic with exponential backoff, and comprehensive test execution optimization
|
|
607
|
+
strategies for reducing execution time.
|