@dzhechkov/keysarium 1.7.15 → 1.7.18
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/.dz-manifest.json +213 -53
- package/README.md +29 -6
- package/README.ru.md +17 -0
- package/package.json +3 -3
- package/sbom.json +454 -54
- package/src/cli.js +32 -2
- package/src/commands/doctor.js +25 -1
- package/src/commands/init.js +46 -12
- package/src/utils.js +1 -0
- package/templates/.agents/skills/casarium/SKILL.md +29 -0
- package/templates/.claude/agents/code-goal-planner.md +9 -0
- package/templates/.claude/commands/casarium.md +3 -1
- package/templates/.claude/commands/cjm-prototype.md +2 -2
- package/templates/.claude/commands/research.md +4 -1
- package/templates/.claude/rules/checkpoint-protocol.md +2 -1
- package/templates/.claude/rules/research-quality.md +11 -6
- package/templates/.claude/shards/phase-2-research.shard.md +12 -8
- package/templates/.claude/shards/phase-25-cjm.shard.md +5 -3
- package/templates/.claude/skills/feature-adr/SKILL.md +17 -15
- package/templates/.claude/skills/feature-adr/modules/03-adr.md +1 -1
- package/templates/.claude/skills/feature-adr/modules/03.5-ideation-swarm.md +1 -1
- package/templates/.claude/skills/feature-adr/modules/06-implementation-plan.md +2 -2
- package/templates/.claude/skills/feature-adr/modules/08-qe.md +1 -1
- package/templates/.claude/skills/feature-adr/modules/09-fleet-qe.md +12 -12
- package/templates/.claude/skills/feature-adr/references/agentic-qe/LICENSE.agentic-qe +21 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/README.md +20 -16
- package/templates/.claude/skills/feature-adr/references/agentic-qe/UPSTREAM-MANIFEST.json +246 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-brutal-honesty-review/README.md +218 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/{brutal-honesty-review.md → qe-ref-brutal-honesty-review/REFERENCE.md} +14 -1
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-brutal-honesty-review/resources/assessment-rubrics.md +295 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-brutal-honesty-review/resources/review-template.md +102 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-brutal-honesty-review/schemas/output.json +291 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-brutal-honesty-review/scripts/assess-code.sh +179 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-brutal-honesty-review/scripts/assess-tests.sh +223 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-brutal-honesty-review/scripts/validate-config.json +34 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-enterprise-integration-testing/REFERENCE.md +758 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-enterprise-integration-testing/evals/enterprise-integration-testing.yaml +158 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-enterprise-integration-testing/schemas/output.json +74 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-enterprise-integration-testing/scripts/validate-config.json +25 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-qcsd-ideation-swarm/REFERENCE.md +226 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-qcsd-ideation-swarm/evals/qcsd-ideation-swarm.yaml +138 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-qcsd-ideation-swarm/schemas/output.json +568 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-qcsd-ideation-swarm/scripts/validate-config.json +25 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-qcsd-ideation-swarm/steps/01-flag-detection.md +57 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-qcsd-ideation-swarm/steps/02-core-agents.md +29 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-qcsd-ideation-swarm/steps/03-batch1-results.md +15 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-qcsd-ideation-swarm/steps/04-conditional-agents.md +23 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-qcsd-ideation-swarm/steps/05-decision-synthesis.md +29 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-qcsd-ideation-swarm/steps/06-report-generation.md +18 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-qcsd-ideation-swarm/steps/07-learning-persistence.md +29 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-qcsd-ideation-swarm/steps/08-final-output.md +18 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/{qe-coverage-analysis.md → qe-ref-qe-coverage-analysis/REFERENCE.md} +42 -3
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-qe-coverage-analysis/evals/qe-coverage-analysis.yaml +494 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-qe-coverage-analysis/schemas/output.json +286 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-qe-coverage-analysis/scripts/validate-config.json +42 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/{qe-requirements-validation.md → qe-ref-qe-requirements-validation/REFERENCE.md} +13 -3
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-qe-requirements-validation/evals/qe-requirements-validation.yaml +598 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-qe-requirements-validation/schemas/output.json +587 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-qe-requirements-validation/scripts/validate-config.json +37 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/{regression-testing.md → qe-ref-regression-testing/REFERENCE.md} +30 -49
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-regression-testing/evals/regression-testing.yaml +504 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-regression-testing/schemas/output.json +311 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-regression-testing/scripts/validate-config.json +50 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/{risk-based-testing.md → qe-ref-risk-based-testing/REFERENCE.md} +23 -52
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-risk-based-testing/evals/risk-based-testing.yaml +141 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-risk-based-testing/schemas/output.json +480 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-risk-based-testing/scripts/validate-config.json +25 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/{shift-left-testing.md → qe-ref-shift-left-testing/REFERENCE.md} +33 -88
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-shift-left-testing/evals/shift-left-testing.yaml +145 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-shift-left-testing/schemas/output.json +459 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-shift-left-testing/scripts/validate-config.json +25 -0
- package/templates/CLAUDE.md +3 -1
- package/templates/docs/feature-adr/04-admin-guide.md +1 -1
- package/templates/docs/improvement-directions.md +3 -3
- package/templates/docs/keysarium/02-admin-guide.md +2 -2
- package/templates/docs/keysarium/03-user-guide.md +3 -3
- package/templates/docs/keysarium/05-architecture.md +9 -8
- package/templates/docs/keysarium/06-user-flows.md +4 -4
- package/templates/lib/platform-templates/copilot.md +1 -1
- package/templates/lib/platform-templates/opencode.md +1 -1
- package/templates/.claude/skills/feature-adr/references/agentic-qe/enterprise-integration-testing.md +0 -111
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qcsd-ideation-swarm.md +0 -126
|
@@ -16,9 +16,18 @@ validation:
|
|
|
16
16
|
schema_path: schemas/output.json
|
|
17
17
|
validator_path: scripts/validate-config.json
|
|
18
18
|
eval_path: evals/regression-testing.yaml
|
|
19
|
-
|
|
20
19
|
---
|
|
21
20
|
|
|
21
|
+
<!-- Vendored from https://github.com/proffesor-for-testing/agentic-qe at 0a6de058575cbe292afe220df105cc74120f7674 (MIT, Copyright (c) 2025 Agentic QE Contributors), 2026-10-23. Bundled references do not install aqe, MCP tools, pattern memory, or fleet runtime. See ../LICENSE.agentic-qe and ../README.md. -->
|
|
22
|
+
|
|
23
|
+
## Keysarium execution adapter
|
|
24
|
+
|
|
25
|
+
This pinned upstream body is methodology inside the bundled feature-ADR pipeline. In Reference Mode, the feature-ADR module that loaded this file owns orchestration and checkpoints. Use the reasoning and output shape below with the host's available tools. Do not treat upstream `aqe` CLI/MCP calls, named agent roles, browser tools, or example absolute paths as installed capabilities. Name a missing capability or evidence in the checkpoint instead of reporting that an upstream step ran. The schemas and eval files are bundled for explicit validation; bundling them does not run those checks automatically.
|
|
26
|
+
|
|
27
|
+
Relative paths such as `schemas/output.json`, `evals/...` and `steps/...` resolve from this skill directory under `references/agentic-qe/`. When Direct Mode has a separately installed `aqe` runtime, follow the feature-ADR module's direct-mode branch and verify that each required runtime capability is actually available.
|
|
28
|
+
|
|
29
|
+
<!-- BEGIN AGENTIC-QE UPSTREAM BODY -->
|
|
30
|
+
|
|
22
31
|
# Regression Testing
|
|
23
32
|
|
|
24
33
|
<default_to_action>
|
|
@@ -48,14 +57,6 @@ When verifying changes don't break existing functionality:
|
|
|
48
57
|
- After dependency updates
|
|
49
58
|
- After environment changes
|
|
50
59
|
|
|
51
|
-
### Regression Types
|
|
52
|
-
| Type | When | Scope |
|
|
53
|
-
|------|------|-------|
|
|
54
|
-
| **Corrective** | No code change | Full suite |
|
|
55
|
-
| **Progressive** | New features | Existing + new |
|
|
56
|
-
| **Selective** | Specific changes | Changed + dependent |
|
|
57
|
-
| **Complete** | Major refactor | Everything |
|
|
58
|
-
|
|
59
60
|
### Test Selection Strategies
|
|
60
61
|
| Strategy | How | Reduction |
|
|
61
62
|
|----------|-----|-----------|
|
|
@@ -91,22 +92,6 @@ function selectTests(changedFiles: string[]): string[] {
|
|
|
91
92
|
|
|
92
93
|
---
|
|
93
94
|
|
|
94
|
-
## Regression Suite Pyramid
|
|
95
|
-
|
|
96
|
-
```
|
|
97
|
-
/\
|
|
98
|
-
/ \ Full Regression (weekly)
|
|
99
|
-
/ \ - All tests (2-4 hours)
|
|
100
|
-
/------\
|
|
101
|
-
/ \ Extended Regression (nightly)
|
|
102
|
-
/ \ - Unit + integration + critical E2E (30-60 min)
|
|
103
|
-
/------------\
|
|
104
|
-
/ \ Quick Regression (per commit)
|
|
105
|
-
/________________\ - Changed code + smoke tests (5-10 min)
|
|
106
|
-
```
|
|
107
|
-
|
|
108
|
-
---
|
|
109
|
-
|
|
110
95
|
## CI/CD Integration
|
|
111
96
|
|
|
112
97
|
```yaml
|
|
@@ -141,27 +126,6 @@ jobs:
|
|
|
141
126
|
|
|
142
127
|
---
|
|
143
128
|
|
|
144
|
-
## Optimization Techniques
|
|
145
|
-
|
|
146
|
-
```javascript
|
|
147
|
-
// 1. Parallel execution
|
|
148
|
-
module.exports = {
|
|
149
|
-
maxWorkers: '50%', // Use half CPU cores
|
|
150
|
-
testTimeout: 30000
|
|
151
|
-
};
|
|
152
|
-
|
|
153
|
-
// 2. Sharding across CI workers
|
|
154
|
-
// npm test -- --shard=1/4
|
|
155
|
-
|
|
156
|
-
// 3. Incremental testing (only changed since last run)
|
|
157
|
-
// Track last run state, skip passing unchanged tests
|
|
158
|
-
|
|
159
|
-
// 4. Fast-fail on smoke
|
|
160
|
-
// Run critical tests first, abort if they fail
|
|
161
|
-
```
|
|
162
|
-
|
|
163
|
-
---
|
|
164
|
-
|
|
165
129
|
## Agent-Driven Regression
|
|
166
130
|
|
|
167
131
|
```typescript
|
|
@@ -226,8 +190,25 @@ const regressionFleet = await FleetManager.coordinate({
|
|
|
226
190
|
|
|
227
191
|
## Remember
|
|
228
192
|
|
|
229
|
-
**
|
|
193
|
+
**With Agents:** `qe-regression-risk-analyzer` provides intelligent test selection achieving 90% defect detection in 10% of execution time. Agents generate regression tests from production bugs automatically.
|
|
230
194
|
|
|
231
|
-
|
|
195
|
+
## Skill Composition
|
|
232
196
|
|
|
233
|
-
**
|
|
197
|
+
- **Test failing?** → Use `/test-failure-investigator` to diagnose root cause
|
|
198
|
+
- **File a bug** → Use `/bug-reporting-excellence` for proper bug reporting
|
|
199
|
+
- **Test selection** → Use `/risk-based-testing` for risk-based prioritization
|
|
200
|
+
|
|
201
|
+
## Gotchas
|
|
202
|
+
|
|
203
|
+
- Agent defaults to "run everything" despite being told to select — explicitly constrain with `--affected` or file list
|
|
204
|
+
- Change-based selection misses transitive dependencies — a model change can break a controller test 3 hops away
|
|
205
|
+
- Flaky tests in regression suites erode trust faster than missing tests — quarantine immediately, don't skip
|
|
206
|
+
- Agent may report "0 regressions" when tests simply weren't run — verify test count in output, not just pass/fail
|
|
207
|
+
- Running full regression in containers often OOMs — use `--workers=2` and `--shard` for CI environments
|
|
208
|
+
<!-- END AGENTIC-QE UPSTREAM BODY -->
|
|
209
|
+
|
|
210
|
+
## Keysarium local addition: regression suite tiers
|
|
211
|
+
|
|
212
|
+
Use a quick suite for the changed behavior and its direct dependents, a broader suite for important neighboring contracts, and a full suite when the change crosses many boundaries or before a release. A corrective run checks existing behavior after an environment change; a progressive run covers new behavior as well; a selective run is justified by a trace from changed code to affected tests.
|
|
213
|
+
|
|
214
|
+
A skipped test is an explicit scope decision. Record the changed files, selected tests, and the risk that remains outside the run. Every production defect should lead to a focused reproducer before it is called fixed.
|
|
@@ -0,0 +1,504 @@
|
|
|
1
|
+
# =============================================================================
|
|
2
|
+
# AQE Skill Evaluation Test Suite: Regression Testing v1.0.0
|
|
3
|
+
# =============================================================================
|
|
4
|
+
#
|
|
5
|
+
# Comprehensive evaluation suite for the regression-testing skill.
|
|
6
|
+
# Tests smart test selection, impact analysis, change-based and risk-based
|
|
7
|
+
# regression strategies, suite optimization, and flaky test detection.
|
|
8
|
+
#
|
|
9
|
+
# Schema: .claude/skills/.validation/schemas/skill-eval.schema.json
|
|
10
|
+
# Validator: .claude/skills/regression-testing/scripts/validate-config.json
|
|
11
|
+
#
|
|
12
|
+
# Coverage:
|
|
13
|
+
# - Test selection based on code changes
|
|
14
|
+
# - Impact analysis (what changed affects which tests)
|
|
15
|
+
# - Risk-based test prioritization
|
|
16
|
+
# - Regression suite optimization
|
|
17
|
+
# - Flaky test detection and isolation
|
|
18
|
+
#
|
|
19
|
+
# =============================================================================
|
|
20
|
+
|
|
21
|
+
skill: regression-testing
|
|
22
|
+
version: 1.0.0
|
|
23
|
+
description: >
|
|
24
|
+
Comprehensive evaluation suite for the regression-testing skill.
|
|
25
|
+
Tests smart test selection strategies, code impact analysis, risk-based
|
|
26
|
+
prioritization, execution optimization for faster feedback, and flaky
|
|
27
|
+
test detection to ensure regressions are caught efficiently.
|
|
28
|
+
|
|
29
|
+
# =============================================================================
|
|
30
|
+
# Multi-Model Configuration
|
|
31
|
+
# =============================================================================
|
|
32
|
+
|
|
33
|
+
models_to_test:
|
|
34
|
+
- claude-sonnet-4-6 # Primary (high accuracy expected)
|
|
35
|
+
- claude-haiku-4-5 # Fast model (minimum quality floor)
|
|
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-regression-risk-analyzer
|
|
55
|
+
|
|
56
|
+
# =============================================================================
|
|
57
|
+
# ReasoningBank Learning Configuration
|
|
58
|
+
# =============================================================================
|
|
59
|
+
|
|
60
|
+
learning:
|
|
61
|
+
store_success_patterns: true
|
|
62
|
+
store_failure_patterns: true
|
|
63
|
+
pattern_ttl_days: 90
|
|
64
|
+
min_confidence_to_store: 0.7
|
|
65
|
+
cross_model_comparison: true
|
|
66
|
+
|
|
67
|
+
# =============================================================================
|
|
68
|
+
# Result Format Configuration
|
|
69
|
+
# =============================================================================
|
|
70
|
+
|
|
71
|
+
result_format:
|
|
72
|
+
json_output: true
|
|
73
|
+
markdown_report: true
|
|
74
|
+
include_raw_output: false
|
|
75
|
+
include_timing: true
|
|
76
|
+
include_token_usage: true
|
|
77
|
+
|
|
78
|
+
# =============================================================================
|
|
79
|
+
# Environment Setup
|
|
80
|
+
# =============================================================================
|
|
81
|
+
|
|
82
|
+
setup:
|
|
83
|
+
required_tools:
|
|
84
|
+
- jq
|
|
85
|
+
|
|
86
|
+
environment_variables:
|
|
87
|
+
REGRESSION_ENABLED: "true"
|
|
88
|
+
IMPACT_ANALYSIS: "true"
|
|
89
|
+
|
|
90
|
+
# =============================================================================
|
|
91
|
+
# TEST CASES
|
|
92
|
+
# =============================================================================
|
|
93
|
+
|
|
94
|
+
test_cases:
|
|
95
|
+
# ---------------------------------------------------------------------------
|
|
96
|
+
# CATEGORY: Test Selection Based on Changes
|
|
97
|
+
# ---------------------------------------------------------------------------
|
|
98
|
+
|
|
99
|
+
- id: tc001_test_selection_auth_module
|
|
100
|
+
description: "Select only relevant tests for authentication changes"
|
|
101
|
+
category: test_selection
|
|
102
|
+
priority: critical
|
|
103
|
+
|
|
104
|
+
input:
|
|
105
|
+
changed_files:
|
|
106
|
+
- src/auth/login.ts
|
|
107
|
+
- src/auth/jwt.ts
|
|
108
|
+
all_tests:
|
|
109
|
+
- name: "auth.login.test.ts"
|
|
110
|
+
modules_used: ["login"]
|
|
111
|
+
relevant: true
|
|
112
|
+
- name: "auth.jwt.test.ts"
|
|
113
|
+
modules_used: ["jwt"]
|
|
114
|
+
relevant: true
|
|
115
|
+
- name: "cart.checkout.test.ts"
|
|
116
|
+
modules_used: ["payment"]
|
|
117
|
+
relevant: false
|
|
118
|
+
- name: "profile.settings.test.ts"
|
|
119
|
+
modules_used: ["profile"]
|
|
120
|
+
relevant: false
|
|
121
|
+
total_tests: 4
|
|
122
|
+
context:
|
|
123
|
+
change_type: "auth module update"
|
|
124
|
+
|
|
125
|
+
expected_output:
|
|
126
|
+
must_contain:
|
|
127
|
+
- "selection"
|
|
128
|
+
- "auth"
|
|
129
|
+
- "2"
|
|
130
|
+
- "relevant"
|
|
131
|
+
must_not_contain:
|
|
132
|
+
- "all tests"
|
|
133
|
+
severity_classification: info
|
|
134
|
+
finding_count:
|
|
135
|
+
max: 1
|
|
136
|
+
|
|
137
|
+
validation:
|
|
138
|
+
schema_check: true
|
|
139
|
+
keyword_match_threshold: 0.8
|
|
140
|
+
reasoning_quality_min: 0.75
|
|
141
|
+
|
|
142
|
+
timeout_ms: 30000
|
|
143
|
+
|
|
144
|
+
- id: tc002_smart_test_selection_database
|
|
145
|
+
description: "Identify all affected tests for database schema change"
|
|
146
|
+
category: test_selection
|
|
147
|
+
priority: critical
|
|
148
|
+
|
|
149
|
+
input:
|
|
150
|
+
change_description: "Add email_verified column to users table"
|
|
151
|
+
affected_models:
|
|
152
|
+
- User
|
|
153
|
+
- Profile
|
|
154
|
+
- Auth
|
|
155
|
+
tests_affected:
|
|
156
|
+
- user.model.test.ts
|
|
157
|
+
- auth.verification.test.ts
|
|
158
|
+
- user.profile.test.ts
|
|
159
|
+
- payment.test.ts # Not affected
|
|
160
|
+
context:
|
|
161
|
+
change_scope: database
|
|
162
|
+
|
|
163
|
+
expected_output:
|
|
164
|
+
must_contain:
|
|
165
|
+
- "affected"
|
|
166
|
+
- "User"
|
|
167
|
+
- "Auth"
|
|
168
|
+
- "3 tests"
|
|
169
|
+
must_not_contain:
|
|
170
|
+
- "payment"
|
|
171
|
+
severity_classification: high
|
|
172
|
+
|
|
173
|
+
validation:
|
|
174
|
+
schema_check: true
|
|
175
|
+
keyword_match_threshold: 0.8
|
|
176
|
+
|
|
177
|
+
# ---------------------------------------------------------------------------
|
|
178
|
+
# CATEGORY: Risk-Based Prioritization
|
|
179
|
+
# ---------------------------------------------------------------------------
|
|
180
|
+
|
|
181
|
+
- id: tc003_risk_based_test_ordering
|
|
182
|
+
description: "Prioritize tests by risk (critical path first)"
|
|
183
|
+
category: prioritization
|
|
184
|
+
priority: critical
|
|
185
|
+
|
|
186
|
+
input:
|
|
187
|
+
tests:
|
|
188
|
+
- name: "checkout.test.ts"
|
|
189
|
+
criticality: critical
|
|
190
|
+
revenue_impact: 100000
|
|
191
|
+
priority: 1
|
|
192
|
+
- name: "login.test.ts"
|
|
193
|
+
criticality: critical
|
|
194
|
+
revenue_impact: 50000
|
|
195
|
+
priority: 2
|
|
196
|
+
- name: "profile.test.ts"
|
|
197
|
+
criticality: high
|
|
198
|
+
revenue_impact: 5000
|
|
199
|
+
priority: 3
|
|
200
|
+
- name: "help.test.ts"
|
|
201
|
+
criticality: low
|
|
202
|
+
revenue_impact: 0
|
|
203
|
+
priority: 4
|
|
204
|
+
context:
|
|
205
|
+
strategy: "risk-based"
|
|
206
|
+
|
|
207
|
+
expected_output:
|
|
208
|
+
must_contain:
|
|
209
|
+
- "priority"
|
|
210
|
+
- "critical"
|
|
211
|
+
- "checkout"
|
|
212
|
+
- "order"
|
|
213
|
+
must_not_contain:
|
|
214
|
+
- "random"
|
|
215
|
+
severity_classification: info
|
|
216
|
+
|
|
217
|
+
validation:
|
|
218
|
+
schema_check: true
|
|
219
|
+
keyword_match_threshold: 0.8
|
|
220
|
+
|
|
221
|
+
- id: tc004_regression_strategy_selection
|
|
222
|
+
description: "Choose appropriate regression strategy per deployment"
|
|
223
|
+
category: prioritization
|
|
224
|
+
priority: high
|
|
225
|
+
|
|
226
|
+
input:
|
|
227
|
+
scenarios:
|
|
228
|
+
- name: "Per-commit regression"
|
|
229
|
+
strategy: "smoke + changed-code tests"
|
|
230
|
+
time_budget_minutes: 10
|
|
231
|
+
coverage: "50%"
|
|
232
|
+
- name: "Nightly regression"
|
|
233
|
+
strategy: "extended regression"
|
|
234
|
+
time_budget_minutes: 60
|
|
235
|
+
coverage: "80%"
|
|
236
|
+
- name: "Pre-release regression"
|
|
237
|
+
strategy: "full regression"
|
|
238
|
+
time_budget_minutes: 240
|
|
239
|
+
coverage: "100%"
|
|
240
|
+
context:
|
|
241
|
+
goal: "match_strategy_to_deployment_type"
|
|
242
|
+
|
|
243
|
+
expected_output:
|
|
244
|
+
must_contain:
|
|
245
|
+
- "strategy"
|
|
246
|
+
- "smoke"
|
|
247
|
+
- "nightly"
|
|
248
|
+
- "full"
|
|
249
|
+
must_not_contain:
|
|
250
|
+
- "one size"
|
|
251
|
+
severity_classification: info
|
|
252
|
+
|
|
253
|
+
validation:
|
|
254
|
+
schema_check: true
|
|
255
|
+
keyword_match_threshold: 0.75
|
|
256
|
+
|
|
257
|
+
# ---------------------------------------------------------------------------
|
|
258
|
+
# CATEGORY: Execution Optimization
|
|
259
|
+
# ---------------------------------------------------------------------------
|
|
260
|
+
|
|
261
|
+
- id: tc005_test_execution_parallelization
|
|
262
|
+
description: "Calculate optimal test parallelization"
|
|
263
|
+
category: optimization
|
|
264
|
+
priority: high
|
|
265
|
+
|
|
266
|
+
input:
|
|
267
|
+
tests:
|
|
268
|
+
- name: "auth.test.ts"
|
|
269
|
+
duration_ms: 2000
|
|
270
|
+
dependencies: []
|
|
271
|
+
- name: "user.test.ts"
|
|
272
|
+
duration_ms: 1500
|
|
273
|
+
dependencies: []
|
|
274
|
+
- name: "cart.test.ts"
|
|
275
|
+
duration_ms: 3000
|
|
276
|
+
dependencies: ["user.test.ts"]
|
|
277
|
+
- name: "checkout.test.ts"
|
|
278
|
+
duration_ms: 4000
|
|
279
|
+
dependencies: ["cart.test.ts", "user.test.ts"]
|
|
280
|
+
available_workers: 4
|
|
281
|
+
context:
|
|
282
|
+
goal: "minimize_total_time"
|
|
283
|
+
|
|
284
|
+
expected_output:
|
|
285
|
+
must_contain:
|
|
286
|
+
- "parallel"
|
|
287
|
+
- "workers"
|
|
288
|
+
- "optimal"
|
|
289
|
+
- "seconds"
|
|
290
|
+
must_not_contain:
|
|
291
|
+
- "sequential"
|
|
292
|
+
severity_classification: info
|
|
293
|
+
|
|
294
|
+
validation:
|
|
295
|
+
schema_check: true
|
|
296
|
+
keyword_match_threshold: 0.75
|
|
297
|
+
|
|
298
|
+
- id: tc006_flaky_test_detection
|
|
299
|
+
description: "Identify and isolate flaky tests"
|
|
300
|
+
category: optimization
|
|
301
|
+
priority: critical
|
|
302
|
+
|
|
303
|
+
input:
|
|
304
|
+
test_results:
|
|
305
|
+
- test: "auth.login.test.ts"
|
|
306
|
+
runs: 10
|
|
307
|
+
failures: 0
|
|
308
|
+
flakiness_percent: 0
|
|
309
|
+
status: stable
|
|
310
|
+
- test: "async.operation.test.ts"
|
|
311
|
+
runs: 10
|
|
312
|
+
failures: 3
|
|
313
|
+
flakiness_percent: 30
|
|
314
|
+
status: flaky
|
|
315
|
+
- test: "api.timeout.test.ts"
|
|
316
|
+
runs: 10
|
|
317
|
+
failures: 5
|
|
318
|
+
flakiness_percent: 50
|
|
319
|
+
status: very_flaky
|
|
320
|
+
context:
|
|
321
|
+
threshold: 10
|
|
322
|
+
|
|
323
|
+
expected_output:
|
|
324
|
+
must_contain:
|
|
325
|
+
- "flaky"
|
|
326
|
+
- "async"
|
|
327
|
+
- "api"
|
|
328
|
+
- "isolate"
|
|
329
|
+
must_not_contain:
|
|
330
|
+
- "stable"
|
|
331
|
+
severity_classification: high
|
|
332
|
+
|
|
333
|
+
validation:
|
|
334
|
+
schema_check: true
|
|
335
|
+
keyword_match_threshold: 0.8
|
|
336
|
+
|
|
337
|
+
# ---------------------------------------------------------------------------
|
|
338
|
+
# CATEGORY: Smoke vs Extended vs Full Regression
|
|
339
|
+
# ---------------------------------------------------------------------------
|
|
340
|
+
|
|
341
|
+
- id: tc007_smoke_test_definition
|
|
342
|
+
description: "Define critical smoke tests for quick feedback"
|
|
343
|
+
category: suite_design
|
|
344
|
+
priority: critical
|
|
345
|
+
|
|
346
|
+
input:
|
|
347
|
+
smoke_tests:
|
|
348
|
+
- "login.test.ts"
|
|
349
|
+
- "dashboard.load.test.ts"
|
|
350
|
+
- "create.item.test.ts"
|
|
351
|
+
total_regression_tests: 200
|
|
352
|
+
smoke_coverage_percent: 10
|
|
353
|
+
expected_duration_minutes: 5
|
|
354
|
+
context:
|
|
355
|
+
execution_frequency: "per-commit"
|
|
356
|
+
|
|
357
|
+
expected_output:
|
|
358
|
+
must_contain:
|
|
359
|
+
- "smoke"
|
|
360
|
+
- "critical"
|
|
361
|
+
- "5 minutes"
|
|
362
|
+
must_not_contain:
|
|
363
|
+
- "complete"
|
|
364
|
+
severity_classification: info
|
|
365
|
+
|
|
366
|
+
validation:
|
|
367
|
+
schema_check: true
|
|
368
|
+
keyword_match_threshold: 0.75
|
|
369
|
+
|
|
370
|
+
- id: tc008_extended_regression_suite
|
|
371
|
+
description: "Define extended regression for nightly runs"
|
|
372
|
+
category: suite_design
|
|
373
|
+
priority: high
|
|
374
|
+
|
|
375
|
+
input:
|
|
376
|
+
extended_tests:
|
|
377
|
+
- category: smoke
|
|
378
|
+
count: 20
|
|
379
|
+
- category: core_features
|
|
380
|
+
count: 80
|
|
381
|
+
- category: integrations
|
|
382
|
+
count: 50
|
|
383
|
+
total_tests: 150
|
|
384
|
+
expected_duration_minutes: 45
|
|
385
|
+
context:
|
|
386
|
+
execution_frequency: "nightly"
|
|
387
|
+
|
|
388
|
+
expected_output:
|
|
389
|
+
must_contain:
|
|
390
|
+
- "extended"
|
|
391
|
+
- "150"
|
|
392
|
+
- "nightly"
|
|
393
|
+
- "45"
|
|
394
|
+
must_not_contain:
|
|
395
|
+
- "full regression"
|
|
396
|
+
severity_classification: info
|
|
397
|
+
|
|
398
|
+
validation:
|
|
399
|
+
schema_check: true
|
|
400
|
+
keyword_match_threshold: 0.75
|
|
401
|
+
|
|
402
|
+
# ---------------------------------------------------------------------------
|
|
403
|
+
# CATEGORY: Suite Health Monitoring
|
|
404
|
+
# ---------------------------------------------------------------------------
|
|
405
|
+
|
|
406
|
+
- id: tc009_regression_suite_health
|
|
407
|
+
description: "Monitor regression suite health metrics"
|
|
408
|
+
category: health
|
|
409
|
+
priority: high
|
|
410
|
+
|
|
411
|
+
input:
|
|
412
|
+
metrics:
|
|
413
|
+
- name: "Average Execution Time"
|
|
414
|
+
value_minutes: 35
|
|
415
|
+
trend: increasing
|
|
416
|
+
status: concerning
|
|
417
|
+
- name: "Flaky Test Rate"
|
|
418
|
+
value_percent: 8
|
|
419
|
+
trend: decreasing
|
|
420
|
+
status: improving
|
|
421
|
+
- name: "Bug Detection Rate"
|
|
422
|
+
value_percent: 85
|
|
423
|
+
trend: stable
|
|
424
|
+
status: healthy
|
|
425
|
+
- name: "False Positive Rate"
|
|
426
|
+
value_percent: 2
|
|
427
|
+
trend: stable
|
|
428
|
+
status: good
|
|
429
|
+
context:
|
|
430
|
+
goal: "maintain_health"
|
|
431
|
+
|
|
432
|
+
expected_output:
|
|
433
|
+
must_contain:
|
|
434
|
+
- "health"
|
|
435
|
+
- "flaky"
|
|
436
|
+
- "execution time"
|
|
437
|
+
- "metrics"
|
|
438
|
+
must_not_contain:
|
|
439
|
+
- "no concerns"
|
|
440
|
+
severity_classification: medium
|
|
441
|
+
|
|
442
|
+
validation:
|
|
443
|
+
schema_check: true
|
|
444
|
+
keyword_match_threshold: 0.75
|
|
445
|
+
|
|
446
|
+
- id: tc010_production_bug_regression_test
|
|
447
|
+
description: "Add regression test for every production bug"
|
|
448
|
+
category: continuous_improvement
|
|
449
|
+
priority: critical
|
|
450
|
+
|
|
451
|
+
input:
|
|
452
|
+
production_bugs:
|
|
453
|
+
- bug_id: "BUG-001"
|
|
454
|
+
description: "Users unable to reset password"
|
|
455
|
+
severity: critical
|
|
456
|
+
regression_test_added: true
|
|
457
|
+
- bug_id: "BUG-002"
|
|
458
|
+
description: "Checkout page crashes on Safari"
|
|
459
|
+
severity: high
|
|
460
|
+
regression_test_added: true
|
|
461
|
+
- bug_id: "BUG-003"
|
|
462
|
+
description: "Typo in help text"
|
|
463
|
+
severity: low
|
|
464
|
+
regression_test_added: false
|
|
465
|
+
context:
|
|
466
|
+
policy: "all_critical_high_tested"
|
|
467
|
+
|
|
468
|
+
expected_output:
|
|
469
|
+
must_contain:
|
|
470
|
+
- "regression"
|
|
471
|
+
- "production"
|
|
472
|
+
- "test"
|
|
473
|
+
must_not_contain:
|
|
474
|
+
- "no regression"
|
|
475
|
+
severity_classification: high
|
|
476
|
+
|
|
477
|
+
validation:
|
|
478
|
+
schema_check: true
|
|
479
|
+
keyword_match_threshold: 0.8
|
|
480
|
+
|
|
481
|
+
# =============================================================================
|
|
482
|
+
# SUCCESS CRITERIA
|
|
483
|
+
# =============================================================================
|
|
484
|
+
|
|
485
|
+
success_criteria:
|
|
486
|
+
pass_rate: 0.85
|
|
487
|
+
critical_pass_rate: 1.0
|
|
488
|
+
avg_reasoning_quality: 0.75
|
|
489
|
+
max_execution_time_ms: 300000
|
|
490
|
+
cross_model_variance: 0.15
|
|
491
|
+
|
|
492
|
+
# =============================================================================
|
|
493
|
+
# METADATA
|
|
494
|
+
# =============================================================================
|
|
495
|
+
|
|
496
|
+
metadata:
|
|
497
|
+
author: "qe-regression-risk-analyzer"
|
|
498
|
+
created: "2026-02-02"
|
|
499
|
+
last_updated: "2026-02-02"
|
|
500
|
+
coverage_target: >
|
|
501
|
+
Regression testing including smart test selection, impact analysis,
|
|
502
|
+
risk-based prioritization, execution optimization, flaky test detection,
|
|
503
|
+
smoke/extended/full regression strategies, and suite health monitoring.
|
|
504
|
+
10 test cases covering all regression testing aspects with 85% pass rate.
|