Risk-based test plan for the checkout release
Builds on Topic 5.
What you'll produce
A one-to-two-page risk-based test plan for the ShopSphere checkout-and-promo-code release — the strategy document a QA lead signs off before anyone starts testing. It nails down scope (what's in, what's out), which testing types you'll apply, the target environments/devices/browsers, the entry and exit criteria that gate the release, and a risk-prioritized list of what to test first. This is the deliverable that proves you can "shift left" (Topic 3) and turn a vague spec into a defensible plan: it shows you understand that you can't test everything (Topic 5), so you prioritize by risk and write down — before testing starts — exactly what "ready to release" means. It's the foundation every later capstone artifact (test cases, executed runs, bug reports, sign-off) builds on, and it's the single most common QA work sample a hiring manager will ask to see.
Instructions
- Read the spec like a tester, not a reader. From the ShopSphere brief, list the four things this release actually changes: redesigned checkout, new promo-code field, guest checkout, and Apple Pay. For each, write one sentence on what could go wrong with money or order completion — that's your risk radar.
- Define scope explicitly — both halves. Write an In scope list (the features and flows you will test) and an Out of scope list (what you're deliberately not testing, e.g., the existing product-catalog pages, account-settings, the payment processor's own internals). The out-of-scope list is what separates a real plan from a wish list; it protects your two-week timeline.
- Map testing types to the feature (Topic 4). State which types you'll apply and where: functional (does promo-code apply correctly?), regression (did the checkout redesign break the existing cart?), smoke (does each daily build even reach the payment step?), plus the relevant non-functional types — compatibility (browsers/devices/OS), usability (the redesigned flow), and a note on security/performance if they're owned by specialists. Don't list types you won't actually run.
- Pin down the test environment matrix. Name the staging environment (where daily builds land), and list the specific browsers, devices, and OS versions you'll cover — with a deliberate priority order, not "all of them." Tie the choice to where ShopSphere's real traffic is (mobile-heavy retail) and to the features (Apple Pay forces Safari/iOS into scope).
- Write entry and exit criteria as checkable gates. Entry criteria = what must be true before you start testing a build (spec frozen, build deployed to staging, smoke test passes). Exit criteria = the bar a build must clear to be recommended for release (e.g., 100% of priority-1 cases pass, zero open Critical/High defects, regression suite green). These must be binary — a release manager should be able to check each one off.
- Build the risk-prioritized "what to test first" table. For each feature area, rate Likelihood (how likely it is to fail) and Impact (how bad if it does), derive a Risk level, and assign a test priority (P1–P3). Anything touching money, order placement, or a brand-new code path is high impact — promo-code math and payment go first; cosmetic copy goes last. This table is the heart of the plan: it's why you test in the order you test.
- Add a brief assumptions/dependencies & sign-off line. Note what you're depending on (stable staging, test promo codes seeded, sandbox Apple Pay account) and leave a line for the QA lead's sign-off. State your estimated effort against the two-week window so the plan is honest about time.
- Keep it to one-to-two pages. A test plan no one reads is worthless. Tight scope, scannable tables, no filler.
Worked example
(Uses the shared Capstone fixtures: build 2.4.0-rc3, staging web at https://staging.shopsphere.com, Jira project SHOP, and the canonical promo codes. Every later deliverable references the same set.)
Test Plan — ShopSphere Checkout & Promo-Code Release (Sprint 14 / build
2.4.0-rc3) Author: QA Engineer · Date: 2026-06-15 · Target release: end of Sprint 14, release-decision Jun 16 2026 · Status: Draft for QA-lead sign-off
1. Feature under test. ShopSphere's redesigned checkout introduces four changes: (a) a promo-code field that applies percentage and fixed-amount discounts to the order total, (b) guest checkout (buy without an account), (c) Apple Pay as an express payment method, and (d) a visual redesign of the existing cart-to-confirmation flow. All four touch order placement or money, so all four carry release risk.
2. Scope.
| In scope | Out of scope |
|---|---|
| Promo-code field: valid/invalid/expired codes, discount math, stacking rules, removal | Product-catalog & search pages (unchanged this release) |
| Cart → checkout → payment → order-confirmation happy path | Account creation, login, password reset (no changes) |
| Guest checkout end-to-end | The Stripe/Apple payment processor's internal settlement (third-party) |
| Apple Pay express checkout (sandbox) | Email-receipt copy/design (owned by marketing this sprint) |
| Regression of existing credit-card checkout | Load/performance at scale (owned by the perf specialist, separate run) |
| Compatibility across priority browsers/devices | Admin-side order-management dashboard |
3. Testing types applied (Topic 4).
- Smoke — run first on every daily staging build: can a user reach the payment step and place one order? If smoke fails, deeper testing is blocked.
- Functional — the core: promo-code application, discount math, guest checkout, Apple Pay, order confirmation, against the spec.
- Regression — re-test the existing credit-card checkout to confirm the redesign didn't break it (highest-volume real path).
- Negative — invalid/expired/empty promo codes, declined card, abandoned payment, back-button mid-payment.
- Compatibility — across the device/browser matrix below.
- Usability — a light pass on the redesigned flow (clear errors, sensible tab order).
- Not run by me this release: deep performance and security/penetration testing — flagged as owned by specialists; I'll note any obvious findings but they're out of my scope.
4. Test environment matrix. All testing on the staging environment (staging.shopsphere.com), which receives daily builds.
| Priority | Browser / Device | OS | Why |
|---|---|---|---|
| P1 | Safari — iPhone 14/15 | iOS 17 | Apple Pay requires it; ~55% of ShopSphere traffic is iOS mobile |
| P1 | Chrome — desktop | Windows 11 | Largest desktop share; primary card-checkout path |
| P2 | Chrome — Android (Pixel 7) | Android 14 | Second-largest mobile segment |
| P2 | Safari — desktop | macOS Sonoma | Catches the Chrome-vs-Safari rendering bugs from Topic 4 |
| P3 | Edge — desktop | Windows 11 | Long-tail coverage if time permits |
5. Entry criteria (must be true before I start testing a build):
- Requirements spec and Figma mockups are frozen (no mid-sprint scope changes without re-review).
- The build is deployed to staging and the smoke test passes (reach payment + place one order).
- Test data is seeded — the canonical promo codes from the Capstone fixtures: the active codes (
SAVE20,WELCOME15,BIG50,SUMMER20), the expiredSUMMER19, plus a sandbox Apple Pay account and test credit cards. - TestRail suite and Jira project are set up for this release.
6. Exit criteria (the bar to recommend release — all must be true):
- 100% of P1 test cases executed and passing.
- ≥ 95% of P2 test cases passing; every failure has a logged, triaged Jira ticket.
- Zero open Critical or High defects (Critical = money charged incorrectly, order lost, or checkout blocked).
- Regression suite on existing card-checkout is green.
- Apple Pay verified end-to-end on at least one physical iOS device.
- Any remaining Medium/Low defects are documented with a sign-off note on residual risk (feeds Deliverable 5).
7. Risk-prioritized "what to test first" (the heart of the plan).
| # | Area to test | Likelihood of failure | Impact if it fails | Risk | Test priority |
|---|---|---|---|---|---|
| 1 | Promo-code discount math (% and fixed, on totals/tax/shipping) | High (brand-new, money calculation) | Critical (wrong amount charged → refunds, trust loss) | High | P1 — first |
| 2 | Apple Pay payment completes & order is created | Medium (new integration, sandbox quirks) | Critical (payment taken, no order — or order, no payment) | High | P1 |
| 3 | Guest checkout end-to-end places a real order | Medium (new path, no account context) | Critical (lost sale / orphaned order) | High | P1 |
| 4 | Promo-code negative cases (expired, invalid, empty, stacking abuse) | High (lots of bad input possible) | High (free money / crashes / blocked checkout) | High | P1 |
| 5 | Regression of existing credit-card checkout | Medium (redesign touched shared UI) | Critical (breaks the path 80% of revenue uses) | High | P1 |
| 6 | Order-confirmation page & totals match what was charged | Medium | High (support tickets, disputes) | Medium | P2 |
| 7 | Compatibility rendering across the device matrix | Medium (Safari vs. Chrome) | Medium (some users can't complete) | Medium | P2 |
| 8 | Usability of redesigned flow (error clarity, tab order) | Medium | Low–Medium | Low | P3 — last |
| 9 | Cosmetic copy/spacing tweaks on confirmation page | Low | Low | Low | P3 |
Rationale: anything that touches money or order completion on a brand-new code path is High risk and goes first (rows 1–5). I will not spend the first day on copy alignment (row 9) while promo-code math is unverified — that's the classic mistake Topic 5 warns against.
8. Assumptions, dependencies & sign-off.
- Assumes: staging stays stable and gets a fresh build daily; test promo codes and a sandbox Apple Pay account are provisioned by Day 1; at least one physical iOS device is available.
- Depends on: the spec staying frozen, and dev triaging Critical/High bugs within 24h to keep the two-week window viable.
- Estimated effort: ~6 testing days across the two-week sprint (build smoke + execute P1/P2 + regression + 1 buffer day for re-test). If P1 slips, P3 compatibility/usability is the first to be cut — stated up front, not discovered late.
- QA-lead sign-off: ☐ Approved ☐ Approved with changes ☐ Rejected — _______________
Rubric
The app's AI scores the learner's submission against these criteria and gives feedback. Levels: Needs work (1) / Solid (2) / Excellent (3). Passing = every criterion at Solid or above.
- Scope (in and out) — 1: only lists what to test, no out-of-scope · 2: clear in-scope and out-of-scope lists · 3: scope is specific to this release, and the out-of-scope items are justified and protect the timeline.
- Testing types mapped to the feature (Topic 4) — 1: types named generically or not at all · 2: relevant types listed and tied to checkout/promo · 3: each type is mapped to a concrete part of the flow, and types not being run are explicitly flagged with an owner.
- Environment / device / browser matrix — 1: vague ("test on browsers") · 2: names specific environments and devices · 3: prioritized matrix justified by real traffic and feature constraints (e.g., Apple Pay forces iOS/Safari).
- Entry and exit criteria — 1: missing or unmeasurable · 2: present and mostly checkable · 3: binary, gate-able criteria a release manager could tick off, including a defect-severity bar.
- Risk-based prioritization — 1: flat list, no risk reasoning · 2: prioritizes some areas · 3: a likelihood × impact → risk → P1–P3 table where money/order-completion and new code paths correctly rise to the top, with rationale.
- Professional craft & honesty about limits — 1: bloated, generic, or pretends full coverage is possible · 2: clear, scannable, one-to-two pages · 3: tight and portfolio-ready, names assumptions/dependencies, and states what gets cut first if time runs short.