Test Strategy Document Skill
Produces a complete test strategy from a feature spec, PRD, or system description — covering scope, test types, risk areas, coverage requirements, and a prioritised test case outline.
Required Inputs
Ask for these if not provided:
- Feature or system being tested (paste a spec, PRD, or describe it in plain English)
- Tech stack (language and framework — e.g. TypeScript + React, Python + FastAPI)
- Existing test coverage (e.g. "we have unit tests but no E2E tests", "we use Jest + Playwright already", or "starting from scratch")
- Deployment cadence (e.g. continuous deployment / weekly releases / quarterly — affects what must be automated vs. manual)
- Risk level (low / medium / high / critical — affects depth and coverage requirements)
- Timeline (when does this need to ship — affects prioritisation)
- Team context (who is doing the testing — developers / dedicated QA / both)
Output Format
1. Test Scope
In scope:
- [Specific functionality being tested]
- [Integration points covered]
- [User-facing flows included]
Out of scope:
- [What is deliberately not tested here — and why]
- [Dependencies owned by other teams]
Assumptions:
- [What the test strategy assumes is true — e.g. mocked services, test data availability]
2. Risk Assessment
Identify the highest-risk areas first — these drive depth and coverage:
| Area |
Risk Level |
Why |
Test Priority |
| [e.g. Payment processing] |
High |
Money movement, regulatory |
P0 — exhaustive |
| [e.g. User authentication] |
High |
Security boundary |
P0 — exhaustive |
| [e.g. Email notifications] |
Medium |
External dependency |
P1 — happy path + key failures |
| [e.g. UI copy changes] |
Low |
Visual only, reversible |
P2 — smoke only |
3. Test Types and Coverage
Unit Tests
- What: Individual functions and methods in isolation
- Who writes: Developer
- Coverage target: [e.g. 80% line coverage on new code / 100% on critical paths]
- Tools: [e.g. Jest, pytest, go test]
- Focus areas for this feature: [Specific logic that needs unit coverage]
Integration Tests
- What: Service interactions, database operations, API contracts
- Who writes: Developer / QA
- Coverage target: [All happy paths + key failure modes]
- Tools: [e.g. Supertest, pytest + testcontainers]
- Focus areas: [Specific integrations at risk — e.g. third-party API, DB schema changes]
End-to-End Tests
- What: Critical user journeys from browser/client to database
- Who writes: QA / Developer
- Coverage target: [Top N user journeys — list them]
- Tools: [e.g. Playwright, Cypress, Selenium]
- Focus areas: [The 3–5 most critical user flows]
Performance Tests (include if any row in the Risk Assessment table has performance as a risk factor, regardless of overall risk level)
- What: Load, stress, or latency testing
- Targets: [Specific numbers — e.g. 200 req/sec at p95 < 200ms]
- Tools: [e.g. k6, Locust, JMeter]
Security Tests (include only if risk is high+)
- What: OWASP Top 10 checks relevant to this feature
- Focus: [Auth bypasses, injection, data exposure]
- Tools: [e.g. OWASP ZAP, manual penetration testing, Snyk]
4. Test Case Outline
Priority-ordered list of specific test cases:
P0 — Must pass before merge:
| Test Case |
Type |
Expected Outcome |
| [e.g. User can log in with valid credentials] |
E2E |
[Redirect to dashboard, session created] |
| [e.g. Invalid login returns 401] |
Integration |
[Error message displayed, no session] |
| [e.g. Password is never stored in plain text] |
Unit |
[bcrypt hash in DB] |
P1 — Must pass before release:
| Test Case |
Type |
Expected Outcome |
| [e.g. Login fails gracefully when DB is down] |
Integration |
[User sees friendly error, 503] |
| [e.g. Rate limiting blocks after 5 failed attempts] |
Integration |
[429 returned, account flagged] |
P2 — Should pass, can ship with known issues tracked:
| Test Case |
Type |
Expected Outcome |
| [e.g. Login page renders correctly on mobile] |
E2E |
[Layout matches design] |
5. Test Data Requirements
- [Specific test data needed — e.g. test user accounts with various states]
- [External service stubs or mocks needed]
- [Database seed data requirements]
- [Any PII concerns and how test data handles them]
6. Definition of Done
Testing is complete when:
Quality Checks
Anti-Patterns
Usage Examples
- "Write a test strategy for [feature]" + [paste spec or PRD]
- "Create a test plan for [system]"
- "How should we test [feature]?"
- "I need a QA plan for this sprint"
- "What tests do we need for [X]?"
1---2name: test-strategy-doc3description: Write a test strategy document from a feature spec, PRD, or system description. Use when asked to create a test plan, write a test strategy, define QA approach, or plan testing for a feature or release. Produces a complete test strategy with scope, risk assessment, test types, coverage targets, and a prioritised test case outline.4---5
6# Test Strategy Document Skill
7
8Produces a complete test strategy from a feature spec, PRD, or system description — covering scope, test types, risk areas, coverage requirements, and a prioritised test case outline.
9
10## Required Inputs
11
12Ask for these if not provided:
13- **Feature or system being tested** (paste a spec, PRD, or describe it in plain English)
14- **Tech stack** (language and framework — e.g. TypeScript + React, Python + FastAPI)
15- **Existing test coverage** (e.g. "we have unit tests but no E2E tests", "we use Jest + Playwright already", or "starting from scratch")
16- **Deployment cadence** (e.g. continuous deployment / weekly releases / quarterly — affects what must be automated vs. manual)
17- **Risk level** (low / medium / high / critical — affects depth and coverage requirements)
18- **Timeline** (when does this need to ship — affects prioritisation)
19- **Team context** (who is doing the testing — developers / dedicated QA / both)
20
21## Output Format
22
23### 1. Test Scope
24
25**In scope:**
26- [Specific functionality being tested]
27- [Integration points covered]
28- [User-facing flows included]
29
30**Out of scope:**
31- [What is deliberately not tested here — and why]
32- [Dependencies owned by other teams]
33
34**Assumptions:**
35- [What the test strategy assumes is true — e.g. mocked services, test data availability]
36
37### 2. Risk Assessment
38
39Identify the highest-risk areas first — these drive depth and coverage:
40
41| Area | Risk Level | Why | Test Priority |
42|---|---|---|---|
43| [e.g. Payment processing] | High | Money movement, regulatory | P0 — exhaustive |
44| [e.g. User authentication] | High | Security boundary | P0 — exhaustive |
45| [e.g. Email notifications] | Medium | External dependency | P1 — happy path + key failures |
46| [e.g. UI copy changes] | Low | Visual only, reversible | P2 — smoke only |
47
48### 3. Test Types and Coverage
49
50**Unit Tests**
51- **What:** Individual functions and methods in isolation
52- **Who writes:** Developer
53- **Coverage target:** [e.g. 80% line coverage on new code / 100% on critical paths]
54- **Tools:** [e.g. Jest, pytest, go test]
55- **Focus areas for this feature:** [Specific logic that needs unit coverage]
56
57**Integration Tests**
58- **What:** Service interactions, database operations, API contracts
59- **Who writes:** Developer / QA
60- **Coverage target:** [All happy paths + key failure modes]
61- **Tools:** [e.g. Supertest, pytest + testcontainers]
62- **Focus areas:** [Specific integrations at risk — e.g. third-party API, DB schema changes]
63
64**End-to-End Tests**
65- **What:** Critical user journeys from browser/client to database
66- **Who writes:** QA / Developer
67- **Coverage target:** [Top N user journeys — list them]
68- **Tools:** [e.g. Playwright, Cypress, Selenium]
69- **Focus areas:** [The 3–5 most critical user flows]
70
71**Performance Tests** *(include if any row in the Risk Assessment table has performance as a risk factor, regardless of overall risk level)*
72- **What:** Load, stress, or latency testing
73- **Targets:** [Specific numbers — e.g. 200 req/sec at p95 < 200ms]
74- **Tools:** [e.g. k6, Locust, JMeter]
75
76**Security Tests** *(include only if risk is high+)*
77- **What:** OWASP Top 10 checks relevant to this feature
78- **Focus:** [Auth bypasses, injection, data exposure]
79- **Tools:** [e.g. OWASP ZAP, manual penetration testing, Snyk]
80
81### 4. Test Case Outline
82
83Priority-ordered list of specific test cases:
84
85**P0 — Must pass before merge:**
86| Test Case | Type | Expected Outcome |
87|---|---|---|
88| [e.g. User can log in with valid credentials] | E2E | [Redirect to dashboard, session created] |
89| [e.g. Invalid login returns 401] | Integration | [Error message displayed, no session] |
90| [e.g. Password is never stored in plain text] | Unit | [bcrypt hash in DB] |
91
92**P1 — Must pass before release:**
93| Test Case | Type | Expected Outcome |
94|---|---|---|
95| [e.g. Login fails gracefully when DB is down] | Integration | [User sees friendly error, 503] |
96| [e.g. Rate limiting blocks after 5 failed attempts] | Integration | [429 returned, account flagged] |
97
98**P2 — Should pass, can ship with known issues tracked:**
99| Test Case | Type | Expected Outcome |
100|---|---|---|
101| [e.g. Login page renders correctly on mobile] | E2E | [Layout matches design] |
102
103### 5. Test Data Requirements
104- [Specific test data needed — e.g. test user accounts with various states]
105- [External service stubs or mocks needed]
106- [Database seed data requirements]
107- [Any PII concerns and how test data handles them]
108
109### 6. Definition of Done
110Testing is complete when:
111- [ ] All P0 test cases pass
112- [ ] All P1 test cases pass
113- [ ] Code coverage meets the stated target
114- [ ] No critical or high severity bugs open
115- [ ] Performance targets met (if applicable)
116- [ ] Security checks completed (if applicable)
117
118## Quality Checks
119- [ ] Risk table is populated and drives test priority (not filled in generically)
120- [ ] Every "P0 — exhaustive" row in the Risk Assessment table has at least one corresponding P0 test case
121- [ ] "Out of scope" section names at least one explicit exclusion (not left blank)
122- [ ] Each test type names a concrete tool (not "some testing framework")
123- [ ] Definition of Done is measurable (not "tests are done when QA is happy")
124
125## Anti-Patterns
126
127- [ ] Do not write a test strategy without a risk table that drives test priority — generic coverage targets are not a strategy
128- [ ] Do not leave the "out of scope" section blank — every test strategy must explicitly name what is not being tested and why
129- [ ] Do not specify test types without naming a concrete tool for each — "some testing framework" is not actionable
130- [ ] Do not define a Definition of Done that is not measurable — "QA is happy" is not a completion criterion
131- [ ] Do not create P0 risk areas without corresponding P0 test cases — risk rating must map to test coverage
132
133## Usage Examples
134- "Write a test strategy for [feature]" + [paste spec or PRD]
135- "Create a test plan for [system]"
136- "How should we test [feature]?"
137- "I need a QA plan for this sprint"
138- "What tests do we need for [X]?"