QA Testing Strategy
Risk-based test strategy for software delivery. Use when defining coverage, setting CI gates, managing flaky tests, choosing test layers, or establishing release criteria.
- Skill ID
- vasilyu1983/ai-agents-public/qa-testing-strategy
- Publisher
- vasilyu1983
- Repository
- ai-agents-public
- Installs
- 0
- Files
- 36
- Requires
- Portable core. Works on Claude Code and Codex.
- Synced
- Sep 23, 2026
Open any RiverX project, open the Skills panel in the chat, and search for this identifier. The files are fetched from the source repository at install time.
vasilyu1983/ai-agents-public/qa-testing-strategyInstalls these files- SKILL.md
- agents/openai.yaml
- assets/automation-pipeline-template.md
- assets/bdd/template-cucumber-gherkin.md
- assets/component/template-vitest-browser.md
- assets/e2e/template-playwright.md
- assets/integration/template-api-integration.md
- assets/performance/template-k6-load-testing.md
- assets/runbooks/template-flaky-test-triage-deflake-runbook.md
- assets/runbooks/template-release-coverage-audit.md
- assets/template-test-case-design.md
- assets/test-strategy-template.md
- assets/unit/template-jest-vitest.md
- assets/visual-regression/template-visual-testing.md
- data/sources.json
- learnings.consolidated.md
- learnings.md
- references/chaos-resilience-testing.md
- references/compliance-testing.md
- references/component-testing-browser-mode.md
- references/comprehensive-testing-guide.md
- references/contract-testing.md
- references/feature-matrix-vs-test-matrix-gate.md
- references/observability-driven-testing.md
- references/operational-playbook.md
- references/playwright-webapp-testing.md
- references/production-testing-and-shift-right.md
- references/property-based-testing.md
- references/quality-metrics-dashboard.md
- references/reliability-theory-applied.md
- references/schema-aware-api-fuzzing.md
- references/shift-left-testing.md
- references/synthetic-test-data.md
- references/test-automation-patterns.md
- references/test-environment-management.md
- references/test-impact-analysis.md
What this skill tells the agent
QA Testing Strategy
Risk-based quality engineering guidance for modern software delivery. Use this skill to decide what to test, at which layer, with which gates, and how to keep the signal trustworthy.
Start with references/operational-playbook.md for the navigation hub. Use current official sources from data/sources.json when you need vendor or standards guidance.
Scope
- Create or update a risk-based test strategy
- Choose a test shape (pyramid, trophy, honeycomb) based on architecture and defect origin
- Define merge gates, deploy gates, and release evidence — including merge queue interaction
- Choose the smallest effective layer: unit, component, contract, schema fuzzing, integration, E2E, property-based
- Make failures diagnosable with artifacts, correlation IDs, traces, and ownership
- Operationalize suite health: flake SLO, quarantine policy, execution budgets, dashboards
Use Instead
| Need | Skill |
|---|---|
| Implement or debug Playwright suites | qa-testing-playwright |
| Design API contract suites in depth | qa-api-testing-contracts |
| Debug failing tests or incidents | qa-debugging |
| Add observability, telemetry, or tracing | qa-observability |
| Test LLM agents or evaluations | qa-agent-testing |
| Mobile-specific strategy or automation | qa-testing-mobile |
| Security audit or threat-model depth | software-security-appsec |
| CI/CD pipeline design and infra | ops-devops-platform |
Quick Reference
| Layer | Goal | Typical Use |
|---|---|---|
| Unit | Prove logic and invariants fast | Pure functions, domain rules, validators |
| Component | Validate UI behavior in a real browser with narrow scope | UI components, state transitions, accessibility smoke |
| Contract | Prevent breaking changes across service boundaries | OpenAPI, AsyncAPI, JSON Schema, Protobuf |
| Schema fuzzing | Stress the API contract with generated valid and invalid inputs | Request/response edge cases, parser and validation drift |
| Property-based | Verify universal invariants across generated input spaces | Serialization round-trips, numeric contracts, state-machine invariants, AI-code edge cases |
| Integration | Validate real boundaries and dependencies | API + DB, queues, adapters, auth flows |
| E2E | Validate thin critical journeys | Sign-up, checkout, publish, payment, admin recovery |
| Performance | Enforce budgets and capacity | Load, stress, soak, latency regression |
| Visual | Catch intentional vs accidental UI changes | Stable pages, design-system components |
| Accessibility | Check for common WCAG 2.2 failures early | axe smoke + manual audit plan |
| Security | Catch common web/API vulnerabilities early | SAST, DAST smoke, auth and dependency checks |
E2E Gate Topology (Default)
Use three distinct E2E scopes instead of one monolithic suite:
- Smoke: PR gate and fastest feedback on the highest-risk journeys.
- Targeted batch/spec: local triage and deflake work for one journey, subsystem, or dependency chain.
- Deploy-gate replay: dependency-chain or critical-journey replay used only when proving release readiness.
Rules:
- Do not use full local E2E as the first response to a single failing journey.
- Treat rerun-pass as unresolved flake debt.
- Promote scope only after the smaller scope is green.
Default Workflow
- Clarify scope and risk: critical journeys, failure modes, compliance constraints, and non-functional risks.
- Define quality signals: SLOs, budgets, contract checks, accessibility target, and what blocks merge vs deploy.
- Choose the smallest effective layer first: unit, component, contract, schema fuzzing, integration, then E2E.
- Make failures diagnosable: logs, traces, screenshots, videos, build links, request IDs, trace IDs, and owners.
- Operationalize the suite: explicit smoke vs targeted-batch vs deploy-gate scopes, quarantine with expiry, suite budgets, retries with evidence retention, and dashboards.
Decision Rules
Need to test: [Change or Risk]
│
├─ Pure business rule or invariant?
│ └─ Unit test
│
├─ UI behavior or component state in isolation?
│ └─ Component test in a real browser
│
├─ API compatibility between teams/services?
│ └─ Contract test
│
├─ API parser/validation edge cases against the schema?
│ └─ Schema-aware fuzzing + core integration smoke
│
├─ Real dependency boundary or persistence behavior?
│ └─ Integration test with real DB/queue/service doubles only at external edges
│
├─ User-critical cross-page workflow?
│ └─ Thin E2E test
│
├─ Universal invariant or property that should hold for all valid inputs?
│ └─ Property-based test (fast-check / Hypothesis / jqwik)
│
└─ Capacity, resilience, or reliability regression?
└─ Performance, resilience, or synthetic monitoring testsPrinciples
- Prefer the smallest layer that can prove the behavior.
- Keep pre-merge gates fast: contracts, static checks, unit tests, selective component/integration smoke.
- Prefer targeted batch reruns locally; reserve full E2E for deploy gates or scheduled regression.
- Use full E2E only for critical journeys or risks that cannot be proven lower in the stack.
- Treat flaky tests as reliability defects, not harmless noise.
- Favor web-first assertions and stable locators over custom waits or brittle selectors.
- Treat accessibility automation as partial coverage. Pair it with manual checks and inclusive design review.
- Use telemetry as evidence. Production traces, incidents, and support signals should drive new tests.
- Use AI for brainstorming and triage only when evidence stays attached. Do not weaken assertions to “heal” tests.
- Treat AI-authored test oracle quality as a first-class risk, peer to flake debt. AI-generated tests routinely hit high line coverage while passing trivially (hardcoded returns, shallow assertions). Gate them on mutation score, not coverage: a test that cannot fail when the business logic is reverted is not a test.
Core Targets
| Signal | Default Target |
|---|---|
| PR gate | p50 <= 10 min, p95 <= 20 min |
| Mainline health | >= 99% green builds/day |
| Suite flake rate | <= 1% weekly |
| Quarantine policy | owner + ticket + expiry, never indefinite |
| AI-authored test oracle quality | mutation score gate on changed files (line coverage is not a gate); calibrate threshold to the suite, never accept AI tests on coverage alone |
Resources
- references/operational-playbook.md: start here
- references/component-testing-browser-mode.md: real-browser component strategy with Vitest Browser Mode
- references/playwright-webapp-testing.md: current Playwright guidance
- references/schema-aware-api-fuzzing.md: schema-driven API fuzzing with OpenAPI
- references/contract-testing.md: Pact, Specmatic, and contract decisions
- references/observability-driven-testing.md: OpenTelemetry-first debugging and trace-based validation
- references/quality-metrics-dashboard.md: metrics, dashboards, mutation coverage, and anti-patterns
- references/production-testing-and-shift-right.md: synthetic monitoring, dark launches, feature flag rollouts, MTTR-flake SLO, production replay, observability-driven gates
More from vasilyu1983
Use this skill in a project
Open any RiverX project, search the Skills panel for vasilyu1983/ai-agents-public/qa-testing-strategy, and install it in one click.
