top of page

From Requirements to Test Scenarios: How Quality Engineers Build Meaningful Coverage | Amber Insights #015

Oct 26
12 min read
Requirement cards connect to a scenario grid, with one highlighted gap; Amber Insights Issue 015 by Amber Idumwonyi.

Introduction

A patient selects an appointment, confirms the booking and receives a message. The test passes.

Meanwhile, another patient has booked the same slot.


A successful journey has demonstrated something useful. It has not demonstrated that the booking service protects the outcome that matters: a patient securing an appointment the service can actually honour.


This is where test design needs Quality Engineering Judgement. We need to understand what could undermine the outcome, decide which conditions deserve investigation, and explain what our evidence does—and does not—support.


Issue 013 explored why a user story is the beginning of understanding. Issue 014 examined how acceptance criteria make expectations testable.


This issue moves from that understanding to a set of meaningful test scenarios.


The aim is a reasoned coverage argument: why these scenarios matter, what they address, and where uncertainty remains.


01. Begin with the outcome, then examine the evidence

Consider the appointment-booking story used in Issue 014:

As a patient, I want to book an available appointment online so that I can arrange a consultation without contacting the reception team.

Issue 014 offered five possible acceptance criteria:

  1. The patient can view appointment slots available for booking.

  2. The patient can select an eligible appointment slot.

  3. The system must prevent two patients from successfully booking the same slot.

  4. A successful booking must generate a confirmation.

  5. If the selected slot becomes unavailable before confirmation, the patient must receive an appropriate message.


For continuity, this article labels them B1–B5. They are established in our teaching example, not verified requirements for a real healthcare service. Issue 014 did not establish authentication rules, a booking window, cancellation behaviour, or a confirmation delivery mechanism.

That distinction matters. A QE can propose questions and scenario ideas without silently turning an assumption into an agreed business rule.


Start by collecting the relevant test basis: the material used to understand and evaluate the feature. For this booking service, that might include the story, criteria, eligibility policy, interface designs, API contract, appointment data definitions, and applicable quality requirements.

If these disagree, do not choose whichever interpretation makes a test easiest to write.

Record the conflict and seek a decision from the responsible owner.


02. Distinguish a scenario from a detailed test case


In this article, a test scenario is a concise description of a situation or behaviour to investigate, with its intended outcome or an explicit question about that outcome. Teams use the term differently; agree on the local meaning before comparing scenario counts.


A detailed test case specifies enough preconditions, data, actions, and expected results to perform a particular check consistently. One scenario can produce several cases.

Level

Appointment-booking example

Acceptance criterion

B3: prevent two patients from successfully booking the same slot.

Test scenario

Two eligible patients attempt to reserve the same available slot concurrently. At most one booking may succeed.

Illustrative detailed case

Prepare one available slot and two eligible test patients. Arrange overlapping requests against that slot. Submit both, collect their results, and inspect persisted bookings. Expect no more than one successful booking and no duplicate allocation. Check the unsuccessful patient's response against B5 where its precondition applies.

The detailed case still needs concrete data, a reliable way to coordinate requests, an agreed observable success condition, and environment-specific checks. Those belong in implementation and detailed test-case design, which Issue 016 will examine.


The scenario establishes the question worth investigating. The case makes a particular investigation executable. Neither is a result until it has been performed and assessed.


03. Investigate unclear requirements before inventing expected results


“Eligible appointment slot” looks specific until we ask what eligibility means.


Is eligibility determined by patient registration, referral status, appointment type, age, location, or another policy? Can a patient book on behalf of someone else? Is availability checked when the list loads, when a slot is selected, or when the booking is committed?

These questions should lead to a short decision record, not a speculative catalogue presented as approved scope.

Question

Why it matters

Decision needed

What makes a patient eligible?

Otherwise acceptance and rejection scenarios lack a trustworthy expected result.

Product or policy owner confirms the rule and its source.

When is availability authoritative?

A displayed slot may become unavailable before submission.

Product and engineering agree on behaviour at the booking boundary.

What counts as confirmation?

A stored booking, an on-screen message, and an email are different observations.

Define the confirmation outcome and failure handling.

What happens after an uncertain response?

A timeout does not tell the patient whether a booking exists.

Agree on how the patient checks status, and retries safely.

