SoftwareTestPilot
Software Testing FundamentalsPublished: Updated: · 16 hours ago15 min read

Test Scenario vs Test Case: 15 Worked Examples with Test Cases

15 test scenario examples from e-commerce, banking, SaaS, mobile and privacy, each expanded into real test cases with data and expected results, plus a five-step method.

SoftwareTestPilot
QA Editorial Team
Share:XLinkedInWhatsApp
Test Scenario vs Test Case: 15 Worked Examples with Test Cases: Software Testing Fundamentals article cover, SoftwareTestPilot.com
Test Scenario vs Test Case: 15 Worked Examples with Test Cases: Software Testing Fundamentals article cover, SoftwareTestPilot.com

Last updated 2026-11-04 · 15 min read · By SoftwareTestPilot

Quick answer: a test scenario is one line that says what behaviour to check, such as "a shopper applies an expired coupon at checkout". A test case is one runnable check under that scenario, with the exact setup, data and expected result. One scenario usually becomes several test cases: the normal path, the failure paths and the edge cases.

This page is a catalogue of worked examples. Each of the 15 examples below shows the scenario, why a team would care about it, and the test cases a tester would write from it. If you want the definitions, comparison table and templates first, start with our test scenario vs test case explained guide, then come back here to practise.

Key takeaways

  • A scenario names a behaviour; a test case proves one path through it.
  • Most scenarios expand into 3 to 6 cases: at least one positive, one negative and one edge case.
  • Good test cases state concrete data and a result you can see, not "should work correctly".
  • Track coverage against scenarios and execution against test cases.

1. How to Read These Examples

Every example uses the same layout so you can compare them:

  • Scenario — one sentence, written from the user's or system's point of view. No steps, no data.
  • Why it matters — the risk if this behaviour breaks. This is what decides the scenario's priority.
  • Test cases — each row is one case: the setup and data that make it different from its neighbours, and the result you would check.
  • Tester's note — the case people most often forget, or a design technique that helped.

The cases are written in short form to keep the page readable. In a real test management tool each row would also carry an ID, preconditions, numbered steps and a priority. Our test case template guide shows the full layout.

The business rules in these examples (limits, timings, messages) are illustrative. Always take the real values from your product's requirements or acceptance criteria.

2. E-commerce Examples (1 to 3)

Example 1: Adding an out-of-stock item to the cart

Scenario: A shopper tries to add a product that has no stock left.

Why it matters: Selling stock you do not have leads to cancelled orders and refunds.

CaseSetup and dataExpected result
TC-01Product stock = 0, open product pageAdd to cart button is disabled and an 'Out of stock' label is shown
TC-02Stock = 1, two shoppers add it at the same timeOnly one cart gets the item; the other sees a clear 'no longer available' message
TC-03Item already in cart, stock drops to 0 before checkoutCheckout blocks the order and explains which item is unavailable
TC-04Product has variants; only size M is out of stockSize M cannot be selected; other sizes can be added

Tester's note: TC-02 and TC-03 are the cases that catch real bugs, because they involve timing. They are easy to skip when you only test the product page.

Example 2: Shipping to a country the store does not serve

Scenario: A shopper enters a delivery address in a country the store cannot ship to.

Why it matters: Accepting the order creates a payment the business must refund by hand.

CaseSetup and dataExpected result
TC-01Choose an unsupported country in the address formCountry is not offered, or a message explains shipping is unavailable
TC-02Saved address from an old order is in an unsupported countryAddress is flagged at checkout and cannot be used
TC-03Billing country unsupported, shipping country supportedOrder is allowed (billing and shipping rules are separate)

Tester's note: TC-03 checks that the rule applies to the right field. Mixing up billing and shipping rules is a common defect.

Example 3: Using a gift card and a coupon together

Scenario: A shopper pays with a gift card and also applies a discount coupon.

Why it matters: Wrong order of calculation gives away money or overcharges customers.

