Flaky Test Quarantine: Owners, Expiry, and Nonblocking CI Results
A confirmed flaky test can block unrelated changes without providing a dependable release signal. Removing that obstruction is reasonable only if someone still sees…
A release changes payment retries, tax calculations, and stock updates. One tester has four hours before the release review. Running the shortest tests first might produce a reassuring pass count while leaving duplicate charges unexamined. Running every payment test could leave account isolation unchecked. The useful decision is which failures deserve attention, what evidence would reveal them, and what remains uncertain when time runs out.
Risk-based testing uses the likelihood and consequences of product failures to choose test scope, depth, and execution order. A score helps make those choices visible. It does not replace a failure scenario, a credible test, or an accountable release decision.
The storefront example below is illustrative. Its scores, evidence assumptions, and effort estimates are invented to demonstrate a repeatable planning method, not to report a customer outcome.
Write each risk as a condition, a failure, and a consequence. “Payments are high risk” gives a tester little direction. “After a timeout, retrying checkout creates a second captured payment for the same order” identifies a trigger, an observable failure, and financial harm. It also suggests where to inspect evidence: requests, order records, and payment records rather than the confirmation screen alone.
Keep product risks separate from delivery constraints. Duplicate charges and exposed order details are product risks. An unavailable payment sandbox is a project risk that can prevent adequate testing. Record both, but manage the sandbox problem through environment readiness and contingency planning rather than ranking it as another application failure.
For each product risk, capture the following information before assigning a number:
Ask developers about changed boundaries and failure mechanisms, product or operations staff about consequences, and testers about coverage gaps. Include security or compliance specialists when their expertise changes the decision. A QA lead can facilitate this discussion without pretending to know every business consequence.
Record the rationale beside the rating. “Likelihood 3 because the retry coordinator changed and no timeout-path regression exists” can be reviewed. “Likelihood 3 because checkout feels risky” cannot be calibrated against another person's judgment.
Agree on the release scope and assessment horizon first. For this example, the question is failure exposure in the release candidate during the next release period, assuming the currently documented controls remain in place. Avoid mixing one team's annual operational exposure with another team's probability of finding a defect in a single test run.
ISTQB's Foundation Level and Advanced Test Management syllabi distinguish risk assessment from test execution and describe likelihood and impact as inputs to planning. The Advanced syllabus also distinguishes statistically supported quantitative estimates from the more usual qualitative, ordinal assessments. Preserve that distinction when turning labels into numbers.
Use a three-level scale to keep the initial workshop manageable. These are example anchors, not an industry-mandated scoring system.
Rating | Likelihood Evidence for This Release | Impact if the Failure Occurs |
|---|---|---|
1: Lower | Stable path, limited relevant change, and credible existing controls | Local inconvenience with an easy workaround and no material data or transaction damage |
2: Middle | A relevant dependency changed, or coverage leaves plausible gaps | A business task is disrupted and recovery requires support or reconciliation |
3: Higher | A changed failure-prone boundary, a relevant incident, or weak controls gives strong reason for concern | Serious financial, confidentiality, integrity, safety, or core-service consequences |
Treat these anchors as prompts for judgment, not automatic rules. Frequent code changes can increase concern, but change count alone does not establish failure probability. Lack of incident reports may reflect poor monitoring rather than a reliable component. Unknown likelihood needs an evidence gap and an investigation plan, not a default rating of 1.
Define impact using the credible failure scenario and current business context. A reversible display error and an irreversible record loss should not receive the same treatment because both affect the same screen. Where consequences differ substantially, split the risk into separate scenarios.
For a coarse prioritization aid, multiply the likelihood rating by the impact rating: priority score = likelihood rating × impact rating. The complete matrix for this example is:
Likelihood / Impact | Impact 1 | Impact 2 | Impact 3 |
|---|---|---|---|
Likelihood 1 | 1 | 2 | 3 |
Likelihood 2 | 2 | 4 | 6 |
Likelihood 3 | 3 | 6 | 9 |
Use scores 6–9 as the higher-priority band, 3–4 as the middle band, and 1–2 as the lower band for this release. Those boundaries are a team policy for the illustration. Choose and document your own before scoring, then check whether they produce sensible decisions for known examples.
The arithmetic does not make the ratings quantitative measurements. A likelihood rating of 3 is not a probability of 30%, and a score of 6 does not establish twice the exposure of a score of 3. The numbers encode ordered judgments whose spacing is not calibrated. Multiplying a defensible probability by a monetary consequence can support an expected-loss estimate under an appropriate model; multiplying ordinal labels does not produce expected monetary loss.
Risk matrices can also compress different situations into the same score. The original risk-matrix analysis by L. Anthony Cox Jr. describes limitations including ambiguous inputs and poor resolution. Use the matrix to organize a discussion, not to claim that the resulting schedule is mathematically optimal.
Set non-negotiable gates outside the score bands. In this example, unauthorized access to another customer's order is a mandatory release check regardless of its likelihood rating. Safety requirements, irreversible data loss, or contractual controls may require their own gates. Confirm applicable obligations with the responsible specialists; a generic matrix cannot waive them.
Keep confidence separate from priority. If the tax change could reasonably receive likelihood 1, 2, or 3, its impact rating of 3 produces possible scores from 3 to 9. That range is an elicited judgment range, not a statistical confidence interval. Resolve the uncertainty through a focused calculation review or exploratory test rather than averaging opinions into a reassuring middle score.
Assume the team's review produces the following register. The evidence column contains hypothetical observations for this example. In a real register, replace them with requirement references, change records, incident evidence, and named reviewers.
Risk | Evidence Assumption | Likelihood | Impact | Score | Targeted Test Evidence |
|---|---|---|---|---|---|
R1: Duplicate payment after a retry | Retry coordinator changed; timeout path lacks regression coverage | 3 | 3 | 9 | Replay a timed-out checkout and reconcile one intended order with one capture |
R2: Incorrect tax total | Rounding dependency changed; boundary coverage is incomplete | 2 | 3 | 6 | Compare boundary baskets with independently calculated expected totals |
R3: Incorrect stock after competing orders | Shared inventory adapter changed; reconciliation is possible | 2 | 2 | 4 | Submit competing orders and inspect reservations and final stock |
R4: Another customer's order is readable | Access-control path is stable with existing checks; routing needs regression | 1 | 3 | 3 | Use separate customer identities and verify cross-account access is denied |
R5: Tooltip text is clipped | Layout changed; effect is cosmetic with an easy workaround | 3 | 1 | 3 | Inspect the affected viewport and text layout |
R1's score is 3 × 3 = 9; R2's is 2 × 3 = 6. R3 scores 4. R4 and R5 both score 3, but they have different consequences and different decision rules. R4 enters the mandatory security gate. R5 remains a candidate for deferral. Sorting only by the score would conceal that difference.
For each risk, choose an activity that challenges the suspected mechanism. R1 needs controlled retries and durable transaction evidence. A successful checkout screenshot does not show whether two captures occurred. Specify the application's intended idempotency contract, generate the relevant retry condition safely, and inspect both order and payment records. Provider-specific retry semantics must be checked separately when implementing the test.
R2 needs a trustworthy oracle: an independently derived expected tax total using the approved rules and rounding policy. Comparing two screens backed by the same incorrect calculation supplies weak evidence. R3 needs competing operations and a stock invariant, while R4 needs distinct identities and attempts to cross the authorization boundary. More ordinary happy-path tests do not automatically deepen coverage of these failure modes.
Record which dimensions remain untested. One retry test may cover a timeout after processing but leave simultaneous submissions or delayed callbacks unexamined. A risk-to-test link establishes planned traceability; only a relevant result on an identified build and environment supplies execution evidence.
Reserve capacity for setup, diagnosis, and reporting before choosing test activities. For the single tester in this illustration, the available 240 minutes are allocated as follows:
The allocation totals 240 minutes, or four hours. R5's estimated 20-minute visual check is deferred rather than silently squeezed into the plan. These estimates cover the selected activities, not complete coverage of every risk. A difficult failure could consume the reserve and still require more time.
Prerequisites can change execution order. If stock tests require a valid order, establish that prerequisite before starting them. If a specialist or environment is available only briefly, schedule the relevant investigation in that window. ISTQB's test-prioritization guidance explicitly recognizes dependencies and resource availability alongside priority.
Within a priority band, consider the additional evidence an activity contributes, its total effort, and whether another selected test already addresses the same mechanism. Include data preparation, execution, result analysis, cleanup, and likely retesting in the estimate. A short test with a weak oracle can be less useful than a longer check of the actual failure condition.
Do not divide ordinal scores by minutes and present the answer as an optimized return on testing. That ratio inherits the scoring model's uncalibrated distances and can favor many cheap, shallow checks. Protect mandatory gates, choose meaningful high-risk investigations, and document the lower-priority scope left out.
Review the register when a test fails, a requirement changes, a dependency moves, or an assumption about a control proves wrong. A confirmed duplicate charge changes R1 from a possible failure scenario into a known defect needing investigation and treatment. Continue testing only where the next activity supplies useful diagnostic or coverage evidence; do not complete the original schedule mechanically.
Keep blocked, failed, passed, and not-run results distinct. An unavailable sandbox is a blocker, not evidence that payment retries work. A passing test supports its checked conditions, not every scenario mapped to the same risk. Testing exposes defects and informs decisions; defect correction and verified controls provide the corresponding treatment.
After a fix, preserve the original failing evidence, rerun the reproducer on the corrected build, and select related regression checks. Reassess the rating only when the new evidence justifies it. Do not lower impact because a test passed, or subtract arbitrary points for every completed test.
At the release review, describe what remains uncertain rather than reporting only a pass percentage. For each important risk, record the tested build, selected conditions, outcome, unresolved defects, missing coverage, and any verified mitigation. Name the person authorized to accept remaining exposure and the deadline or trigger for reviewing that acceptance.
An illustrative decision record might say: “R1's selected retry checks passed on build RC-12 in the payment sandbox. Delayed-callback behavior remains untested. The release owner requires that check before enabling the changed retry path. R4 passed the selected cross-account checks. R5 remains untested and is accepted for this release by the product owner, with a follow-up task.” This is a hypothetical record, not a report of tests performed here.
Avoid claiming that a percentage of the original risk has been eliminated by adding or subtracting matrix scores. The scores are ordinal judgments, and their sum is not a measured risk quantity. Report relevant evidence, open failure scenarios, and the limits of the assessment instead.
Start your next release plan with one changed business flow. Write its credible failure scenarios, agree on rating anchors and mandatory gates, and select tests that can reveal those failures within the real capacity available. Finish with a named decision about every important gap. The matrix is useful when it improves those choices and keeps their assumptions visible.
A confirmed flaky test can block unrelated changes without providing a dependable release signal. Removing that obstruction is reasonable only if someone still sees…
A green automated test history can help a developer identify a safe-looking change while leaving a QA lead unable to answer a different question:…
A sprint can contain carefully estimated testing work and still overload the only person who can perform it. The missing input may be a…
Create traceable test cases, prepare release-specific test runs, and keep approved coverage current as the product changes.