A useful QE contribution is to make the consequence concrete: “Without a retry decision, we cannot define whether repeating this request should return the existing booking or create a new one.”

Keep the owner, decision date, and affected scenarios with the question. Where a decision remains open, label the expected result unresolved. Testing can investigate current behaviour, but current behaviour does not automatically establish the intended requirement.


04. Derive scenarios through several lenses


Begin with an eligible patient selecting an available slot and receiving the agreed confirmation.

Then, examine conditions that could change that outcome.


For the booking example, useful lenses include:

  • Actor and permission: can this person perform the action, and can they access another patient's booking?

  • Data and rules: which values or combinations affect eligibility?

  • State and time: what changes between viewing, selecting and reserving a slot?

  • Dependencies: what if the booking succeeds but a downstream confirmation service fails?

  • Failure and recovery: what can the patient safely do after a timeout?

  • Quality characteristics: can someone complete the journey using a keyboard, and can assistive technology detect relevant feedback?


These are prompts for investigation, not a requirement to apply every possible check to every change. Select lenses according to the feature, its users, and the consequences of failure.


A scenario earns its place by addressing a meaningful question about the outcome. “Click the booking button” tells us little about that question. “Attempt to reserve a slot that became unavailable after selection” makes both the condition and the risk visible.

Understand the outcome, clarify decisions, assess risks, derive scenarios, then review traceability and gaps. New information prompts renewed clarification.

Figure 1. A practical reasoning sequence. New evidence or unresolved questions can send the team back to clarify its understanding.


05. Use techniques to sharpen the questions


Established techniques give structure to test selection: equivalence partitioning groups values expected to behave alike; boundary value analysis examines partition edges; decision tables expose condition combinations; state models examine behaviour across transitions.


Apply them to a defined rule rather than using their names as decoration.


A booking-window boundary


Illustrative additional rule W1: booking is permitted when the slot starts at least 24 hours after the server's booking-decision time. Assume timestamps are compared in UTC at one-second precision. This rule was not in Issue 014.

Let the lead time be the slot start minus the decision time. Useful boundary candidates are:

Lead time at the booking decision

Expected under W1

23 hours, 59 minutes, 59 seconds

Reject as too soon.

Exactly 24 hours

Permit if all other booking conditions hold.

24 hours and 1 second

Permit if all other booking conditions hold.


“Exactly 24 hours” will drift if a manual test uses the current clock while a request travels to the server. A controlled clock or another reliable timing arrangement is needed to evaluate the boundary precisely.

Also, investigate timezone display and daylight-saving behaviour separately if the service presents local appointment times.


A compact discount decision table


As a second example, assume a discount requires an active code, an eligible customer, and eligible products; any failed condition means no discount. These are illustrative rules, consistent with Issue 014's discussion, not a universal promotion policy.

Rule

Active code

Eligible customer

Eligible products

Apply discount

D1

Yes

Yes

Yes

Yes

D2

No

Either

Either

No

D3

Yes

No

Either

No

D4

Yes

Yes

No

No

“Either” means that condition cannot change the outcome under these assumptions. The compressed table covers all eight Boolean combinations for the apply/no-apply decision. It does not establish which error message should appear when several conditions fail. That is a separate decision if message precedence matters.

The technique exposes a useful distinction: covering the discount outcome is different from covering every explanation shown to the customer.


06. Model the booking state, not just the screens


A slot displayed as available is an observation. It is not necessarily a reservation.

For this simplified reservation-state/concurrency illustration, a slot is Available or Booked. A successful reservation changes Available to Booked. A request against a Booked slot must not create another successful booking. Selection on a patient's screen does not change the authoritative slot state.

Simplified illustration, not a complete state-transition model. Two patients can see an available slot. One successful reservation changes it to Booked; a competing request cannot create a second booking. Check responses and authoritative records.

Figure 2. Simplified reservation-state/concurrency illustration, not a complete state-transition model. Cancellation, temporary holds, and release rules are unresolved and excluded.


Two patients can each see Available before either reservation completes. The scenario must therefore challenge overlapping reservation attempts, rather than simply opening two browser windows and clicking one after the other.


OWASP's process-timing guidance identifies time-dependent processes and execution timing between processes as business-logic testing concerns.


Assess both the responses and the authoritative booking records. Two reassuring interface messages cannot establish that there is only one allocation. Conversely, rejecting one request is insufficient if duplicate records have already been committed.