CaseSetup and dataExpected result
TC-01Cart 1,000, coupon 10% off, gift card 500Discount applied first: total 900, gift card covers 500, 400 left to pay (if that is the documented rule)
TC-02Gift card balance larger than the discounted totalOrder total is 0; remaining gift card balance is kept, not lost
TC-03Coupon rules say 'not valid with gift cards'Clear message; only one of the two is applied
TC-04Order with both is cancelledCoupon usage and gift card balance are both restored

Tester's note: Write down the expected calculation order before testing. Without it, two testers can 'pass' opposite results.

3. Banking Examples (4 to 6)

Example 4: Transfer above the daily limit

Scenario: A customer tries to send more money in one day than their daily transfer limit allows.

Why it matters: Limits protect customers from fraud; a gap here is a security and compliance issue.

CaseSetup and dataExpected result
TC-01Limit 50,000; transfer 50,000Transfer succeeds (exactly at the limit)
TC-02Limit 50,000; transfer 50,001Transfer blocked with a message stating the limit
TC-03Two transfers of 30,000 on the same daySecond transfer blocked; the limit is cumulative
TC-0430,000 at 23:59, another 30,000 at 00:01Second transfer allowed if the limit resets at midnight in the bank's time zone

Tester's note: TC-01 and TC-02 come from boundary value analysis. TC-04 tests what 'daily' actually means.

Example 5: Login after repeated wrong passwords

Scenario: A user enters the wrong password several times in a row.

Why it matters: Lockout stops password guessing, but a broken rule can lock out real customers.

CaseSetup and dataExpected result
TC-01Wrong password twice, then correctLogin succeeds; failure counter resets
TC-02Wrong password three times (if 3 is the rule)Account temporarily locked; message says when to retry or how to unlock
TC-03Locked account, correct passwordStill locked; no hint that the password was right
TC-04Lock period passesUser can log in again with the correct password

Tester's note: TC-03 is a security case: the error message must not reveal whether the password was correct.

Example 6: Downloading a statement for a closed account

Scenario: A customer requests an old statement for an account they have closed.

Why it matters: Regulations often require old statements to stay available after closure.

CaseSetup and dataExpected result
TC-01Account closed last month; request last quarter's statementStatement downloads with correct balances
TC-02Request a period after the closure dateMessage says no statement exists for that period
TC-03Joint account, one holder closed their accessRemaining holder's access is unchanged; closed holder sees only the allowed history

Tester's note: Ask what the retention rule is before writing TC-01. The answer usually comes from compliance, not the product team.

4. SaaS Examples (7 to 11)

Example 7: Downgrading a plan in the middle of a billing cycle

Scenario: A customer moves from a higher plan to a lower one partway through the month.

Why it matters: Billing errors are visible to customers and hurt trust quickly.

CaseSetup and dataExpected result
TC-01Downgrade on day 15 of 30Change applies on the date the billing rules state (now or at renewal) and the invoice matches
TC-02Account uses a feature only the higher plan hasCustomer is warned what they will lose before confirming
TC-03Usage above the lower plan's limitDowngrade is blocked or the customer is told how to get under the limit

Tester's note: Get a written example invoice from the product owner. It turns a vague rule into numbers you can check.

Example 8: Inviting a user beyond the seat limit

Scenario: An admin invites a new team member when all paid seats are used.

Why it matters: Seat limits drive revenue; letting extra users in for free is a real loss.

CaseSetup and dataExpected result
TC-015 seats, 4 used, invite oneInvite sent; seats shown as 5 of 5
TC-025 seats, 5 used, invite oneInvite blocked with an option to add seats
TC-035 of 5 used, one user removed, invite againInvite allowed; freed seat is reused
TC-04Pending invite not yet acceptedPending invite counts toward the limit (or not) exactly as documented

Tester's note: TC-04 is where requirements are often silent. Raise the question before release, not after.

Example 9: Single sign-on with a mixed-case email address

Scenario: A user signs in through their company's single sign-on with an email that has capital letters.

Why it matters: Duplicate accounts and failed logins are common support tickets.

CaseSetup and dataExpected result
TC-01Account created as asha@corp.example, SSO returns Asha@Corp.exampleUser lands in the existing account, not a new one
TC-02Email with trailing space from the identity providerSpace is ignored; login succeeds
TC-03Same person invited earlier by email, now uses SSOInvite is linked to the SSO login

