POS Testing is defined as Testing of a Point of Sale Application. A POS or Point Of Sale software is a vital solution for retail businesses to carry out retail transactions effortlessly from anywhere. You must have seen Point of Sale terminal while checking out at your favorite Mall.
The system is more complex than you think and is tightly integrated with other software systems like Warehouse, Inventory, purchase order, supply chain, marketing, merchandise planning etc.
In this tutorial, we will learn
● Test Architecture for POS Application
● Types of Testing for POS system
● Sample Test Cases for POS used in Retail
● Security Testing for Retail POS Systems
● Challenges in POS testing
POS test architecture includes three components for testing - POS terminal, store server and enterprise server. Basically it is classified into three levels for testing of POS application.
Level 1- (POS Terminal ) |
Level 2- (Store Server) |
Level 3- (Enterprise Server) |
● Device and hardware testing (RIFD, Scanner, Printer, Barcode reader) ● Interoperability Testing ● BI and Analytics Testing ● Performance Testing |
● Security Testing ● BI & Analytics Testing ● Disaster recovery Testing ● Interface Testing |
● Security Testing ● BI & Analytics Testing ● Disaster Recovery Testing ● Interface Testing |
Testing of POS System can be broken down into two levels
Testing Performed At Application Level |
Testing Performed At Enterprise Level |
● Functionality Testing ● Compatibility Testing ● Payment Gateway Testing ● Report Testing |
● Compliance Testing ● Performance Testing ● Interoperability Testing ● Data Migration ● Mobility |
To ensure quality of the POS system, proper POS software testing is mandatory. The POS testing spans many things like
Test Scenario |
Test Cases |
Cashier activity |
● Test the entry of items purchased by customer is correct ● Test discounts are applied correctly ● Verify store value cards can be used ● Check petty cash management works as expected ● Check totals and closings match ● Check cash drawer loans are handled properly ● Test the POS system is compatible with peripherals like RFID Reader, Bar Code Scanner etc. |
Payment Gateway Processing |
● Test the validity of CVV number of Credit Card ● Test swiping of cards from both sides and chips ● Verify that the captured card details are properly encrypted and decrypted |
Sales |
● Check for regular sale process ● Check sales can be processed with debit/credit cards ● Check for loyalty membership purchase ● Check for correct prices are displayed for merchandise purchased ● Test for "0" or null transaction ● Tie UPC or bar codes to vendors ● Test for billing details or shipping details in payment manager ● Test for reference transaction ● Test the print format of the receipt generated ● Verify that the correct code is generated for approved, hold or declined transactions |
Return & Exchange scenarios |
● Make sure the in-house inventory is well integrated with other outlets or supply chain ● Check for exchange or return of an item with cash ● Check whether system responds on exchange or return of an item with credit card ● Check system process the sale with receipt or without receipt ● Verify that system should allow enter bar-code manually incase scanner don't work ● Verify system display both the current amount as well as discount amount on exchange of item if applicable |
Performance |
● Check for speed or time taken to receive a response or send a request ● Check the transaction based rules are applicable (discounts/tax/ rebates etc.) ● Verify that the correct code is generated for approved, hold or declined transactions |
Negative Scenarios |
● Test system with expired card details ● Test with invalid PIN for credit card ● Check the inventory by entering wrong code for the item ● Check how system responds while entering wrong invoice number ● Test for negative transaction ● Test the responds of system while entering invalid date for promotional offers on line items |
Managing Promotions and Discounts |
● Test system for various discount like veteran discount, seasonal discount, undergage or overgage discount etc. ● Test system for various promotional offers on certain line items ● Test alert system that notifies end or beginning of seasonal offers ● Test whether receipt print the exact discount or offers that is leveraged ● Test system for allocating wrong offers or discount on line item ● Test the order management process ● Verify product data obtained after scanning barcode is accurate |
Tracking customer's data |
● Test for system response with incorrect customer data input ● Test system for allowing authorized access to customer's confidential data ● Test the database for recording customer's buying history like (what they buy, how frequent they buy, etc.) |
Security & Regulatory Compliance |
● Verifying POS system as per regulatory compliances ● Test alert system that notifies security defenders ● Make sure you can void a payment before posting ● Test user profiles and access levels on the POS Software ● Test database consistency ● Verify specific information about each tender cash, coupon identifier, check number and so on |
Report testing |
● Testing of trend analysis report ● Test information related to credit card transaction should be reflected in reports ● Test for individual as well as consolidated reports of customers buying history ● Test for online report generation |
Some recent studies have Point of Sale Systems very high security vulnerabilities. Following measures will help with security of POS
● Security testing in compliance with PCI standard is very crucial to be addressed as the part of enterprise testing
● Actively manage all software on the network so that only authorized software can only execute and installed
● Conduct regular Penetration Testing to identify attack vectors and vulnerabilities
● Include tests for the presence of unprotected system information and artifacts that would be useful to hackers
● Use vulnerability testing tools
● Create a test bed that imitate a production environment for specific penetration tests and attacks against elements that are not tested in production
● Multiple Configurations
● Complex interfaces
● Peripheral issues
● Upgrades
● PCI compliance
● Test lab maintenance