Story QA Workflow
QE test planning — test plan, test data requirements, edge cases, and coverage targets across 5 test layers.
Pipeline
Phase Summary
Hover over any phase name to see what it does in detail.
| # | Phase | Purpose | Key Output |
|---|---|---|---|
| 1 | INTAKE | Fetch ticket, Confluence pages, PRD, and upstream content | INTAKE.md |
| 2 | ASSESS | Evaluate testability using ACs, PRD specs, and Confluence data | ASSESSMENT.md |
| 3 | PLAN_TESTS | Define test plan across 5 automated layers + manual | TEST_PLAN.md |
| 4 | PLAN_DATA | Define test data — fixtures, mocks, seeds, edge cases | TEST_DATA_PLAN.md |
| 5 | VALIDATE | Verify coverage meets thresholds, all ACs have tests | QA_VALIDATION.md |
| 6 | PUBLISH | Update Jira with QE Test Plan + create QE sub-tasks | PUBLISH.md |
5 Test Layers
Every story gets coverage across all five layers. PLAN_TESTS maps each AC to the appropriate layers.
| Layer | Framework | What | When |
|---|---|---|---|
| Unit | Jest + mocking | Per-function, per-component | Every commit |
| Integration | Jest + Supertest + Pact.js | API contracts, service integration | Every PR |
| E2E | Playwright / Cypress | User journeys, cross-service flows | Nightly/pre-release |
| Security | ESLint security + Snyk + OWASP ZAP | Injection, auth bypass, headers | PR + nightly |
| Performance | k6 or autocannon | Load, response time, throughput | Pre-release/weekly |
What Gets Added to Jira
The PUBLISH phase appends the following QE Test Plan section to the Jira ticket and creates sub-tasks per test layer.
## QE Test Plan
**Testability Assessment:** 8/10 ACs fully automatable, 2 manual-only
**Coverage Targets:** Unit 90% | Integration 85% | E2E critical paths
### Test Layers
- Unit: 12 tests (Jest) — per-function validation
- Integration: 6 tests (Supertest + Pact) — API contracts
- E2E: 4 tests (Playwright) — user journeys
- Security: 3 scans (Snyk + ZAP) — injection, auth
- Performance: 2 benchmarks (k6) — load, response time
### Test Data Requirements
- Fixtures: 4 JSON files, 2 SQL seeds
- Mocks: MSW handlers for 3 API endpoints
- Edge cases: boundary values, unicode input, large payloads
### Sub-tasks Created
- [PROJ-101] QE: Unit tests for Story PROJ-100
- [PROJ-102] QE: Integration tests for Story PROJ-100
- [PROJ-103] QE: E2E tests for Story PROJ-100
- [PROJ-104] QE: Security scan for Story PROJ-100
- [PROJ-105] QE: Performance tests for Story PROJ-100
**Labels added:** qe-ready
Signal Flow
| Signal | Type | Meaning |
|---|---|---|
| PHASE_COMPLETE | Advance | Phase done, advance to next |
| BLOCKED_NEEDS_TESTABILITY | Block | Story ACs not testable, needs rewrite |
| COVERAGE_GAP | Loopback | Coverage thresholds not met, loop back to PLAN_TESTS |
| MISSING_TEST_DATA | Loopback | Test data incomplete, loop back to PLAN_DATA |
| TEST_PLAN_PUBLISHED | Terminal | Workflow complete, Jira updated with QE Test Plan |