Tester's note: Emails are a classic source of duplicate data. Always include a case that changes only the letter case.

Example 10: Hitting the API rate limit

Scenario: A client application sends more API requests per minute than its plan allows.

Why it matters: Rate limits protect the service for everyone; clients need a clear signal to slow down.

CaseSetup and dataExpected result
TC-01Send requests up to the limitAll succeed
TC-02Send one request over the limitResponse status 429 with a Retry-After header
TC-03Wait the time given in Retry-After, send againRequest succeeds
TC-04Two API keys on the same accountEach key's limit is counted as the documentation says (per key or per account)

Tester's note: You can practise exactly these checks against a live practice API in our API Playground.

Example 11: Trial expiring at midnight in another time zone

Scenario: A user in Sydney reaches the end of a 14-day free trial.

Why it matters: Ending a trial early or late annoys customers and affects revenue.

CaseSetup and dataExpected result
TC-01Trial ends at 00:00 in the user's time zoneAccess changes at that moment, not at midnight server time
TC-02User changes their time zone during the trialEnd time follows the documented rule and is shown clearly in the account page
TC-03Daylight saving change during the trialTrial still lasts the stated number of days

Tester's note: Time zones and daylight saving are among the most common causes of date bugs. Pick test dates that cross a clock change.

5. Mobile App Examples (12 to 14)

Example 12: Leaving the app while entering a one-time code

Scenario: A user switches to their messages app to read a one-time password, then returns.

Why it matters: If the screen resets, users cannot finish signing in.

CaseSetup and dataExpected result
TC-01Switch away for 10 seconds and returnOTP screen and typed digits are still there
TC-02Switch away until the code expiresClear 'code expired' message and a resend option
TC-03Phone offers to autofill the codeAutofill works and the form submits once, not twice

Tester's note: Run these on a real device as well as an emulator. Background behaviour differs.

Example 13: Opening a link from an email while signed out

Scenario: A signed-out user taps a link in an email that points to a page inside the app.

Why it matters: Broken links waste the email and lose the user.

CaseSetup and dataExpected result
TC-01Signed out, tap linkSign-in screen appears, then the user lands on the linked page
TC-02App not installedLink opens the web version or the store page, as designed
TC-03Link for an item the user cannot accessFriendly 'no access' message, not a crash or blank page

Tester's note: TC-01 checks that the original destination survives the sign-in step, which is easy to lose.

Example 14: Denying notification permission, then allowing it later

Scenario: A user refuses notification permission at first launch, then enables it from settings.

Why it matters: Notifications drive return visits; a stuck permission state loses them silently.

CaseSetup and dataExpected result
TC-01Deny at the first promptApp works normally; no repeated prompts on every launch
TC-02Enable later in phone settings and reopen the appApp detects permission and starts sending notifications
TC-03Enable, then disable againApp stops sending and does not crash

Tester's note: Write these for both Android and iOS separately; the permission flows are different.

6. Privacy Example (15)

Example 15: Exporting personal data on request

Scenario: A user asks to download all the personal data the service holds about them.

Why it matters: Data protection laws such as the GDPR give people a right to a copy of their data.

CaseSetup and dataExpected result
TC-01User with a full profile requests an exportFile contains every personal field the privacy policy lists
TC-02Export link opened by another signed-in userAccess denied
TC-03Export link after it expiresLink no longer works; user can request a new one
TC-04User who has deleted some dataDeleted data does not appear in the export

Tester's note: TC-02 is a security case. Every export or download feature needs one check that a different user cannot open the file.

7. Scenario-to-Case Mapping Template

A simple table linking scenarios to cases makes gaps easy to spot. Each scenario row lists its case IDs, so a scenario with only one case stands out straight away.

Scenario ID | Scenario                              | Cases               | Priority | Automated
SC-004      | Transfer above the daily limit        | TC-041 to TC-044    | High     | TC-041, TC-042
SC-008      | Invite beyond the seat limit          | TC-081 to TC-084    | High     | No
SC-013      | Open email link while signed out      | TC-131 to TC-133    | Medium   | TC-131

