agentic-qe 3.5.4 → 3.6.0
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/agents/v3/README.md +1 -1
- package/.claude/agents/v3/qe-message-broker-tester.md +380 -0
- package/.claude/agents/v3/qe-middleware-validator.md +423 -0
- package/.claude/agents/v3/qe-odata-contract-tester.md +484 -0
- package/.claude/agents/v3/qe-pentest-validator.md +359 -0
- package/.claude/agents/v3/qe-qx-partner.md +85 -3
- package/.claude/agents/v3/qe-sap-idoc-tester.md +407 -0
- package/.claude/agents/v3/qe-sap-rfc-tester.md +357 -0
- package/.claude/agents/v3/qe-soap-tester.md +340 -0
- package/.claude/agents/v3/qe-sod-analyzer.md +528 -0
- package/.claude/agents/v3/templates/qx-report-template.html +437 -0
- package/.claude/skills/debug-loop/SKILL.md +61 -0
- package/.claude/skills/enterprise-integration-testing/SKILL.md +735 -0
- package/.claude/skills/middleware-testing-patterns/SKILL.md +798 -0
- package/.claude/skills/observability-testing-patterns/SKILL.md +930 -0
- package/.claude/skills/pentest-validation/SKILL.md +268 -0
- package/.claude/skills/pentest-validation/evals/pentest-validation.yaml +708 -0
- package/.claude/skills/pentest-validation/schemas/output.json +281 -0
- package/.claude/skills/pentest-validation/scripts/validate.sh +402 -0
- package/.claude/skills/pr-review/SKILL.md +61 -0
- package/.claude/skills/qcsd-cicd-swarm/SKILL.md +315 -13
- package/.claude/skills/qcsd-development-swarm/SKILL.md +331 -16
- package/.claude/skills/qcsd-ideation-swarm/SKILL.md +258 -9
- package/.claude/skills/qcsd-refinement-swarm/SKILL.md +344 -22
- package/.claude/skills/release/SKILL.md +333 -0
- package/.claude/skills/skills-manifest.json +5 -4
- package/.claude/skills/wms-testing-patterns/SKILL.md +949 -0
- package/README.md +30 -21
- package/package.json +2 -2
- package/v3/CHANGELOG.md +57 -0
- package/v3/README.md +23 -20
- package/v3/assets/agents/v3/qe-message-broker-tester.md +380 -0
- package/v3/assets/agents/v3/qe-middleware-validator.md +423 -0
- package/v3/assets/agents/v3/qe-odata-contract-tester.md +484 -0
- package/v3/assets/agents/v3/qe-pentest-validator.md +359 -0
- package/v3/assets/agents/v3/qe-qx-partner.md +90 -12
- package/v3/assets/agents/v3/qe-sap-idoc-tester.md +407 -0
- package/v3/assets/agents/v3/qe-sap-rfc-tester.md +357 -0
- package/v3/assets/agents/v3/qe-soap-tester.md +340 -0
- package/v3/assets/agents/v3/qe-sod-analyzer.md +528 -0
- package/v3/assets/agents/v3/templates/qx-report-template.html +437 -0
- package/v3/assets/skills/debug-loop/SKILL.md +61 -0
- package/v3/assets/skills/enterprise-integration-testing/SKILL.md +735 -0
- package/v3/assets/skills/middleware-testing-patterns/SKILL.md +798 -0
- package/v3/assets/skills/observability-testing-patterns/SKILL.md +930 -0
- package/v3/assets/skills/pentest-validation/SKILL.md +268 -0
- package/v3/assets/skills/pentest-validation/evals/pentest-validation.yaml +708 -0
- package/v3/assets/skills/pentest-validation/schemas/output.json +281 -0
- package/v3/assets/skills/pentest-validation/scripts/validate.sh +402 -0
- package/v3/assets/skills/pr-review/SKILL.md +61 -0
- package/v3/assets/skills/qcsd-cicd-swarm/SKILL.md +2206 -0
- package/v3/assets/skills/qcsd-development-swarm/SKILL.md +2154 -0
- package/v3/assets/skills/qcsd-ideation-swarm/SKILL.md +2008 -1753
- package/v3/assets/skills/qcsd-refinement-swarm/SKILL.md +2398 -0
- package/v3/assets/skills/security-visual-testing/SKILL.md +223 -0
- package/v3/assets/skills/security-visual-testing/evals/security-visual-testing.yaml +163 -0
- package/v3/assets/skills/security-visual-testing/schemas/output.json +486 -0
- package/v3/assets/skills/security-visual-testing/scripts/validate.sh +748 -0
- package/v3/assets/skills/sfdipot-product-factors/SKILL.md +239 -0
- package/v3/assets/skills/test-idea-rewriting/SKILL.md +229 -0
- package/v3/assets/skills/wms-testing-patterns/SKILL.md +949 -0
- package/v3/dist/cli/bundle.js +10816 -4625
- package/v3/dist/cli/commands/coverage.d.ts.map +1 -1
- package/v3/dist/cli/commands/coverage.js +29 -0
- package/v3/dist/cli/commands/coverage.js.map +1 -1
- package/v3/dist/cli/commands/learning.d.ts.map +1 -1
- package/v3/dist/cli/commands/learning.js +9 -0
- package/v3/dist/cli/commands/learning.js.map +1 -1
- package/v3/dist/cli/commands/token-usage.d.ts.map +1 -1
- package/v3/dist/cli/commands/token-usage.js +6 -2
- package/v3/dist/cli/commands/token-usage.js.map +1 -1
- package/v3/dist/coordination/protocols/learning-consolidation.d.ts.map +1 -1
- package/v3/dist/coordination/protocols/learning-consolidation.js +1 -0
- package/v3/dist/coordination/protocols/learning-consolidation.js.map +1 -1
- package/v3/dist/domains/coverage-analysis/coordinator.d.ts +8 -0
- package/v3/dist/domains/coverage-analysis/coordinator.d.ts.map +1 -1
- package/v3/dist/domains/coverage-analysis/coordinator.js +67 -0
- package/v3/dist/domains/coverage-analysis/coordinator.js.map +1 -1
- package/v3/dist/domains/coverage-analysis/interfaces.d.ts +33 -0
- package/v3/dist/domains/coverage-analysis/interfaces.d.ts.map +1 -1
- package/v3/dist/domains/coverage-analysis/plugin.d.ts.map +1 -1
- package/v3/dist/domains/coverage-analysis/plugin.js +17 -0
- package/v3/dist/domains/coverage-analysis/plugin.js.map +1 -1
- package/v3/dist/domains/coverage-analysis/services/ghost-coverage-analyzer.d.ts +125 -0
- package/v3/dist/domains/coverage-analysis/services/ghost-coverage-analyzer.d.ts.map +1 -0
- package/v3/dist/domains/coverage-analysis/services/ghost-coverage-analyzer.js +317 -0
- package/v3/dist/domains/coverage-analysis/services/ghost-coverage-analyzer.js.map +1 -0
- package/v3/dist/domains/coverage-analysis/services/index.d.ts +1 -0
- package/v3/dist/domains/coverage-analysis/services/index.d.ts.map +1 -1
- package/v3/dist/domains/coverage-analysis/services/index.js +4 -0
- package/v3/dist/domains/coverage-analysis/services/index.js.map +1 -1
- package/v3/dist/domains/enterprise-integration/coordinator.d.ts +91 -0
- package/v3/dist/domains/enterprise-integration/coordinator.d.ts.map +1 -0
- package/v3/dist/domains/enterprise-integration/coordinator.js +672 -0
- package/v3/dist/domains/enterprise-integration/coordinator.js.map +1 -0
- package/v3/dist/domains/enterprise-integration/index.d.ts +14 -0
- package/v3/dist/domains/enterprise-integration/index.d.ts.map +1 -0
- package/v3/dist/domains/enterprise-integration/index.js +18 -0
- package/v3/dist/domains/enterprise-integration/index.js.map +1 -0
- package/v3/dist/domains/enterprise-integration/interfaces.d.ts +376 -0
- package/v3/dist/domains/enterprise-integration/interfaces.d.ts.map +1 -0
- package/v3/dist/domains/enterprise-integration/interfaces.js +11 -0
- package/v3/dist/domains/enterprise-integration/interfaces.js.map +1 -0
- package/v3/dist/domains/enterprise-integration/plugin.d.ts +88 -0
- package/v3/dist/domains/enterprise-integration/plugin.d.ts.map +1 -0
- package/v3/dist/domains/enterprise-integration/plugin.js +515 -0
- package/v3/dist/domains/enterprise-integration/plugin.js.map +1 -0
- package/v3/dist/domains/enterprise-integration/services/esb-middleware-service.d.ts +67 -0
- package/v3/dist/domains/enterprise-integration/services/esb-middleware-service.d.ts.map +1 -0
- package/v3/dist/domains/enterprise-integration/services/esb-middleware-service.js +670 -0
- package/v3/dist/domains/enterprise-integration/services/esb-middleware-service.js.map +1 -0
- package/v3/dist/domains/enterprise-integration/services/index.d.ts +13 -0
- package/v3/dist/domains/enterprise-integration/services/index.d.ts.map +1 -0
- package/v3/dist/domains/enterprise-integration/services/index.js +13 -0
- package/v3/dist/domains/enterprise-integration/services/index.js.map +1 -0
- package/v3/dist/domains/enterprise-integration/services/message-broker-service.d.ts +88 -0
- package/v3/dist/domains/enterprise-integration/services/message-broker-service.d.ts.map +1 -0
- package/v3/dist/domains/enterprise-integration/services/message-broker-service.js +560 -0
- package/v3/dist/domains/enterprise-integration/services/message-broker-service.js.map +1 -0
- package/v3/dist/domains/enterprise-integration/services/odata-service.d.ts +75 -0
- package/v3/dist/domains/enterprise-integration/services/odata-service.d.ts.map +1 -0
- package/v3/dist/domains/enterprise-integration/services/odata-service.js +618 -0
- package/v3/dist/domains/enterprise-integration/services/odata-service.js.map +1 -0
- package/v3/dist/domains/enterprise-integration/services/sap-integration-service.d.ts +73 -0
- package/v3/dist/domains/enterprise-integration/services/sap-integration-service.d.ts.map +1 -0
- package/v3/dist/domains/enterprise-integration/services/sap-integration-service.js +513 -0
- package/v3/dist/domains/enterprise-integration/services/sap-integration-service.js.map +1 -0
- package/v3/dist/domains/enterprise-integration/services/soap-wsdl-service.d.ts +84 -0
- package/v3/dist/domains/enterprise-integration/services/soap-wsdl-service.d.ts.map +1 -0
- package/v3/dist/domains/enterprise-integration/services/soap-wsdl-service.js +639 -0
- package/v3/dist/domains/enterprise-integration/services/soap-wsdl-service.js.map +1 -0
- package/v3/dist/domains/enterprise-integration/services/sod-analysis-service.d.ts +90 -0
- package/v3/dist/domains/enterprise-integration/services/sod-analysis-service.d.ts.map +1 -0
- package/v3/dist/domains/enterprise-integration/services/sod-analysis-service.js +389 -0
- package/v3/dist/domains/enterprise-integration/services/sod-analysis-service.js.map +1 -0
- package/v3/dist/domains/index.d.ts +1 -0
- package/v3/dist/domains/index.d.ts.map +1 -1
- package/v3/dist/domains/index.js +1 -0
- package/v3/dist/domains/index.js.map +1 -1
- package/v3/dist/domains/learning-optimization/coordinator.d.ts.map +1 -1
- package/v3/dist/domains/learning-optimization/coordinator.js +1 -0
- package/v3/dist/domains/learning-optimization/coordinator.js.map +1 -1
- package/v3/dist/domains/learning-optimization/services/learning-coordinator.d.ts.map +1 -1
- package/v3/dist/domains/learning-optimization/services/learning-coordinator.js +1 -0
- package/v3/dist/domains/learning-optimization/services/learning-coordinator.js.map +1 -1
- package/v3/dist/domains/learning-optimization/services/transfer-specialist.d.ts.map +1 -1
- package/v3/dist/domains/learning-optimization/services/transfer-specialist.js +1 -0
- package/v3/dist/domains/learning-optimization/services/transfer-specialist.js.map +1 -1
- package/v3/dist/domains/test-execution/coordinator.d.ts.map +1 -1
- package/v3/dist/domains/test-execution/coordinator.js +34 -0
- package/v3/dist/domains/test-execution/coordinator.js.map +1 -1
- package/v3/dist/domains/test-generation/services/test-data-generator.d.ts +7 -1
- package/v3/dist/domains/test-generation/services/test-data-generator.d.ts.map +1 -1
- package/v3/dist/domains/test-generation/services/test-data-generator.js +116 -98
- package/v3/dist/domains/test-generation/services/test-data-generator.js.map +1 -1
- package/v3/dist/init/agents-installer.d.ts +4 -0
- package/v3/dist/init/agents-installer.d.ts.map +1 -1
- package/v3/dist/init/agents-installer.js +32 -3
- package/v3/dist/init/agents-installer.js.map +1 -1
- package/v3/dist/init/skills-installer.d.ts.map +1 -1
- package/v3/dist/init/skills-installer.js +4 -1
- package/v3/dist/init/skills-installer.js.map +1 -1
- package/v3/dist/init/types.d.ts.map +1 -1
- package/v3/dist/init/types.js +1 -0
- package/v3/dist/init/types.js.map +1 -1
- package/v3/dist/integrations/agentic-flow/model-router/budget-enforcer.d.ts +16 -0
- package/v3/dist/integrations/agentic-flow/model-router/budget-enforcer.d.ts.map +1 -1
- package/v3/dist/integrations/agentic-flow/model-router/budget-enforcer.js +41 -0
- package/v3/dist/integrations/agentic-flow/model-router/budget-enforcer.js.map +1 -1
- package/v3/dist/integrations/ruvector/provider.d.ts.map +1 -1
- package/v3/dist/integrations/ruvector/provider.js +1 -0
- package/v3/dist/integrations/ruvector/provider.js.map +1 -1
- package/v3/dist/kernel/anti-drift-middleware.d.ts +160 -0
- package/v3/dist/kernel/anti-drift-middleware.d.ts.map +1 -0
- package/v3/dist/kernel/anti-drift-middleware.js +376 -0
- package/v3/dist/kernel/anti-drift-middleware.js.map +1 -0
- package/v3/dist/kernel/event-bus.d.ts +29 -1
- package/v3/dist/kernel/event-bus.d.ts.map +1 -1
- package/v3/dist/kernel/event-bus.js +69 -6
- package/v3/dist/kernel/event-bus.js.map +1 -1
- package/v3/dist/kernel/interfaces.d.ts +35 -0
- package/v3/dist/kernel/interfaces.d.ts.map +1 -1
- package/v3/dist/kernel/kernel.d.ts.map +1 -1
- package/v3/dist/kernel/kernel.js +14 -17
- package/v3/dist/kernel/kernel.js.map +1 -1
- package/v3/dist/kernel/unified-memory.d.ts +5 -0
- package/v3/dist/kernel/unified-memory.d.ts.map +1 -1
- package/v3/dist/kernel/unified-memory.js +28 -0
- package/v3/dist/kernel/unified-memory.js.map +1 -1
- package/v3/dist/learning/asymmetric-learning.d.ts +133 -0
- package/v3/dist/learning/asymmetric-learning.d.ts.map +1 -0
- package/v3/dist/learning/asymmetric-learning.js +170 -0
- package/v3/dist/learning/asymmetric-learning.js.map +1 -0
- package/v3/dist/learning/pattern-lifecycle.d.ts +26 -0
- package/v3/dist/learning/pattern-lifecycle.d.ts.map +1 -1
- package/v3/dist/learning/pattern-lifecycle.js +83 -0
- package/v3/dist/learning/pattern-lifecycle.js.map +1 -1
- package/v3/dist/learning/qe-patterns.d.ts +8 -0
- package/v3/dist/learning/qe-patterns.d.ts.map +1 -1
- package/v3/dist/learning/qe-patterns.js.map +1 -1
- package/v3/dist/learning/real-qe-reasoning-bank.d.ts +28 -0
- package/v3/dist/learning/real-qe-reasoning-bank.d.ts.map +1 -1
- package/v3/dist/learning/real-qe-reasoning-bank.js +72 -4
- package/v3/dist/learning/real-qe-reasoning-bank.js.map +1 -1
- package/v3/dist/learning/token-tracker.d.ts +22 -0
- package/v3/dist/learning/token-tracker.d.ts.map +1 -1
- package/v3/dist/learning/token-tracker.js +67 -0
- package/v3/dist/learning/token-tracker.js.map +1 -1
- package/v3/dist/mcp/bundle.js +11099 -4879
- package/v3/dist/mcp/tool-registry.d.ts.map +1 -1
- package/v3/dist/mcp/tool-registry.js +4 -0
- package/v3/dist/mcp/tool-registry.js.map +1 -1
- package/v3/dist/mcp/tools/analysis/token-usage.d.ts +1 -1
- package/v3/dist/mcp/tools/analysis/token-usage.d.ts.map +1 -1
- package/v3/dist/mcp/tools/analysis/token-usage.js +23 -3
- package/v3/dist/mcp/tools/analysis/token-usage.js.map +1 -1
- package/v3/dist/mcp/tools/base.d.ts.map +1 -1
- package/v3/dist/mcp/tools/base.js +1 -15
- package/v3/dist/mcp/tools/base.js.map +1 -1
- package/v3/dist/mcp/tools/coverage-analysis/index.d.ts +7 -0
- package/v3/dist/mcp/tools/coverage-analysis/index.d.ts.map +1 -1
- package/v3/dist/mcp/tools/coverage-analysis/index.js +30 -0
- package/v3/dist/mcp/tools/coverage-analysis/index.js.map +1 -1
- package/v3/dist/optimization/token-optimizer-service.d.ts +7 -0
- package/v3/dist/optimization/token-optimizer-service.d.ts.map +1 -1
- package/v3/dist/optimization/token-optimizer-service.js +10 -1
- package/v3/dist/optimization/token-optimizer-service.js.map +1 -1
- package/v3/dist/shared/types/index.d.ts +20 -1
- package/v3/dist/shared/types/index.d.ts.map +1 -1
- package/v3/dist/shared/types/index.js +1 -0
- package/v3/dist/shared/types/index.js.map +1 -1
- package/v3/dist/strange-loop/healing-controller.d.ts.map +1 -1
- package/v3/dist/strange-loop/healing-controller.js +12 -0
- package/v3/dist/strange-loop/healing-controller.js.map +1 -1
- package/v3/dist/strange-loop/strange-loop.d.ts +14 -0
- package/v3/dist/strange-loop/strange-loop.d.ts.map +1 -1
- package/v3/dist/strange-loop/strange-loop.js +24 -0
- package/v3/dist/strange-loop/strange-loop.js.map +1 -1
- package/v3/dist/strange-loop/types.d.ts +2 -2
- package/v3/dist/strange-loop/types.d.ts.map +1 -1
- package/v3/dist/strange-loop/types.js.map +1 -1
- package/v3/dist/sync/claude-flow-bridge.d.ts.map +1 -1
- package/v3/dist/sync/claude-flow-bridge.js +3 -24
- package/v3/dist/sync/claude-flow-bridge.js.map +1 -1
- package/v3/package.json +12 -9
- /package/{v3/assets/skills/sfdipot-product-factors/skill.md → .claude/skills/sfdipot-product-factors/SKILL.md} +0 -0
- /package/{v3/assets/skills/test-idea-rewriting/skill.md → .claude/skills/test-idea-rewriting/SKILL.md} +0 -0
|
@@ -0,0 +1,239 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: sfdipot-product-factors
|
|
3
|
+
description: "James Bach's HTSM Product Factors (SFDIPOT) analysis for comprehensive test strategy generation. Use when analyzing requirements, epics, or user stories to generate prioritized test ideas across Structure, Function, Data, Interfaces, Platform, Operations, and Time dimensions."
|
|
4
|
+
category: requirements-analysis
|
|
5
|
+
priority: high
|
|
6
|
+
tokenEstimate: 1500
|
|
7
|
+
agents: [qe-product-factors-assessor, qe-test-idea-rewriter]
|
|
8
|
+
implementation_status: optimized
|
|
9
|
+
optimization_version: 1.0
|
|
10
|
+
last_optimized: 2026-01-17
|
|
11
|
+
dependencies: [brutal-honesty-review]
|
|
12
|
+
quick_reference_card: true
|
|
13
|
+
tags: [sfdipot, htsm, product-factors, test-strategy, requirements, james-bach]
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
# SFDIPOT Product Factors Analysis
|
|
17
|
+
|
|
18
|
+
<default_to_action>
|
|
19
|
+
When analyzing requirements:
|
|
20
|
+
1. IDENTIFY document type (epic, user story, spec, architecture doc)
|
|
21
|
+
2. DETECT domain context (ecommerce, healthcare, finance, etc.)
|
|
22
|
+
3. ANALYZE each SFDIPOT category systematically
|
|
23
|
+
4. GENERATE test ideas with action verbs (no "Verify" patterns)
|
|
24
|
+
5. ASSIGN priorities (P0-P3) and automation fitness
|
|
25
|
+
6. SURFACE clarifying questions for coverage gaps
|
|
26
|
+
7. OUTPUT in requested format (HTML, JSON, MD, Gherkin)
|
|
27
|
+
|
|
28
|
+
**Quality Gates:**
|
|
29
|
+
- Human exploration >= 10%
|
|
30
|
+
- No "Verify X" test patterns
|
|
31
|
+
- Priority distribution: P0 (8-12%), P1 (20-30%), P2 (35-45%), P3 (20-30%)
|
|
32
|
+
</default_to_action>
|
|
33
|
+
|
|
34
|
+
## Quick Reference Card
|
|
35
|
+
|
|
36
|
+
### The 7 Product Factors
|
|
37
|
+
|
|
38
|
+
| Factor | Question | Example Focus Areas |
|
|
39
|
+
|--------|----------|---------------------|
|
|
40
|
+
| **S**tructure | What IS it? | Components, code, dependencies |
|
|
41
|
+
| **F**unction | What does it DO? | Features, calculations, errors |
|
|
42
|
+
| **D**ata | What does it PROCESS? | Input, output, persistence |
|
|
43
|
+
| **I**nterfaces | How does it CONNECT? | UI, API, integrations |
|
|
44
|
+
| **P**latform | What does it DEPEND ON? | OS, browser, hardware |
|
|
45
|
+
| **O**perations | How is it USED? | Workflows, admin, recovery |
|
|
46
|
+
| **T**ime | WHEN do things happen? | Concurrency, scheduling |
|
|
47
|
+
|
|
48
|
+
### When to Use This Skill
|
|
49
|
+
|
|
50
|
+
| Scenario | Priority | Output |
|
|
51
|
+
|----------|----------|--------|
|
|
52
|
+
| New epic planning | High | Full SFDIPOT assessment + test ideas |
|
|
53
|
+
| Sprint requirement review | Medium | Targeted analysis + clarifying questions |
|
|
54
|
+
| Test strategy definition | High | Comprehensive test coverage plan |
|
|
55
|
+
| Risk assessment | High | Domain-weighted priority assignment |
|
|
56
|
+
| Coverage gap analysis | Medium | Penetrating questions + recommendations |
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
## SFDIPOT Analysis Framework
|
|
61
|
+
|
|
62
|
+
### Structure (What the product IS)
|
|
63
|
+
|
|
64
|
+
**Subcategories:**
|
|
65
|
+
- Code Integrity: Code quality, complexity, maintainability
|
|
66
|
+
- Hardware: Physical components, devices, peripherals
|
|
67
|
+
- Non-Executable Files: Config, data files, documents
|
|
68
|
+
- Executable Files: Binaries, scripts, libraries
|
|
69
|
+
- Dependencies: Third-party libraries, external services
|
|
70
|
+
|
|
71
|
+
**Sample Test Ideas:**
|
|
72
|
+
- Analyze cyclomatic complexity of critical modules; flag functions > 10
|
|
73
|
+
- Inject corrupted config file; confirm graceful degradation
|
|
74
|
+
- Upgrade dependency version; validate no breaking changes
|
|
75
|
+
|
|
76
|
+
### Function (What the product DOES)
|
|
77
|
+
|
|
78
|
+
**Subcategories:**
|
|
79
|
+
- Application: Core business features
|
|
80
|
+
- Calculation: Mathematical operations, transformations
|
|
81
|
+
- Error Handling: Exception management, recovery
|
|
82
|
+
- Security: Authentication, authorization, encryption
|
|
83
|
+
- State Transitions: Workflow states, data lifecycle
|
|
84
|
+
- Messaging: Notifications, events, queues
|
|
85
|
+
- Data Transformation: Format conversion, mapping
|
|
86
|
+
|
|
87
|
+
**Sample Test Ideas:**
|
|
88
|
+
- Submit order with 1000 line items; measure processing time
|
|
89
|
+
- Inject SQL in search field; confirm sanitization prevents execution
|
|
90
|
+
- Trigger state transition timeout; observe retry behavior
|
|
91
|
+
|
|
92
|
+
### Data (What the product PROCESSES)
|
|
93
|
+
|
|
94
|
+
**Subcategories:**
|
|
95
|
+
- Input: User input, file uploads, API payloads
|
|
96
|
+
- Output: Responses, reports, exports
|
|
97
|
+
- Persistence: Database storage, caching
|
|
98
|
+
- Storage: File systems, cloud storage
|
|
99
|
+
- Boundaries: Min/max values, edge cases
|
|
100
|
+
- Validation: Format rules, business rules
|
|
101
|
+
- Formats: JSON, XML, CSV handling
|
|
102
|
+
|
|
103
|
+
**Sample Test Ideas:**
|
|
104
|
+
- Upload 100MB file; confirm chunked processing completes
|
|
105
|
+
- Insert emoji in text field; validate storage and retrieval
|
|
106
|
+
- Query boundary date (2038-01-19); check timestamp handling
|
|
107
|
+
|
|
108
|
+
### Interfaces (How the product CONNECTS)
|
|
109
|
+
|
|
110
|
+
**Subcategories:**
|
|
111
|
+
- User Interface: Web, mobile, desktop UI
|
|
112
|
+
- APIs: REST, GraphQL, gRPC endpoints
|
|
113
|
+
- Integrations: Third-party service connections
|
|
114
|
+
- Protocols: HTTP, WebSocket, MQTT
|
|
115
|
+
- CLI: Command-line interfaces
|
|
116
|
+
|
|
117
|
+
**Sample Test Ideas:**
|
|
118
|
+
- Resize browser to 320px width; confirm responsive breakpoints
|
|
119
|
+
- Send malformed JSON to API; assert 400 response with details
|
|
120
|
+
- Disconnect WebSocket mid-transaction; observe reconnection
|
|
121
|
+
|
|
122
|
+
### Platform (What the product DEPENDS ON)
|
|
123
|
+
|
|
124
|
+
**Subcategories:**
|
|
125
|
+
- Browser: Chrome, Firefox, Safari, Edge
|
|
126
|
+
- OS: Windows, macOS, Linux, iOS, Android
|
|
127
|
+
- Hardware: CPU, memory, storage constraints
|
|
128
|
+
- External Software: Databases, message queues
|
|
129
|
+
- Network: Latency, bandwidth, offline
|
|
130
|
+
|
|
131
|
+
**Sample Test Ideas:**
|
|
132
|
+
- Execute on 1GB RAM device; profile memory usage
|
|
133
|
+
- Run with 500ms network latency; measure user experience
|
|
134
|
+
- Test on iOS 15 Safari; validate CSS grid support
|
|
135
|
+
|
|
136
|
+
### Operations (How the product is USED)
|
|
137
|
+
|
|
138
|
+
**Subcategories:**
|
|
139
|
+
- Common Use: Happy path workflows
|
|
140
|
+
- Extreme Use: Edge cases, stress conditions
|
|
141
|
+
- User Management: Roles, permissions, profiles
|
|
142
|
+
- Admin Operations: Configuration, monitoring
|
|
143
|
+
- Recovery: Backup, restore, disaster recovery
|
|
144
|
+
|
|
145
|
+
**Sample Test Ideas:**
|
|
146
|
+
- Execute 10,000 concurrent user sessions; monitor resource usage
|
|
147
|
+
- Revoke admin access mid-session; confirm immediate effect
|
|
148
|
+
- Restore from 24-hour-old backup; validate data integrity
|
|
149
|
+
|
|
150
|
+
### Time (WHEN things happen)
|
|
151
|
+
|
|
152
|
+
**Subcategories:**
|
|
153
|
+
- Concurrency: Parallel operations, race conditions
|
|
154
|
+
- Scheduling: Cron jobs, timed events
|
|
155
|
+
- Sequences: Order of operations, dependencies
|
|
156
|
+
|
|
157
|
+
**Sample Test Ideas:**
|
|
158
|
+
- Two users update same record simultaneously; confirm conflict resolution
|
|
159
|
+
- Execute scheduled job at DST transition; validate correct timing
|
|
160
|
+
- Cancel operation mid-sequence; observe partial state handling
|
|
161
|
+
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
## Quality Rules
|
|
165
|
+
|
|
166
|
+
### Test Idea Quality
|
|
167
|
+
|
|
168
|
+
**NEVER use "Verify X" patterns. Always use action verbs.**
|
|
169
|
+
|
|
170
|
+
| Bad Pattern | Good Pattern |
|
|
171
|
+
|-------------|--------------|
|
|
172
|
+
| Verify login works | Submit credentials; confirm session created |
|
|
173
|
+
| Verify API returns 200 | Send request; assert 200 response |
|
|
174
|
+
| Verify error displays | Trigger error; observe message |
|
|
175
|
+
|
|
176
|
+
### Priority Distribution
|
|
177
|
+
|
|
178
|
+
| Priority | Percentage | Criteria |
|
|
179
|
+
|----------|------------|----------|
|
|
180
|
+
| P0 (Critical) | 8-12% | Security, data loss, regulatory |
|
|
181
|
+
| P1 (High) | 20-30% | Core functionality, user impact |
|
|
182
|
+
| P2 (Medium) | 35-45% | Standard features, edge cases |
|
|
183
|
+
| P3 (Low) | 20-30% | Polish, minor improvements |
|
|
184
|
+
|
|
185
|
+
### Automation Fitness
|
|
186
|
+
|
|
187
|
+
| Type | Percentage | Use For |
|
|
188
|
+
|------|------------|---------|
|
|
189
|
+
| Unit | 30-40% | Isolated logic, calculations |
|
|
190
|
+
| Integration | 15-25% | API contracts, data flow |
|
|
191
|
+
| E2E | <=50% | User journeys, workflows |
|
|
192
|
+
| Human Exploration | >=10% | Usability, edge cases |
|
|
193
|
+
|
|
194
|
+
---
|
|
195
|
+
|
|
196
|
+
## Agent Integration
|
|
197
|
+
|
|
198
|
+
```typescript
|
|
199
|
+
// Full SFDIPOT assessment
|
|
200
|
+
await Task("SFDIPOT Assessment", {
|
|
201
|
+
input: epicDocument,
|
|
202
|
+
outputFormat: "html",
|
|
203
|
+
domains: ["ecommerce"],
|
|
204
|
+
brutalHonesty: true
|
|
205
|
+
}, "qe-product-factors-assessor");
|
|
206
|
+
|
|
207
|
+
// Transform verify patterns
|
|
208
|
+
await Task("Rewrite Test Ideas", {
|
|
209
|
+
inputFile: assessmentHtml,
|
|
210
|
+
preserveMetadata: true
|
|
211
|
+
}, "qe-test-idea-rewriter");
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
---
|
|
215
|
+
|
|
216
|
+
## Memory Namespace
|
|
217
|
+
|
|
218
|
+
```
|
|
219
|
+
aqe/sfdipot/
|
|
220
|
+
├── assessments/* - Assessment results
|
|
221
|
+
├── patterns/* - Learned domain patterns
|
|
222
|
+
├── test-ideas/* - Generated test ideas
|
|
223
|
+
└── questions/* - Clarifying questions
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
---
|
|
227
|
+
|
|
228
|
+
## Related Skills
|
|
229
|
+
|
|
230
|
+
- [brutal-honesty-review](../brutal-honesty-review/) - Quality validation
|
|
231
|
+
- [risk-based-testing](../risk-based-testing/) - Priority assignment
|
|
232
|
+
- [context-driven-testing](../context-driven-testing/) - Domain awareness
|
|
233
|
+
- [exploratory-testing-advanced](../exploratory-testing-advanced/) - Session design
|
|
234
|
+
|
|
235
|
+
---
|
|
236
|
+
|
|
237
|
+
## Remember
|
|
238
|
+
|
|
239
|
+
**SFDIPOT ensures comprehensive test coverage by examining products from 7 distinct perspectives.** Each category reveals risks that other perspectives might miss. Use domain detection to weight priorities appropriately.
|
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: test-idea-rewriting
|
|
3
|
+
description: "Transform passive 'Verify X' test descriptions into active, observable test actions. Use when test ideas lack specificity, use vague language, or fail quality validation. Converts to action-verb format for clearer, more testable descriptions."
|
|
4
|
+
category: test-design
|
|
5
|
+
priority: medium
|
|
6
|
+
tokenEstimate: 800
|
|
7
|
+
agents: [qe-test-idea-rewriter]
|
|
8
|
+
implementation_status: optimized
|
|
9
|
+
optimization_version: 1.0
|
|
10
|
+
last_optimized: 2026-01-17
|
|
11
|
+
dependencies: []
|
|
12
|
+
quick_reference_card: true
|
|
13
|
+
tags: [test-ideas, rewriting, action-verbs, quality, transformation]
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
# Test Idea Rewriting
|
|
17
|
+
|
|
18
|
+
<default_to_action>
|
|
19
|
+
When transforming test ideas:
|
|
20
|
+
1. DETECT all "Verify X" patterns via regex
|
|
21
|
+
2. IDENTIFY appropriate action verb category
|
|
22
|
+
3. TRANSFORM to "[ACTION] [trigger]; [OBSERVE] [result]" pattern
|
|
23
|
+
4. PRESERVE all metadata (IDs, priorities, automation types)
|
|
24
|
+
5. VALIDATE zero "Verify" patterns remain
|
|
25
|
+
6. OUTPUT in same format as input
|
|
26
|
+
|
|
27
|
+
**Success Criteria:** `/<td>Verify\s/gi` returns 0 matches
|
|
28
|
+
</default_to_action>
|
|
29
|
+
|
|
30
|
+
## Quick Reference Card
|
|
31
|
+
|
|
32
|
+
### Transformation Pattern
|
|
33
|
+
|
|
34
|
+
```
|
|
35
|
+
[ACTION VERB] [specific trigger]; [OUTCOME VERB] [observable result]
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
### Action Verb Quick Reference
|
|
39
|
+
|
|
40
|
+
| Category | Verbs | Use When |
|
|
41
|
+
|----------|-------|----------|
|
|
42
|
+
| **Interaction** | Click, Type, Submit, Navigate, Scroll | UI actions |
|
|
43
|
+
| **Trigger** | Send, Inject, Force, Simulate, Load | API/system actions |
|
|
44
|
+
| **Measurement** | Measure, Time, Count, Profile | Performance checks |
|
|
45
|
+
| **State** | Set, Configure, Enable, Disable, Toggle | Setup actions |
|
|
46
|
+
| **Observation** | Confirm, Assert, Check, Observe | Outcome verification |
|
|
47
|
+
|
|
48
|
+
### Common Transformations
|
|
49
|
+
|
|
50
|
+
| Before | After |
|
|
51
|
+
|--------|-------|
|
|
52
|
+
| Verify login works | Submit valid credentials; confirm session created |
|
|
53
|
+
| Verify API returns 200 | Send GET request; assert 200 response within 500ms |
|
|
54
|
+
| Verify error displays | Trigger validation error; observe error message |
|
|
55
|
+
| Verify data saves | Insert record; query database; confirm fields match |
|
|
56
|
+
| Verify performance | Execute 100 requests; measure p99 < 200ms |
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
## Transformation Rules
|
|
61
|
+
|
|
62
|
+
### Pattern Detection
|
|
63
|
+
|
|
64
|
+
```regex
|
|
65
|
+
/<td>Verify\s/gi // HTML table cells
|
|
66
|
+
/^Verify\s/gim // Line starts
|
|
67
|
+
/"Verify\s[^"]+"/gi // Quoted strings
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### Transformation Categories
|
|
71
|
+
|
|
72
|
+
#### API/Network Tests
|
|
73
|
+
|
|
74
|
+
| Input Pattern | Output Pattern |
|
|
75
|
+
|---------------|----------------|
|
|
76
|
+
| Verify API returns X | Send [METHOD] request; assert [STATUS] response |
|
|
77
|
+
| Verify endpoint accepts Y | Post [PAYLOAD] to endpoint; confirm [RESPONSE] |
|
|
78
|
+
| Verify webhook fires | Trigger [EVENT]; observe webhook received |
|
|
79
|
+
|
|
80
|
+
#### UI/UX Tests
|
|
81
|
+
|
|
82
|
+
| Input Pattern | Output Pattern |
|
|
83
|
+
|---------------|----------------|
|
|
84
|
+
| Verify button works | Click [BUTTON]; observe [EFFECT] |
|
|
85
|
+
| Verify form submits | Fill [FIELDS]; submit form; confirm [RESULT] |
|
|
86
|
+
| Verify navigation works | Click [LINK]; observe [PAGE] loads |
|
|
87
|
+
|
|
88
|
+
#### Data Tests
|
|
89
|
+
|
|
90
|
+
| Input Pattern | Output Pattern |
|
|
91
|
+
|---------------|----------------|
|
|
92
|
+
| Verify data saves | Insert [RECORD]; query; confirm [MATCH] |
|
|
93
|
+
| Verify validation works | Enter [INVALID]; observe [ERROR] |
|
|
94
|
+
| Verify format accepted | Submit [FORMAT]; confirm [PROCESSED] |
|
|
95
|
+
|
|
96
|
+
#### Performance Tests
|
|
97
|
+
|
|
98
|
+
| Input Pattern | Output Pattern |
|
|
99
|
+
|---------------|----------------|
|
|
100
|
+
| Verify performance is good | Execute [LOAD]; measure [METRIC] < [THRESHOLD] |
|
|
101
|
+
| Verify scalability | Increase [USERS] to [N]; monitor [RESOURCE] |
|
|
102
|
+
| Verify timeout works | Inject [DELAY]; confirm timeout after [TIME] |
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
## Action Verb Reference
|
|
107
|
+
|
|
108
|
+
### Interaction Verbs
|
|
109
|
+
|
|
110
|
+
| Verb | When to Use | Example |
|
|
111
|
+
|------|-------------|---------|
|
|
112
|
+
| Click | UI element interaction | Click "Submit" button |
|
|
113
|
+
| Type | Text entry | Type "user@example.com" |
|
|
114
|
+
| Submit | Form completion | Submit registration form |
|
|
115
|
+
| Navigate | Page changes | Navigate to /settings |
|
|
116
|
+
| Scroll | Viewport movement | Scroll to page bottom |
|
|
117
|
+
| Drag | Drag-and-drop | Drag file to upload zone |
|
|
118
|
+
| Hover | Mouse positioning | Hover over tooltip trigger |
|
|
119
|
+
| Select | Dropdown/checkbox | Select "Admin" from role dropdown |
|
|
120
|
+
|
|
121
|
+
### Trigger Verbs
|
|
122
|
+
|
|
123
|
+
| Verb | When to Use | Example |
|
|
124
|
+
|------|-------------|---------|
|
|
125
|
+
| Send | HTTP requests | Send POST to /api/orders |
|
|
126
|
+
| Inject | Fault injection | Inject 500ms latency |
|
|
127
|
+
| Force | State manipulation | Force offline mode |
|
|
128
|
+
| Simulate | Event generation | Simulate device rotation |
|
|
129
|
+
| Load | Resource loading | Load 50MB test file |
|
|
130
|
+
| Execute | Script/command | Execute database migration |
|
|
131
|
+
| Invoke | Function/webhook | Invoke payment callback |
|
|
132
|
+
| Trigger | Event firing | Trigger scheduled job |
|
|
133
|
+
|
|
134
|
+
### Measurement Verbs
|
|
135
|
+
|
|
136
|
+
| Verb | When to Use | Example |
|
|
137
|
+
|------|-------------|---------|
|
|
138
|
+
| Measure | Quantitative check | Measure response time |
|
|
139
|
+
| Time | Duration tracking | Time page render |
|
|
140
|
+
| Count | Quantity check | Count search results |
|
|
141
|
+
| Profile | Resource analysis | Profile CPU usage |
|
|
142
|
+
| Benchmark | Comparison | Benchmark against v1.0 |
|
|
143
|
+
| Capture | State recording | Capture network traffic |
|
|
144
|
+
| Monitor | Ongoing observation | Monitor memory for 5 minutes |
|
|
145
|
+
|
|
146
|
+
### Observation Verbs
|
|
147
|
+
|
|
148
|
+
| Verb | When to Use | Example |
|
|
149
|
+
|------|-------------|---------|
|
|
150
|
+
| Confirm | Boolean check | Confirm user is logged in |
|
|
151
|
+
| Assert | Value comparison | Assert total equals $99.99 |
|
|
152
|
+
| Check | State verification | Check cart has 3 items |
|
|
153
|
+
| Observe | Behavior watching | Observe spinner appears |
|
|
154
|
+
| Validate | Rule compliance | Validate email format |
|
|
155
|
+
| Expect | Predicted outcome | Expect redirect to /home |
|
|
156
|
+
| Verify (avoid) | Use alternatives | Use confirm/assert instead |
|
|
157
|
+
|
|
158
|
+
---
|
|
159
|
+
|
|
160
|
+
## Quality Validation
|
|
161
|
+
|
|
162
|
+
### Pre-Transform Checks
|
|
163
|
+
|
|
164
|
+
1. Count "Verify" patterns in input
|
|
165
|
+
2. Identify context for each pattern
|
|
166
|
+
3. Map to appropriate action verb category
|
|
167
|
+
|
|
168
|
+
### Post-Transform Checks
|
|
169
|
+
|
|
170
|
+
1. Regex validation: zero "Verify" matches
|
|
171
|
+
2. Every test idea starts with action verb
|
|
172
|
+
3. Each test includes observable outcome
|
|
173
|
+
4. All metadata preserved unchanged
|
|
174
|
+
|
|
175
|
+
### Validation Regex
|
|
176
|
+
|
|
177
|
+
```javascript
|
|
178
|
+
// Must return 0 matches for success
|
|
179
|
+
const verifyPattern = /<td>Verify\s/gi;
|
|
180
|
+
const matches = content.match(verifyPattern);
|
|
181
|
+
if (matches && matches.length > 0) {
|
|
182
|
+
throw new Error(`${matches.length} "Verify" patterns remain`);
|
|
183
|
+
}
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
---
|
|
187
|
+
|
|
188
|
+
## Agent Integration
|
|
189
|
+
|
|
190
|
+
```typescript
|
|
191
|
+
// Single file transformation
|
|
192
|
+
await Task("Rewrite Test Ideas", {
|
|
193
|
+
inputFile: "assessment.html",
|
|
194
|
+
outputFile: "assessment-rewritten.html",
|
|
195
|
+
preserveFormatting: true
|
|
196
|
+
}, "qe-test-idea-rewriter");
|
|
197
|
+
|
|
198
|
+
// Batch transformation
|
|
199
|
+
await Task("Batch Rewrite", {
|
|
200
|
+
inputDir: "./assessments/",
|
|
201
|
+
outputDir: "./assessments-clean/",
|
|
202
|
+
pattern: "*.html"
|
|
203
|
+
}, "qe-test-idea-rewriter");
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
---
|
|
207
|
+
|
|
208
|
+
## Memory Namespace
|
|
209
|
+
|
|
210
|
+
```
|
|
211
|
+
aqe/rewriting/
|
|
212
|
+
├── transformations/* - Transformation logs
|
|
213
|
+
├── patterns/* - Learned patterns
|
|
214
|
+
└── vocabulary/* - Custom verb mappings
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
---
|
|
218
|
+
|
|
219
|
+
## Related Skills
|
|
220
|
+
|
|
221
|
+
- [sfdipot-product-factors](../sfdipot-product-factors/) - Assessment generation
|
|
222
|
+
- [test-design-techniques](../test-design-techniques/) - Proper test structuring
|
|
223
|
+
- [brutal-honesty-review](../brutal-honesty-review/) - Quality validation
|
|
224
|
+
|
|
225
|
+
---
|
|
226
|
+
|
|
227
|
+
## Remember
|
|
228
|
+
|
|
229
|
+
**Every test idea should be actionable.** "Verify X works" tells you nothing about HOW to test. "[Action] X; [Observe] Y" gives clear steps and expected outcomes. Transform passive descriptions into active, observable tests.
|