Skip to content
Back to skills

Qa Test Strategy Design

ASecurity

This skill should be used when the user asks to "design a test strategy", "figure out our testing approach for this feature", "how much should we test this", "what's our test plan for this release", or needs to decide test-level allocation and where to focus coverage before writing any actual tests. Use for planning what to test and how much, at the feature or release level — not for writing or debugging individual tests (see e2e-testing for Playwright execution, test-driven-development for r...

  • 2 stars
  • 0 votes
  • 0 copies
  • 4 views
  • Added October 16, 2026
testinggosqltestingdebugginggitperformance

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned October 16, 2026

npx -y skills add shennawardana23/skillme --skill qa-test-strategy-design --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Qa Test Strategy Design?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Qa Test Strategy Design
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/shennawardana23-qa-test-strategy-design/badge)](https://www.skillsdirectory.com/skills/shennawardana23-qa-test-strategy-design)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: qa-test-strategy-design
description: This skill should be used when the user asks to "design a test strategy", "figure out our testing approach for this feature", "how much should we test this", "what's our test plan for this release", or needs to decide test-level allocation and where to focus coverage before writing any actual tests. Use for planning what to test and how much, at the feature or release level — not for writing or debugging individual tests (see e2e-testing for Playwright execution, test-driven-development for red-green-refactor at the unit level).
license: Apache-2.0
metadata:
  version: "0.1.0"
  category: "qa"
---

# QA Test Strategy Design

Test strategy answers "what should we test, how much, and at what level" —
before any test gets written. This is upstream of execution: once the
strategy says "this needs an E2E test," `skills/e2e-testing` covers writing
it; once it says "this needs unit coverage," `skills/test-driven-development`
covers the red-green-refactor loop. This skill does not duplicate either —
it decides which one applies where, and how much.

## The core tool: risk-based prioritization, not blanket coverage

"Test everything equally" is not a strategy, it's an excuse not to have
one. Risk-based testing (ISTQB's risk-based testing approach, and Cem
Kaner's work on it) scores each area by:

```
risk = likelihood of a defect × impact if it escapes to production
```

Procedure:

1. **Enumerate risk areas** for the feature/release: new code paths, high
   churn files (`git log --since=... --name-only | sort | uniq -c | sort
   -rn`), integration points with other services, areas with prior defect
   density, and anything touching money, auth, or data integrity.
2. **Score each area** likelihood (1-3) × impact (1-3) → a 1-9 risk tier.
   Impact for a hotel platform means: does this touch rate calculation,
   reservation state, payment capture, or PII? Those are impact-3 by
   default regardless of how simple the code looks.
3. **Map risk tier to depth and level**:
   - Tier 7-9 (high): unit + integration + at least one E2E happy-path +
     explicit negative/edge cases, reviewed by a second person.
   - Tier 4-6 (medium): unit + integration, E2E only if it's a new user
     journey rather than a variation of an existing one.
   - Tier 1-3 (low): unit tests only, or rely on existing regression
     coverage; do not add new E2E tests for low-risk cosmetic changes.
4. **Decide automate vs. explore vs. skip.** Repeatable, deterministic
   checks → automate. Areas needing human judgment about "does this feel
   right" (new UI flow, ambiguous spec) → route to
   `skills/exploratory-testing-techniques` instead of trying to script
   something that isn't well-specified yet. Truly low-risk, low-churn code
   → skip; a strategy that recommends testing everything has not actually
   prioritized.
5. **Write the strategy down** (even briefly, in the PR description or a
   short doc): scope, explicit out-of-scope, the risk matrix, which level
   gets used where, and exit criteria (what has to pass before release).

## Allocating test-pyramid effort

Default toward Mike Cohn's test pyramid shape: many fast unit tests, fewer
integration tests, fewest end-to-end tests — because E2E tests are slow,
flaky-prone, and expensive to maintain (see `skills/e2e-testing` for why).
A commonly cited allocation is roughly 70% unit / 20% integration / 10% E2E,
but treat that ratio as a starting heuristic, not a target to hit exactly.

- A service that is mostly business logic (rate calculation, availability
  rules) should skew even further toward unit tests.
- A service that is mostly integration glue (e.g. a booking-engine adapter
  calling three downstream PMS endpoints) legitimately has a fatter
  integration layer — forcing it toward the "ideal" ratio produces tests
  that mock away the exact risk you're trying to cover.

## Gotchas

- **100% code coverage is not a risk signal.** A line can be "covered" by
  a test that asserts nothing meaningful. Coverage percentage measures
  execution, not verification — don't let it substitute for the risk
  matrix.
- **The pyramid ratio is a guideline, not a law.** Services with heavy
  external-integration surface (common in hotel-industry PMS/booking
  integrations) legitimately need a thicker integration layer than the
  textbook ratio suggests.
- **A release with only low-risk changes needs almost no new tests.**
  Reflexively adding regression E2E tests for every PR inflates the suite's
  runtime and flakiness without reducing real risk — that budget is better
  spent on the tier 7-9 areas.
- **Partitioned tables need their own risk line item.** For this
  codebase's PostgreSQL tables partitioned by `hotel_id`, a query missing
  the partition key isn't a performance nit — it can silently return wrong
  or incomplete data across hotels; treat any new query path against a
  partitioned table as impact-3 regardless of how small the change looks.
- **Don't confuse "hard to test" with "low risk."** Legacy code with no
  seams is often exactly where the risk is highest and the existing
  coverage is thinnest — that combination should raise the tier, not lower
  it because "we can't test that easily."

## Real-world grounding

The test pyramid comes from Mike Cohn's *Succeeding with Agile* (2009),
formalized further in Google's public testing guidance distinguishing
"small/medium/large" tests by scope and speed. Risk-based test
prioritization is documented in the ISTQB Foundation syllabus and in Cem
Kaner's writing on risk-based test management — the core idea (likelihood
× impact drives depth of testing) predates and outlives any specific
tooling.

Files in this skill

  • SKILL.md5.6 KB
  • evals/evals.json3.6 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.