The implementation may use constraints, locking or another appropriate coordination mechanism. Do not prescribe one merely to finish a scenario description. For example, PostgreSQL documents isolation behaviour and transaction retry considerations; those details matter if that technology is actually used.


One passing concurrent run is useful evidence about one execution. Vary the overlap, load and relevant failure points according to risk; retain the limits of that investigation.


07. Build an editable scenario coverage map


The following map is a starting design artefact, not completed test evidence. Priorities are illustrative QE recommendations requiring team review. P1 means investigate early because of the potential consequence; P2 means planned follow-up, not optional testing.

ID

Scenario and basis

Outcome or open decision

Priority rationale

S01

Eligible patient views and selects an available slot; B1–B2.

Eligible slots are shown and selectable under the agreed policy. Eligibility definition remains open.

P1: foundation of the booking journey.

S02

Eligible patient reserves an available slot; B3–B4.

One successful allocation and the agreed confirmation. Confirmation definition remains open.

P1: core service outcome.

S03

Slot becomes unavailable after selection; B5.

No second successful booking; appropriate unavailability message. Agree on the exact content and recovery route.

P1: prevents misleading success.

S04

Two patients attempt the same slot concurrently; B3 and risk R1.

At most one successful booking; assess persisted allocations and each response. B5 applies to the losing request where its condition holds.

P1: conflicting allocation could disrupt care.

S05

Reservation commits but its response is lost; risk R2.

Booking status is uncertain to the patient. Status lookup and retry behaviour require a decision.

P1: retry may create inconsistent expectations or duplicate requests.

S06

Ineligible patient attempts booking; B2 clarification.

Rejection depends on the eligibility policy; do not invent it.

P1: rule enforcement cannot be judged without the rule.

S07

Keyboard-only patient selects and submits a slot; proposed quality requirement Q1.

Journey operates by keyboard, subject to applicable exceptions; confirm accessibility target.

P1: potential exclusion from the service.

S08

Booking feedback updates without focus moving; proposed quality requirement Q2.

Applicable status feedback is programmatically available to assistive technology; inspect the actual interaction.

P1: patient may not perceive the outcome.

S09

Booking request falls around the 24-hour threshold; illustrative W1.

Reject below, permit at/above if other conditions hold. Use controlled timing.

P2: boundary mistakes can apply the wrong eligibility decision.

S10

Patient cancels a booking; extension question Q3.

Whether cancellation is supported, who may cancel and whether the slot reopens are unresolved.

Priority pending: clarify scope and consequences first.


R1 is conflicting allocation. R2 is uncertainty after a committed reservation. Q1–Q3 and W1 are additions proposed for this example, not inherited approved requirements.

Decision ownership for the scenario map: the following role assignments are illustrative recommendations, not appointments to a real delivery team. All decisions remain open.

Scenarios

Unresolved decision

Accountable decision owner

Contributors

S01, S06

Eligibility policy and permitted appointments.

Policy owner

Product Owner; Business Analyst; QE.

S02, S03, S04

Confirmation definition; unavailability message and recovery route.

Product Owner

Engineering Lead; Designer; QE.

S05

Status lookup and safe retry after an uncertain response.

Product Owner

Engineering Lead; QE.

S07, S08

Applicable accessibility target and expected interaction.

Product Owner

Accessibility specialist; Designer; QE.

S09

Whether illustrative W1 is adopted and its precise time boundary.

Product Owner

Policy owner; Engineering Lead; QE.

S10

Cancellation scope, permission and slot reopening.

Product Owner

Policy owner; Engineering Lead; QE.


The QE tracks these decisions against the scenario IDs, records the agreed source and date, and revisits affected expected results. Engineering owns implementation decisions; the delivery owner reviews residual release risk.


Keyboard operation and status feedback are distinct concerns. W3C explains keyboard accessibility in SC 2.1.1 and programmatic status-message identification in SC 4.1.3. A confirmation that moves focus may require a different assessment from an update that leaves focus unchanged.


These scenarios do not establish full accessibility conformance. They illustrate how applicable quality expectations enter coverage alongside functional behaviour.


08. Let risk shape depth and execution choices


A coverage map becomes useful when it influences the work.

For S04, ask what a conflicting allocation would mean for patients and staff, how likely overlapping requests are and whether recent changes affect the reservation mechanism. For S05, investigate the retry path and available status evidence before choosing assertions.


