How to Test Point of Sale (POS) System – Restaurant POS Testing Example

What is Point of Sale (POS)?

POS alias Point of Sale is a place where transactions take place. You can see POS systems in Retail Stores, Restaurants, Hospitals and almost everywhere these days where payments are involved.

Most of you may very well understand what a barcode reader is or a wireless payment device is (the most used devices for payment transactions) but POS, in reality, involves a lot of components and each of the components needs to be integrated well for it to run successfully. 

In today’s article, I am going to write about what makes POS testing different from others. I have also incorporated testing tips throughout the article to make this helpful for our testing community.

Let’s look at:

Recommended reading => How to Test an eCommerce Application

What You Will Learn:

What Makes POS Testing Different:

POS System Testing looks complex, but it is not that tricky for those who understand the concept well. It is interesting because you get a feel of sitting in a store and executing your test cases since POS requires setup as you would see in any stores.

This makes it different when compared to sitting in your cubicle and running some checks in a web app. Organizations dealing with POS system testing maintain separate labs.

What are the challenges in POS testing?

POS Architecture:

Each of the terminals in a store is connected to a file server. The settings or the main configurations get done on the server and then pushed to each of the terminals in the store. The XML’s or batch jobs are used to do such updates.

For large retail stores or chain of stores, none of the changes are done locally. Since POS systems accept Card payment, they are integrated with the third party providers who mainly do credit card processing, so whenever a credit card transaction takes place, data is sent to the third party or banks for authorization.

(Click on image for enlarged view)

Image Source

POS Physical Components and How to Test These:

#1) Terminal – Terminal is the main screen which is used to enter the details of the transaction. These are mostly touchscreen devices. All the configurations, be it related to Product List, Pricing, Promotional Offers, Payment Modes, gets pushed to the terminal. This is the main device used at any POS.

#2) Display Pole – Display Pole is the device which displays the item price once the product is scanned using the barcode scanner.

#3) Barcode Reader – Barcode Reader is used to scan the products. After the scan is complete, a check is done in the backend to verify if the item exists in the inventory list and also retrieve item price. Once the item gets sold the inventory is updated to reduce the available number of units.

#4) Cash Register – Cash Register is used to storing Cash. For any cash transaction, the cash register opens immediately for cashiers to accept the cash from the customer and also return the balance amount if any.

#5) Handheld Device – Handheld devices are wireless devices which are used to accept credit card payments. These make it easy to get user authentication by carrying the device to the end user directly, where users can enter card pin.

#6) Printer – Printers are connected to each of the terminals and are called as register printers, these are used to generate the receipt after each transaction.

#7) Magnetic Swipe Reader – MSRs are used to swipe cards used for payment which can be debit, credit or Gift Cards. This is mostly used in retail stores or restaurants, but with changing times, where a user is required to key in the PIN for payment, at many places you would see that a wireless device is used for accepting card payments.

Also read => 7 Types of Software Errors That Every Tester Should Know

Levels/Functions of POS:

There are basically 3 levels or functions involved in POS.



Level #1) Application Level/Front Office Functions:

1) Sale Transaction – The main purpose of any POS system is facilitating transactions –

2) Payment – Payment is yet another important area in scope for testers. This is due to the vast range of payment modes accepted by POS.A POS allows payment through Card, Cash, Gift Cards. They also accept certain coupon codes, discount vouchers.

Level #2) Back of House Functions

1) End of Day – End of Day is the most important activity done at the backend. During EOD, several reconciliations are done and backend systems are updated.

Several summary reports, including the daily sales reconciliation, get generated and sent to stakeholders because this gives an indication on how the day was in terms of sales. Also, a summary is sent to the banks for all the credit card transactions done during the day. Inventory system gets updated to reflect correct stock balance.

This forms one of the major areas for test. Important scenarios which can be included as part of EOD testing can be:

2) Employee Scheduling – Another important BOH activity involves the scheduling function which mainly deals with creating a work schedule for employees. Employees should clock into the system as per their schedule.

Scheduling can be done manually or using an automated way by using data from past sales patterns and project labour requirement. The scheduling is a backend activity but the validation happens in the front end when the employee tries to clock in.

3) Inventory Management – Another important area is the inventory management. Store Managers mainly require such systems to track products through each stage of the inventory cycle and also to have an idea before an item falls below the stock level.

Hence, Inventory systems are designed so that managers can order right product at the right time, in the right quantity from the right vendor and at the right price.

Test Validation should incorporate:

Level #3) Corporate Level Functions

Corporate Level Functions doesn’t require you to sit in front of the POS system to do them but they are done using any laptop/desktop with the app or software installed but they are in some or the other way integrated with the POS systems. If corporate functions are done using a web application, there will be a mechanism that will push the changes or settings to the POS.

1) HR and Payroll – HR and Payroll system deals with employee recruitment, maintaining employee salary/wages, labour laws, Tax Details, Employee Availability and Employee Leave.

Mostly the payroll maintenance happens with a third party like ADP etc. hence the integration needs to be tested well. The HR activities mostly are maintained in-house. Payroll becomes a separate huge area for testing as it requires all sorts of calculations before an employee’s paycheck amount gets finalised. It forms a huge scope for testing.

2) Finance and Accounting – Finance and Accounting system is the one that requires the reporting. P&L statements, planned budgets, variances, stores daily sales, etc. All these details are required by accounting team to ensure whether the POS store is on track or not.

A lot of decisions are taken based on these report’s analysis. Say, if the team decides to open a new store, based on historical data and analysis, the accounts team approves the budget and the area where the store could be opened. Also, such details help them find the areas for improvement.

3) Vendor Management – For the supply of goods, any retail industry would require vendors, now evaluating the right vendor who provides a reasonable pricing and to monitor their performance is all taken care by the vendor management system.

From testing perspective, below important validations can be done:

4) DW and BI – Data Warehouse enables any industry to store and keep details on the transaction for years which can be used to know the trends, formulate buying patterns, etc. Business Intelligence tools are used to retrieve this huge amount of data from different systems and give the end user an opportunity for analysis.

DW systems get updated from the data that comes from the POS systems. Hence, from testing needs, this again is critical for testing. Many organizations use BI tools or some develop in-house analytics. But in both cases, testing is required.

DW and BI systems help people at the corporate level by simplifying report generation and customizing reports as per their needs, it also helps a better performance tracking.

Conclusion:

I hope this article explained POS testing in detail. I have another detailed article on how POS system testing can be done for the restaurant industry.

Restaurant pos systems Testing Example:

=> Please read Restaurant POS systems Testing article here to understand more about POS with an example.