Software Testing – Testing Retail Point of Sale(POS) Systems with Test Cases Example
POS testing refers to testing the POS application to create a successful working POS application for market use. A Point of Sale (POS) system is an automated computer used for transactions that help retail businesses, hotels, and restaurants to carry out transactions easily.
What is Retail Point of Sale (POS) Testing?
POS is a complex system with a group of hardware and software components integrated to form a complete system. One can easily see POS in restaurants, resorts, shopping malls, and anywhere where sales occur. In the case of a shopping mall, after purchasing any item customer goes to the counter for billing, and this place with a system where billing occurs is called the Point of Sale system.
POS testing is tricky due to its multifunctioning and interconnection to several devices like a barcode reader, scanner, display board, card reader, printer, terminal window, and handheld device. Testing retail POS is not general testing as it requires thorough testing and confirmation that the system is ready to be accepted by the market.
What sets POS Testing Apart?
POS testing is not formal testing due to the following points:
- While testing the POS system, the tester feels he is sitting in a retail store and he is testing the system in-store by writing test scenarios and test cases.
- The POS application testing demands testers to have domain knowledge so that they understand all of its workings which includes interrelated functioning of connected devices of the POS system and the operating software installed in the system.
- Testing of POS applications is different because, in this system testing, testers with the features of the system test the connected hardware devices of the POS system.
- POS application testing is two-level testing that includes testing the working of the POS system at the front-end and also testing the systems working at the enterprise level.
- There are separate labs for testing the retail POS system with a complete POS setup.
Architecture for POS Application
The architecture of POS systems consists of three main components:
- POS terminal: It is the place from where the POS system performs all functions. That means it is the system itself.
- Server: It is used to store all retail store information. The query generated at the main terminal goes to this server as it stores all data. It has information like the number of items in store, the price of each item, discounts on items, total sales in a day, and everything. In broad terms, it maintains the inventory list. More than one terminal is connected to the server.
- Processing unit: It processes the request sent by the server. It is connected to a third party (like a bank) to authenticate and provide information when the payment mode is a credit/debit card.
Working on POS System
Below are the steps that show the working on the POS system:
- The POS terminal is connected to the file server. When an item is a scan on the terminal window it generates a query to the file server.
- The file server fetches the query and returns all the information of the related item to the terminal but when there is no data, it sends a message to the terminal. This whole process is carried out by using XML or batch processing.
- All information on the items in the retail store is regulated by the inventory list and it is updated regularly.
- When some transaction is done by using card payment mode, it is informed to the bank for user authentication. POS system works online and all updates are not made on the local machines as it deals with card payment transactions.
Types of Testing for POS System
The POS system works at two levels and both levels involve different types of testing:
1. Application level: This level deals with all the activities of sale like sale of an item, available discount, coupons, payment, receipt printing, more precisely functions of application level is sales and payment. Type of testing used at this level are as:
- Functionality Testing: It is a type of testing which test that all functions of the application are working as per the requirements of the system. In the POS system, testers validate the working of all functions using functionality testing, the functions which the POS system performs are printing receipt of the purchased item, returning an item, selling, scanning an item for its price and available discount, and payment.
- Compatibility Testing: This testing is non-functional testing that is used to test whether the system is capable to work with other OS, hardware, software, mobile devices, etc. As the POS system is connected to several hardware components so testers test compatibility with all hardware and a new version of OS.
- Payment Gateway Testing: POS system supports online payment modes of the transaction so it needs to follow PCI complaints. Testers validate that the system is working successfully with various payment modes.
2. Enterprise Level: The enterprise level is a broad term that deals with functions like payrolls, total transaction throughout the day, offers which attracted a large number of customers, database management, inventory list management, and accounts management. Type of testing used at this level are as:
- Performance Testing: It is a type of testing which test the performance of the system in terms of response time, working with connected devices, speed, and scalability when workload increases. POS system goes through this testing to validate the responsiveness of the system and when the system crash if the load increases.
- Interoperability Testing: POS system operates on various software and hardware, and testers validate that the system is interacting with other related software and hardware as per requirements.
- Compliance Testing: It is also called conformance testing, it is used to determine that the application meets all the set standards. The POS system offers credit and debit card payment modes so. it needs to fulfill all the parameters set by PCI standards for payments, testers validate that the system is following all those set standards.
- Data Migration Testing: This form of testing is used when data is migrated from the original database to the new database storage system, it validates that all data is replaced without any loss of data, and no duplicate data is made.
- Upgradation Testing: This form of testing determines that the new versions of the software are compatible to upgrade the old version of the system. A POS system needs to be upgraded with a new OS, software, and hardware version so testers validate that the system can be timely upgrade and support new features to remain in the race of changing technology with time.
Physical Components of POS Systems and How to Test Them
POS comprises various hardware and maintaining them is a costly affair as hardware needs to be always in functioning order with accuracy. Parts of POS are as:
- Terminal: It is the main screen that displays all the information needed for a transaction, mostly it is a touchscreen and shows all the detailed information of the entered query like discounts, price, number of items available in-store, and much more. Testers need to validate that it is supporting the latest version of OS and display everything correctly including prices of items, and mistake-free calculations on the bill. It needs compatibility testing to validate working with connected devices.
- Display Pole: It is the screen that shows the price of the item to the customer. Testers validate that the same price will be displayed as shown on the terminal screen.
- Printer: A printer is attached to the main terminal which is used to print the receipt containing details of all purchased items along with their price, discount applied to them, taxes on an item, etc. Testers need to validate the correctness of information printed by the printer, testers check all non-functional requirements, and write test cases for negative scenarios like what happens when power is cut off in-between the printing, printer ink is finished then how the printer will behave.
- Barcode Reader: It is a device used to scan the product by which scanned product information is displayed on the main terminal. It fetches the price of the item from the inventory list and also automatically reduces the number of items on its sale. Testers validate that the barcode reader after scanning an item shows the correct price as listed in the inventory list, and validate that the scanned item has all required tags to fetch the price. Testers also validate how the scanner will scan an item if it is missing from the inventory list.
- Handheld devices: These devices support electronic modes of payment that facilitate the use of credit cards or debit cards for payment to customers. The employee can take the device to the customer and the customer inserts his card in the card slot of the device and enter the card pin, the employee inserts the amount and clicks the ok button. Testers validate the device by inserting the card and checking that it takes the correct amount of digits for payment and also test the device by inserting the wrong pin.
- Cash register: It is a register that opens automatically when the POS operator opts for a cash mode of payment as requested by the customer. Here, customers can purchase an item in cash, and the operator can return the remaining amount to the customer and place the paid amount in the cash register box. Testers validate that the device opens automatically on selecting the cash mode of payment. They also validate that the deposited amount is correctly entered in the account balance sheet of the store.
- Magnetic Swipe Reader (MSR): It is to swipe payment cards like credit, debit, and gift cards for making the payment. It is a simple device where the customer just swipes his card in the swiping slot and enters the card pin, some cards do not need any pin to enter for the transaction and work simply by swapping. As the customer swipe, the amount is deducted from his account. Testers validate that the correct amount is deducted and the device authenticates the cardholder, testers test the device by checking card is within the expiry date and has a sufficient amount for performing transactions and on scanning the gift card, the device checks the validity of the card.
Sample Test Cases for POS used in Retail
Below are the test cases and the test scenarios for the Retail POS system:
|Payment Gateway Processing|
|Return and Exchange|
|Extra add-ons like a discount, and offers|
Security Testing for Retail POS Systems
Security is the most important requirement for the successful working of an application and it also helps to protect the application from unauthorized access. As the retail POS system uses the internet for the updation of a new version of the software and supports payment using the cards, these features of POS are always vulnerable to hackers. Security testing is conducted due to following reasons:
- To maintain the PCI standards made to provide a secure payment process.
- POS system needs software update so it is vulnerable to unauthorized access, here, penetration testing is needed to address this issue.
- In the case of a chain of retail stores, to protect the data and information of each store, every store needs to provide individual special authentication to access the device.
- A third party is involved during payment like a bank, so cardholder information is needed to be protected from hackers.
- It needs the security of stored data from the terminal to the endpoint from unauthorized people due to the exposure of the POS system to the internet so, multilayer authentication needs to be added to safeguard the system.
Common Challenges For POS Users
- Variety of POS systems in the market: A large number of POS systems are available in the market and it is confusing for the user to find the right one.
- Security: It is vulnerable to hackers due to internet exposure and the hacker can steal stored data information and payment card information.
- Installation: Installation of the POS system is not easy and a wrong installation makes it difficult to run the system.
- POS Working: For using the POS system in a retail store it is a must for its employee to understand the working of the POS system which includes learning all terminal activities and the working of the connected hardware devices.
- Troubleshooter: POS systems demand regular maintenance that includes updating the installed software and upgrading the connected devices as per new technology. Sometimes, some devices stop working then they need to be repaired by the concerned troubleshooter.
- Data Storage: POS user need to learn how to work with an inventory list and store backend data which include regular updation of the inventory list, analyzing which discount make more profit to store, how to store data of the regular customer, and much more.
Challenges in POS Testing
- Interoperability: It is connected to several components, so compatibility testing is required along with integration testing.
- Different modes of payment: It supports multiple payment modes like cash, different types of cards, and UPI methods of payment, so each one needs to be regulated.
- PCI compliance: Needs to stick with PCI complaint as it supports the card system of payment and the payment information is needed to be sent to a third party or bank.
- Timely Upgrades: POS system is connected to multiple devices and software, that require updating with time and its testing is not easy and is costly.
- Complex structure: It is connected to several hardware and software and everyone demands individual testing.
Benefits of POS Testing
Retail POS greatly reduces the workload, and manpower and makes working automated as it helps in listing the items with their prices, keeping records of sales, offers available in the store, discount coupons, and much more. Its testing is equally important because its working affects the profit earned by a store and the benefits of testing retail POS are as:
- High Performance: Get a successful working system that increases the performance of the store, as POS will reduce the labor force and the chances of delayed work, incomplete work, and unsuccessful work decrease.
- Security: A secure system that is free from unauthorized access. Testing helps to maintain the system’s security, making it stronger, safer, and more secure, and building the owner’s trust.
- Early Defect detection: Early identification of defects can be easily resolved, this helps in maintaining the working of the system and also reduces the cost of maintenance. When defects are identified in the early stages of testing, it is easy to resolve and hence increase efficiency.
- Good user experience: In the case of an eCommerce website, the user experiences a glitches-free working system during heavy load on the website as testing helps in handling the website from break-down.
Please Login to comment...