Loading...
Loading...
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.
npx skill4agent add proffesor-for-testing/agentic-qe sfdipot-product-factors| Factor | Question | Example Focus Areas |
|---|---|---|
| Structure | What IS it? | Components, code, dependencies |
| Function | What does it DO? | Features, calculations, errors |
| Data | What does it PROCESS? | Input, output, persistence |
| Interfaces | How does it CONNECT? | UI, API, integrations |
| Platform | What does it DEPEND ON? | OS, browser, hardware |
| Operations | How is it USED? | Workflows, admin, recovery |
| Time | WHEN do things happen? | Concurrency, scheduling |
| Scenario | Priority | Output |
|---|---|---|
| New epic planning | High | Full SFDIPOT assessment + test ideas |
| Sprint requirement review | Medium | Targeted analysis + clarifying questions |
| Test strategy definition | High | Comprehensive test coverage plan |
| Risk assessment | High | Domain-weighted priority assignment |
| Coverage gap analysis | Medium | Penetrating questions + recommendations |
| Bad Pattern | Good Pattern |
|---|---|
| Verify login works | Submit credentials; confirm session created |
| Verify API returns 200 | Send request; assert 200 response |
| Verify error displays | Trigger error; observe message |
| Priority | Percentage | Criteria |
|---|---|---|
| P0 (Critical) | 8-12% | Security, data loss, regulatory |
| P1 (High) | 20-30% | Core functionality, user impact |
| P2 (Medium) | 35-45% | Standard features, edge cases |
| P3 (Low) | 20-30% | Polish, minor improvements |
| Type | Percentage | Use For |
|---|---|---|
| Unit | 30-40% | Isolated logic, calculations |
| Integration | 15-25% | API contracts, data flow |
| E2E | <=50% | User journeys, workflows |
| Human Exploration | >=10% | Usability, edge cases |
// Full SFDIPOT assessment
await Task("SFDIPOT Assessment", {
input: epicDocument,
outputFormat: "html",
domains: ["ecommerce"],
brutalHonesty: true
}, "qe-product-factors-assessor");
// Transform verify patterns
await Task("Rewrite Test Ideas", {
inputFile: assessmentHtml,
preserveMetadata: true
}, "qe-test-idea-rewriter");aqe/sfdipot/
├── assessments/* - Assessment results
├── patterns/* - Learned domain patterns
├── test-ideas/* - Generated test ideas
└── questions/* - Clarifying questions