Prefer the test level that exposes the relevant behaviour reliably. Reservation conflicts may be easier to coordinate through service-level tests. A smaller number of browser journeys can then check the patient-facing response. Keyboard interaction needs appropriate interface assessment. None of this removes the need to verify integration where separate components jointly deliver the outcome.


Automation is an execution choice. It cannot resolve an undefined policy, make an unrealistic environment representative or turn a weak assertion into convincing evidence.

Where time is limited, explain the trade-off. “We selected this because it challenges conflicting allocation” is more useful than “We automated it because it was easy.”


09. Use traceability and metrics without overstating them


Traceability connects the test basis to test artefacts and results; it supports assessment and change analysis. Testing cannot establish the absence of all defects, and exhaustive testing is generally impractical.


Consider a team reporting 100% requirement traceability because all five booking criteria link to at least one scenario. If B3 links only to a single-patient booking, the link exists while the conflicting-allocation risk remains unchallenged.


Now suppose eight of ten selected scenarios have been executed: 80% scenario execution coverage. That denominator reflects the selected set. It says nothing about omitted risks, and it does not tell us whether the eight passed.


A useful report defines the measure and adds context: which scenarios were selected, how they were exercised, what failed, what remains blocked and how representative the environment was.

Do not combine designed, implemented, executed and passed into one “covered” status. Each answers a different question.


A coverage metric describes its model and evidence. It does not certify the completeness of that model or the quality of the product.


10. Communicate the remaining gaps as decisions


A QE should make uncertainty actionable, without quietly assuming authority to accept it.


Here is an illustrative report, not a statement about a real delivery:

The selected happy-path and stale-slot checks passed in the integration environment. Concurrent reservation has not been exercised because the environment cannot yet coordinate overlapping requests reliably. Confirmation recovery remains undefined, so S05 has no approved expected result. Keyboard and assistive-technology checks are outstanding. The current evidence does not support a conclusion about conflicting allocation or accessible completion. Engineering should enable the concurrency investigation; Product should confirm recovery behaviour; the delivery owner should review the outstanding risks before the release decision.

The report identifies evidence, limitations, consequences and next actions. It does not hide unperformed work behind a percentage or imply that listing a gap has resolved it.

After a requirement changes, revisit the affected scenarios and their results. A newly agreed retry policy may invalidate an earlier expected result. Preserve the version and decision reference so that old evidence is not presented as verification of new behaviour.


11. Review whether the scenarios tell a convincing story


Before moving into detailed cases, review the scenario set with the people who understand the business and implementation.


Can the team explain the intended outcome? Are expected results grounded in a decision? Which important conditions could change that outcome? Are significant failures, dependencies and affected users represented? Which assumptions remain? Does each high-priority risk have an appropriate investigation, or a visible gap with an owner?

Ask another useful question: if all these scenarios passed, what would we still be unable to conclude?


For our booking service, the answer might include peak-load behaviour, cancellation policy, cross-service recovery or accessibility beyond the selected interactions. Some may be outside this change's scope. Others may require further work. Either way, identify them rather than allowing the scenario list to imply completeness.


This review turns scenario selection into a shared engineering decision. It also prevents an expanding list from becoming a substitute for understanding.


Final thoughts

Requirements do not turn themselves into meaningful coverage.

Quality Engineers investigate the outcome, challenge ambiguity, identify missing decisions and choose conditions that could expose consequential failures. We use techniques to sharpen that reasoning, keep assumptions visible and connect investigations to the requirements and risks they address.


The appointment example began with five possible acceptance criteria. Its value grew when we examined competition for a slot, uncertain responses, eligibility and access to the journey; and recognised which expectations still needed agreement.


The next step is to make selected investigations executable. Issue 016 will explore scenarios and detailed test cases more closely.


For now, a strong scenario set should let the team answer three questions: Why these scenarios? What evidence will they provide? What important uncertainty will remain?


About the author

Amber Idumwonyi is a senior Quality Engineering leader and founder of LEMP. Her work spans enterprise software delivery, UK public-sector technology programmes, test strategy, automation, accessibility, governance and technology workforce development. Amber Insights shares practical Quality Engineering knowledge for technology professionals and those developing their skills.


Read More:

Comments


bottom of page