Add a column for the requirement or user story ID and the table becomes a basic traceability matrix: you can show which requirement each test covers.

8. How to Write Your Own: Five Steps

Use these five steps on any feature. They are how the 15 examples above were written.

  1. Write the scenario as one sentence about behaviour. Start from a user story or acceptance criterion. Leave out steps and data.
  2. Ask "what would make this go wrong?" List wrong inputs, missing permissions, limits, timing and interruptions.
  3. Use a design technique for the data. Boundary values for limits, equivalence partitions for input groups, and a decision table when several rules combine (as in Example 3).
  4. Write one case per distinct condition. If two cases have the same setup and the same expected result, merge them.
  5. Make each expected result observable. "Order total is 900" can be checked. "Discount works" cannot.

Teams that use behaviour-driven development write the same thing in Given/When/Then form. A scenario becomes a Gherkin Scenario or Scenario Outline, and each row of the examples table is effectively a test case. See the official Gherkin reference and our BDD with Cucumber tutorial.

9. Common Mistakes in These Examples (and Fixes)

  • Scenarios that are really test cases. "Enter 50,001 and click Send" is a case. The scenario is "transfer above the daily limit".
  • Only the happy path. If a scenario has one case, it almost always lacks negative and edge coverage.
  • Vague expected results. "System behaves correctly" gives two testers two answers.
  • Hidden data. "Use a valid account" does not say which one. Name the data or the setup.
  • Scenarios that are too big. "Checkout works" covers dozens of behaviours. Split it until each scenario has a handful of cases.
  • Guessing business rules. When a limit or timing is not written down, ask. Do not invent the expected result.

For more on writing the case itself, see test case writing best practices.

10. Using These Examples in an Interview

Interviewers usually ask the definition, then hand you a feature. A strong answer has three parts:

  1. Define both in one breath. "A test scenario is a one-line statement of what to check. A test case is one runnable check under it, with setup, data and an expected result."
  2. Give a real example. Pick one from this page, for instance the daily transfer limit, and name two or three cases including a boundary.
  3. Explain how you use them. "I track coverage against scenarios so I can see what behaviour is tested, and execution against cases so I can see what passed today."

If asked to write cases on the spot, say the scenario out loud first, then work through positive, negative and edge cases in that order. That structure shows method, not memory. More practice questions are on our manual testing interview questions page, and you can ask other testers for feedback in the QA Community.

For standard definitions, the ISTQB glossary is the reference most interviewers recognise.

11. Summary

A scenario says what to test; a test case says exactly how, with data and an expected result. Across these 15 examples, the cases that matter most are rarely the normal path. They are the limits, the timing problems, the permission checks and the questions the requirements forgot to answer. Pick one feature you work on this week, write its scenarios in one line each, and expand one of them into four cases using the five steps above.

Frequently asked questions

1.What is a test scenario with an example?
A test scenario is a one-line statement of a behaviour to check. Example: 'A customer tries to transfer more than their daily limit.' It contains no steps or data; those belong in the test cases written from it.
2.What is a test case with an example?
A test case is one runnable check with setup, data and an expected result. Example: 'Daily limit 50,000; transfer 50,001; expect the transfer to be blocked with a message stating the limit.'
3.How many test cases should one scenario have?
Most scenarios need 3 to 6: at least one positive, one negative and one edge case. If a scenario needs more than about ten, it is usually two or more scenarios and should be split.
4.Should I write test scenarios or test cases first?
Scenarios first, usually while reviewing the user story. Write the detailed cases once the acceptance criteria and business rules are agreed, so you are not rewriting them.
5.Are Gherkin scenarios the same as test scenarios?
Close, but not identical. A Gherkin Scenario is often a single test case written in Given/When/Then form, while a Scenario Outline with an examples table matches one test scenario with several cases.
6.Where can I see the definitions and a comparison table?
Our test scenario vs test case explained guide covers the definitions, a side-by-side comparison, templates and when to use each. This page focuses on worked examples.