Overview
In this post, we will learn how to write ATM test cases. ATM test cases in this tutorial are not verbose to list out all the test cases. The tutorial’s main aim is to teach you how to write test cases on your own.
In the olden days, customers had to visit the bank’s home branch with a passbook to perform banking transactions. Nowadays, with expanding metropolitan city limits, changing lifestyles, and increasing traffic; visiting the bank for every transaction is quite an overhead for the bank customer in terms of effort, time, interest, and other logistics.
ATMs were introduced with the purpose to service customers without bank staff and a bank branch facility. Most ATMs work 24/7 for their customers, unlike bank branches.
ATM Components
https://www.testingdocs.com/atm-system-components/
ATM Use Cases
Identify the main ATM Actors that interact with the ATM system. Ask yourself questions like:
- Who are the Actors of the System? ( Customer, ATM Technician, etc)
- Why the actor uses the system?
- What is the main intended purpose of the system for the actor?
- What are the business goals and business value of the system for the actors?
https://www.testingdocs.com/atm-use-cases/
ATM Test Cases
With Card
A bank customer performs ATM transactions by inserting a plastic Debit/ Credit Card provided by the Bank. The Customer authenticates for every ATM transaction using an ATM PIN. ATM PIN is a secret personal identification number only known to the customer.
Cardless Transactions
To simplify the process of withdrawing cash banks also provide Cardless cash withdrawal through an ATM using Bank’s Mobile Application. Customers need not carry a debit card or remember PIN with this process.
Functional Test Cases
Understand the main functionality of the application under test in this ATM. What is the main intended purpose of the application or system? The main purpose of an ATM is to provide banking services to its customers without the need for them to visit the bank. ATMs are deployed at convenient places by the bank like busy shopping centers, office parks, etc.
Test Case in Table Format
Card Authentication
Test Case Name | Test Case Detailed Steps | Test Data | Expected Result | Actual Result |
Verify ATM Card Authentication. |
Preconditions The user has a valid ATM Debit/Credit Card. The ATM card was placed in the card reader slot correctly. Steps
|
Valid Debit/Credit Card ATM PIN
|
Successful User Authentication.
Verify that the user is able to access the bank account. |
Based on the format you can write test cases for
- Cash Withdraw, Cash Deposit.
- Cheque Deposit, Print Statement ATM test cases
Card Types
Verify that the ATM should accept all supported ATM debit and credit cards. Verify
- Unsupported cards
- Expired cards
- Disabled Cards, etc
Account Types
Verify ATM with different account types like Savings account, Checking account, Current account, etc.
ATM PIN Change
Test Case Name | Test Case Detailed Steps | Test Data | Expected Result | Actual Result |
Verify ATM PIN Change | Preconditions
The user has a valid ATM Debit/Credit Card. The ATM card was placed in the card reader slot correctly. Steps
|
Valid Debit/Credit Card
Old ATM PIN:1223 New ATM PIN:6775 |
ATM PIN should be changed and saved successfully. |
Cardless Transactions
Testcase to verify Cardless cash withdrawal.
Test Case Name | Test Case Detailed Steps | Test Data | Expected Result | Actual Result |
Verify Cardless ATM Cash withdrawal | Preconditions
The user has installed Bank’s Mobile App from the App store/Play store on his/her Mobile device. Steps on Mobile App
Steps on ATM
|
Valid Customer with Mobile App registered.
All fields must match with Mobile App and ATM transaction
|
ATM should dispense the required Amount successfully. |
The above is a Happy Path test case for cardless transactions. We can write several testcases for cardless transactions.
ATM keypad and Touch screen testcases.
Card Slot
Verify that the ATM Card slot is as per the specification.
Cash dispenser test case
Verify that the Cash dispenser should wait for the specified amount of time as per the specification.
Valid Denominations
Verify Error message if the user enters invalid denominations, ATM should display an error message. For example, if the valid denominations for the ATM are 100, 500, or 1000.
Suppose the user enters the withdrawal amount as 250. ATM should display an error message with the Retry option on the screen.
Out Of Cash
Verify cash withdrawal when the ATM is out of cash. An appropriate error message should be displayed.
Cancel Transaction
Verify that the ATM transaction should be canceled, when the user clicks on the cancel button.
Test case Tool
We use tools to manage test cases for the application. Adding Test cases to Test Management Tool
Sample ATM Test Case in TestLink:
https://www.testingdocs.com/testlink-introduction/
GUI Test Cases
GUI is an acronym for Graphical User Interface. The graphical interface through which the user of the application interacts with the system. GUI elements depend on the system design. Common GUI elements are:
Menu, Windows, Popups
Textboxes, Labels, Links, Text, Fonts
Buttons, Checkboxes
Images/Videos
Dropdowns, Error dialog boxes, etc.
GUI Testcases verify the functionality of the ATM that is visible to the user. For Example, ATM Screen test cases.
ATM Screen GUI
Test Case Name | Test Case Detailed Steps | Test Data | Expected Result | Actual Result |
Verify ATM Screen Labels, Button | Preconditions
The user has a valid ATM Debit/Credit Card. The ATM card was placed in the card reader slot correctly. Steps
|
Valid Debit/Credit Card
ATM PIN |
Verify that the Buttons, Labels, Menus, Text, Colors, and Error messages are displayed clearly. |
Verify that the text on the ATM Screen is clearly visible and easy to read.
Error messages
Verify all the error messages for the ATM. ATM displays error messages on error conditions, user mistakes, technical problems, etc.
Verify the error message for Wrong ATM PIN to the user.
Error message when the user attempts to withdraw an amount greater than the balance amount with no overdraft facility.
withdraw amount > account balance.
Security Test cases
Invalid User with Stolen ATM Card
Test Case Name | Test Case Detailed Steps | Test Data | Expected Result | Actual Result |
Verify ATM Card Protection. |
Preconditions A malicious User has a valid ATM Debit/Credit Card. (The actor is malicious possibly stolen ATM card simulation test case) The ATM card was placed in the card reader slot correctly. Steps
|
Valid Debit/Credit Card
Invalid PIN 3 attempts. Valid PIN:3457 Invalid PIN: 1234 4567 8975 |
Verify that the ATM card is blocked.
Post-condition Card Block Message/Notification Sent to the User. |
Encryption
Verify that the communication between ATM and the bank server is encrypted. The card number, expiry date, cardholder name, and PIN should be encrypted.
ATM Skimming
ATM Skimming is the type of ATM fraud that occurs when an ATM is compromised by a skimmer device. It is a type of fraud where the hacker/malicious user attaches a skimmer device to the card reader to steal ATM card data.
ATM skimmer is a device that is attached to the card reader that can be disguised to look like part of an ATM. The device is used to steal card numbers and PINs, which are then replicated into counterfeit cards by hackers.
Testcase:
Attach a skimmer device to the card slot. Verify that the ATM detects and displays an alert message on the screen.
The Test Case Actual Result is to be filled in by the tester after testing the test case. If the Expected Result and the Actual Result are the same the Test case is marked as Pass. If the Actual Result is not expected then the Test Case is marked as Fail. The tester needs to log a defect in the defect tracking system. ( like Bugzilla, Mantis, In-house bug tracking applications, etc).
Test Case Status: Pass /Fail /Blocked
Steps to create Test cases in Test Link:
https://www.testingdocs.com/creating-test-suite-and-test-cases-in-testlink/
Related Links
Login Page
https://www.testingdocs.com/test-cases-for-a-login-page/
Registration Page
https://www.testingdocs.com/test-cases-for-registration-page/