Quality contract and test risk · Lesson 4

A bounded test plan

5 min read

Lesson objectives

  • Apply a bounded test plan to a bounded case and justify the result and its limits.

A test plan is more than a list of case names. It is a working agreement about what will be examined, why, with which resources, and how findings will be interpreted. If a booking team has two days before a release, “test everything” hides a choice that cannot be executed. State the release objective and actual change first: retry after a lost network response was added, while the booking-history screen did not change. Identify the test basis: the no-duplicate rule, confirmation condition, and full-slot behavior. If a rule is unapproved, leave a decision question open before calling a result pass or fail.

Make scope explicit. In scope might be first submission, retry with the same key, retry with a new key, the final place, and a response lost after persistence. Out of scope for this pass might be thousands of concurrent users or an old browser that the change did not touch. Record who accepts the deferral and when it will be revisited. Out of scope must not hide a critical risk. A plausible duplicate financial charge could require escalation and change the release plan. Trace each case to a requirement or risk so its purpose is visible.

Order execution by dependency. Retrying is uninterpretable until an ordinary booking can be created and its record read. Prepare synthetic accounts and a resettable slot. Record the application build, service version, time zone, and event-viewing tool. A broken environment is not a product failure. Mark the affected test unverified until the environment is repaired, rather than turning it into a pass to improve the report. Prove that test data can be reset before the most constrained work period; otherwise one run can contaminate the next.

Entry criteria define the minimum conditions for meaningful results: stable version, approved rule, test accounts, access to booking evidence, and no outage preventing submission. Exit criteria explain when the planned attempt is sufficient: higher-risk cases executed, each failure examined and recorded, and untested risks made explicit. An unqualified “zero defects” is not useful; a low-impact issue may remain under an accountable decision. Likewise, an overall pass rate is misleading unless its denominator and excluded cases are clear.

Name roles. The tester prepares and executes cases and records results, the developer investigates implementation faults, the product owner approves expected behavior and accepts residual effect, and operations provides logs when authorized. Putting names in a document does not establish agreement; seek scope acknowledgment or record disagreement. If two days permit five high-priority cases and three more, select by risk instead of by ease of passing. Include setup and retest time. A repair near the end may consume the verification window.

Revise the plan when evidence changes. If a request with a new key represents a separate intended booking, change its expected result only after the rule owner approves that interpretation; do not silently rewrite the previous record. If final-slot testing fails, reassess the risk and pause cases that depend on inventory correctness if they cannot now be interpreted. The closing report should say what ran, passed, failed, and was blocked; name open risks and state a conditional recommendation. It is transparent release evidence, not a declaration that the entire product is defect-free.

Lesson summary

Apply a bounded test plan to the case and check what its evidence supports.