Test cases for an ATM machine
Updated 2026-11-13 · 7 min read
A classic interview question that rewards structure. These 35 cases cover card and PIN handling, withdrawal limits, failed dispenses and reversals, other services, security and accessibility.
Assumes a bank ATM that accepts debit cards with a 4-digit PIN and offers withdrawal, balance enquiry, mini statement, PIN change and receipts. Cardless withdrawal and cash deposit are left out; add them if your machine supports them.
How to answer in an interview
Do not start listing cases. Ask first: which card types does it accept, what are the per-transaction and daily limits, which note denominations are loaded, how many wrong PIN attempts are allowed and what happens after, and is the scope the ATM software, the bank's back end, or the physical machine? Then group your answer: card and PIN, cash withdrawal, failures and reversals, other services, and security and accessibility. End with the case you would run first and why (a debit with no cash).
Scope and test data
Run these in a test lab against a test switch, with test cards and test PINs issued for the purpose. Never use a real card or real PIN. The numbers below are example rules to make the cases checkable; replace them with your bank's:
- Per-transaction limit ₹10,000 and daily limit ₹25,000.
- Amounts must be multiples of ₹100; cassettes loaded with ₹100, ₹200 and ₹500 notes.
- Test account balance ₹30,000 at the start of each run.
- The number of wrong PIN attempts allowed and what happens to the card afterwards come from the bank's policy (write them into the test before running A06).
These are designed cases, not an execution report.
Card and PIN
| ID | Category | Test case | Expected result |
|---|---|---|---|
| A01 | Functional | Insert or tap a valid test card | Language or PIN screen appears; card details are read correctly |
| A02 | Negative | Insert the card the wrong way round, or a card with an unreadable chip | Card returned with a clear message; no transaction is started |
| A03 | Negative | Insert an expired test card | Declined with a message; card returned or retained as the bank's policy says |
| A04 | Functional | Enter the correct PIN | Main menu appears |
| A05 | Negative | Enter a wrong PIN once | "Incorrect PIN" message; retry allowed; the attempt is counted |
| A06 | Boundary | Enter a wrong PIN on the last allowed attempt, then retry later with the correct PIN | Card blocked or retained as per policy; the correct PIN is also refused until the block is lifted |
| A07 | Security | Watch the screen and check the logs while entering the PIN | Digits shown only as masked characters; PIN never appears on screen, receipt or logs |
| A08 | Negative | Leave the PIN screen with no input until the timeout | Session cancelled; card returned with a sound alert |
| A09 | Security | Do not take the returned card from the slot | Card withdrawn into the machine after the configured time and the event is logged |
Cash withdrawal
| ID | Category | Test case | Expected result |
|---|---|---|---|
| A10 | Functional | Withdraw ₹2,000 from the ₹30,000 test account | Exactly ₹2,000 dispensed; account debited ₹2,000 once; balance shows ₹28,000 |
| A11 | Boundary | Withdraw exactly the per-transaction limit (₹10,000) | Allowed and dispensed |
| A12 | Boundary | Withdraw ₹10,100 | Refused with a limit message before any debit |
| A13 | Boundary | After ₹20,000 withdrawn today, withdraw ₹5,000, then ₹100 more | ₹5,000 allowed (reaches ₹25,000); the ₹100 is refused with a daily limit message |
| A14 | Negative | Enter ₹150 | Rejected with a message about allowed multiples; no debit |
| A15 | Negative | Enter ₹0 or confirm an empty amount | Rejected; user asked to enter an amount |
| A16 | Negative | Withdraw more than the balance | "Insufficient funds"; no debit; card returned or menu shown |
| A17 | Functional | Withdraw ₹1,500 when the ₹500 cassette is empty | Dispensed as ₹100 and ₹200 notes, or a clear message, as specified; never a wrong total |
| A18 | Negative | Request an amount the loaded notes cannot make (only ₹500 notes left, ask for ₹300) | Refused before the account is debited |
| A19 | Functional | Use a fast-cash button (₹1,000) | Same checks and result as typing ₹1,000 |
Failures and reversals
| ID | Category | Test case | Expected result |
|---|---|---|---|
| A20 | Negative | Do not take the notes within the timeout | Notes retracted if the machine is set to do so; transaction flagged for reconciliation; customer not left debited without a record |
| A21 | Negative | Simulate a dispenser fault after the debit is approved | No cash, a reversal is raised automatically with the transaction reference, and the screen or receipt says so |
| A22 | Negative | Cut power after the debit, before dispensing | After restart the transaction is reconciled; no double debit; card handled as per policy |
| A23 | Negative | Break the network to the bank during the request | Timeout message; no debit or an automatic reversal; card returned |
| A24 | Negative | Simulate a jam after some notes are dispensed | Only the dispensed amount stays debited after reconciliation; the machine journal records the note count |
| A25 | Functional | Press Cancel at the language, PIN, amount and confirmation steps | Session ends at each step; card returned; nothing debited |
Other services and receipts
| ID | Category | Test case | Expected result |
|---|---|---|---|
| A26 | Functional | Balance enquiry | Shows the same balance as the core banking test system |
| A27 | Functional | Mini statement | Last transactions as specified, latest first, including today's withdrawal |
| A28 | Functional | Change PIN: old PIN, new PIN, confirm new PIN | Success message; the new PIN works and the old one is refused |
| A29 | Negative | Change PIN with a confirmation that does not match, or a PIN the policy forbids | Rejected with a reason; the old PIN still works |
| A30 | Functional | Choose "no receipt", then "receipt" with the printer out of paper | No receipt printed; with no paper the customer is warned before the transaction, not after |
Security, accessibility and performance
| ID | Category | Test case | Expected result |
|---|---|---|---|
| A31 | Security | Check the receipt, screen and mini statement for the card and account numbers | Masked as per policy (for example only the last four digits visible) |
| A32 | Security | Finish a session and let the next tester walk up | No data from the previous session on screen; card returned before the next session can start |
| A33 | UI | Switch the language to Hindi and one regional language; view in bright light | Every screen translated with no cut-off text; readable under glare |
| A34 | UI | Use the headphone audio guidance and tactile keypad, if the machine has them | Every step is announced; a user who cannot see the screen can complete a withdrawal |
| A35 | Performance | Time from confirming the amount to cash presented, on a normal and a slow link | Within the agreed limit; a "please wait" message during processing |
What to prioritise
Run A21 to A24 early: they are where money goes missing. For each, ask how the bank finds the transaction later (journal, switch logs, reconciliation report) and who tells the customer. A common mistake in interviews is listing twenty screen checks and no failure cases. Another is promising a reversal time without saying which rule it comes from; in India, quote the RBI framework above and say you would check the current version.
Downloads
Quick answers
Is an ATM question about hardware or software testing?
Both, and saying so is part of a good answer. Separate what the ATM software and the bank switch do (PIN check, limits, debits, reversals) from physical checks (card reader, dispenser, keypad, printer), which are usually certified by the vendor.
What should happen in India if the account is debited but no cash comes out?
The RBI's 2019 turnaround-time circular says the bank must reverse it within T + 5 days (T is the transaction date) and pay ₹100 per day of delay after that, without waiting for a complaint. Check the current RBI directions before quoting it, as rules can be revised.
Which ATM case is the most important?
Debit without cash (A21) and its cousins: power loss and network loss mid-transaction. A wrong button label is annoying; a lost ₹10,000 is a complaint, a regulator issue and a reconciliation problem.
Sources
Want a project you can show in interviews?
The portfolio project kit walks you through testing a deliberately buggy app with Selenium or Playwright and API tests, then explaining it. The app itself is free.
