test-planning
Build a single sprint or release test plan. Covers feature decomposition into testable scenarios, requirements-to-test coverage mapping, effort estimation by test type, prioritization matrices (risk × effort), resource allocation, and scheduling with buffers. Use when: "sprint test plan," "release t
By petrkindlmann · 747 installs
npx skills add petrkindlmann/qa-skills --skill test-planning
Source repository · Upstream listing
<objective
Create actionable test plans for sprints and releases. A test plan answers four questions: what to test, how deeply, who does it, and when it must be done. The output is a living document that tracks progress, not a bureaucratic artifact filed and forgotten. A plan that schedules 100% of available time fails the moment the first bug is found — buffer and prioritization are what make it survive contact with reality.
</objective
Quick Route
Situation Go to
Plan a single sprint Steps 1 6 below, then the 1 page sprint template in references/plan documents.md
Plan a release Release template in references/plan documents.md ; the go/no go decision itself belongs to release readiness
Track an in flight plan / feed results back references/tracking formats.md (daily status + retrospective)
Decide what to cut when over capacity Step 4 prioritization matrix
Discovery Questions
Before writing a test plan, gather context. Check .agents/qa project context.md first if it exists, use it as the foundation and skip questions already answered there.
Scope
What is the scope? (single sprint, release, hotfix, feature)
Which features are new vs. changed vs. unchanged?
Which features are being released for the first time?
Are there infrastructure or dependency changes (database migrations, API version bumps, third party provider switches)?
Is there a requirements document, PRD, or set of user stories to map against?
Time and Resources
What is the testing window? (days, hours available)
Who is available for testing? (SDETs, manual testers, developers)
Are there shared resources that could bottleneck? (staging environments, test accounts, devices)
Is there a hard deadline that cannot move, or is the release date flexible?
Risk Context
Which areas changed the most in this cycle?
What broke in the last release or sprint?
Are there known fragile areas or tech debt that increase risk?
For risk based prioritization methodology, see risk based testing .
Existing Coverage
What automated tests already exist for the in scope features?
What is the current pass rate of the automated suite?
Are there known gaps in automation that require manual testing?
When was the last exploratory testing session on these features?
Core Principles
1. Coverage Driven: Map Every Requirement to at Least One Test
A test plan without traceability to requirements is a guess. Every user story, acceptance criterion, or requirement must map to at least one test case. Gaps in this mapping are untested requirements the most dangerous kind of risk.
2. Time Boxed: Plan Fits the Available Window
Testing expands to fill available time if unbounded. Set a time box for each activity and stick to it. When the window is too short, the prioritization matrix determines what gets cut not gut feeling.
3. Prioritized: Not Everything Gets Equal Depth
A payment flow change and a tooltip fix do not deserve equal effort. Use the risk x effort matrix to allocate depth: some features get full regression, others a smoke test, some nothing if low risk and unchanged.
4. Buffered: Leave Room for the Unexpected
Plans that schedule 100% of available time fail when bugs are found. Allocate only 70 80% of the testing window to planned work and explicitly reserve the remaining 20 30% for bug verification, re testing, and unplanned investigation. If buffer is not a named line in the plan, you do not have one.
5. Visible: The Plan Is a Communication Tool
Developers need to know what gets tested to write testable code. Product managers need coverage visibility to make release decisions. Publish the plan where the team can see it.
6. Entry and Exit Criteria Are First Class
The most reused part of any plan is its gate. Make it explicit, not buried: entry = code complete on staging + existing suite green + test data seeded; exit = every HIGH risk area covered + no open P0/P1 + zero unexplained GAP rows in the coverage matrix. Everything else is detail around these two checkpoints.
Workflow
The six workflow steps each have a fill in the blank scaffold. The decision prose stays here; the copy paste templates (decomposition, coverage matrix, estimation worksheet, prioritization matrix, allocation table, schedule) live in references/workflow templates.md .
Step 1: Feature Analysis and Decomposition
Break each in scope feature into testable units. A "testable unit" is a specific behavior that can be verified with a clear pass/fail outcome. Walk every feature against these scenario categories so none gets skipped:
Happy path — the primary success flow.
Validation — required fields empty, format violations, boundary values.
Error conditions — server 5xx, network timeout, rejected input.
Edge cases — unicode, oversized payloads, unsupported formats.
Concurrency / race conditions — two users edit the same record simultaneously, double submit, retry after timeout. These hide the worst data corruption bugs and are the category most often missed.
Integration points — behavior across each boundary the feature crosses.
See references/workflow templates.md for the decomposition template and a worked "User Profile Edit" example that exercises all six categories.
AI decomposition cross check. When an agent decomposes features, have it immediately map its own scenarios back against the Step 2 coverage matrix. Any requirement with no scenario, or any scenario category above with no entry, is a decomposition gap the agent must surface before estimation — this is how you catch the agent's blind spots, not after CI does.
Step 2: Requirements to Test Coverage Mapping
Create a traceability matrix that maps every requirement to its test cases. See references/workflow templates.md for the coverage matrix template.
Rules for the coverage matrix:
Every requirement must appear in the matrix (target: 100% mapping)
"GAP" status triggers a decision: write a test, accept the risk, or defer
Automated tests get test IDs that link to the actual test file/function
Manual tests reference the test case document or charter
Step 3: Effort Estimation
Estimate effort for each test type using historical data. If no historical data exists, use the reference estimates below and calibrate after the first sprint.
Estimation reference (per test case):
Test Type Write Time Execute Time Maintenance (per quarter)
Unit test 0.5 hr < 1 sec 5 min
Integration test 1 hr 5 30 sec 15 min
E2E test (Playwright/Cypress) 2 3 hours 30s 2 min 30 min
Manual test case (write) 0.25 hr 5 15 min per execution 10 min
Exploratory session (charter) 15 min 1.5 hrs per session N/A
Accessibility review (manual) 0.5 1 hr per area included in write 15 min
Visual regression test 30 60 min 10 30 sec 20 min (baseline updates)
Performance test (k6 script) 2 4 hours 5 30 min per run 30 min
Prompt regression / LLM eval 30 60 min per case 30 sec 2 min (with API cost) 20 min
Setup & test data (per feature) 0.5 2 hrs one time re seed per env
Write Time is authoring only. The "Setup & test data" row is the line planners most often omit — environment, fixtures, and mock configuration routinely run 20 40% of total effort, so budget it as a real line rather than discovering it mid sprint.
AI authoring trade off. Using an agent to author tests cuts Write Time by roughly 40 60%, but add a Review Time line of similar size per case — Bolton's "AI productivity paradox" (2026) is that the speed up evaporates when an agent ships plausible but broken tests that pass a casual review and fail in CI. See ai test generation Step 7 for the review checklist and ai qa review for the smell taxonomy.
Test smells review. ISTQB's CTAL AT v2.0 (May 2026) names test smells as a planning concern. Budget a recurring 30 min "test smells review" per sprint against the taxonomy in ai qa review — cheap, and it finds maintenance debt before it compounds.
Use the sprint estimation worksheet in references/workflow templates.md to roll per case estimates up to a capacity utilization figure (target: 70 80%, leaving 20 30% buffer).
Step 4: Prioritization Matrix (Risk x Effort)
When the estimated effort exceeds available capacity (it usually does), use the risk x effort matrix to decide what to cut. See references/workflow templates.md for the full matrix grid.
For each test case, plot it on the matrix using the risk score from risk based testing and the effort estimate from Step 3, then consume capacity in priority order: DO FIRST → DO SECOND → DO THIRD → DEFER → SKIP .
Tie break rule: within HIGH risk, low effort beats high effort — a HIGH risk / low effort test (DO FIRST) outranks a HIGH risk / high effort test (DO THIRD), because it buys the most risk reduction per hour. Medium risk items defer before you cut any HIGH risk coverage; low risk items defer or skip entirely. Never cut buffer to fit more planned work.
Step 5: Resource Allocation
Assign testing work based on skill match and availability.
Allocation principles:
Automated test writing goes to SDETs or developers with framework experience
Exploratory testing goes to the person who understands the feature best (often the developer or product manager, not just QA)
New feature testing benefits from fresh eyes assign someone who did not build it
Critical path testing should not have a single point of failure two people should be able to cover it
Each person's load stays at 70 80% utilization, not 100% — the rest is their buffer
Buffer is distributed per person, not lumped into one tester's block: every assignee carries their own buffer line so a blocker on one person does not consume everyone's slack
See references/workflow templates.md for the allocation table format.
Step 6: Schedule with Buffers
Map testing activities to the sprint timeline. Testing should not be back loaded to the last two days. See references/workflow templates.md for the 2 week sprint schedule template.
Key scheduling rules:
Testing starts as soon as features are code complete, not at sprint end
Environment setup and test data preparation happen on Day 1, not Day 3
Bug verification is continuous, not batched
The last day is for confirmation, not for starting new testing
Plan Documents
Full copy paste plan documents live in references/plan documents.md :
Sprint Test Plan (1 Page) — scope, coverage summary, effort budget, entry/exit criteria, plan risks. Keep a sprint plan to one page.
Release Test Plan — aggregates sprint plans and adds release specific concerns (full regression, cross browser, perf benchmark, security scan, smoke test) plus go/no go criteria. The go/no go decision itself belongs to release readiness .
Feature Coverage Matrix — per feature scenario list with priority, test type, location, and status.
Test Estimation Worksheet — new test development, existing suite execution, manual testing, and a summary delta vs. available capacity.
Tracking Progress During the Sprint
A test plan is useless if nobody checks it after Day 1. Track progress daily, and feed the results back into future planning at sprint end.
Daily test status — completed, blocked, bugs found, tomorrow's plan, coverage percentage, and buffer consumed. See the format in references/tracking formats.md .
Sprint retrospective inputs — estimation accuracy broken out by test type, coverage delta, bug counts by severity, and lessons. See the format in references/tracking formats.md ; feed these data points into the next sprint's estimates.
Anti Patterns
Planning Without Risk Assessment
Treating every feature with equal depth wastes effort on low risk areas and under tests critical paths. Always run the prioritization mat