Table of Contents
Point of Sale System ( POS )
Point of Sale: A POS (point of sale) is a computer which is connected to a receipt printer, cash drawer, credit/debit card reader (Pin Pad) and a bar code scanner etc. which will be used in the retail shops for selling the product, Material Stock management & Accounting of that material.
What is Point of Sale Application?
The POS System accumulates sales transaction information on magnetic tape for daily input into the computer memory bank or storage system. It is input into the sales journal, which is rolled up into the stock ledger
If we consider Cashier Functions we have two options,
1. Front end which we can see if we visit in any of the mall
2. Back end for backend operations
Front End of POS application:
- UI part, which were handle by the executives/store Associates.
- Store associates should have Username and Password to login with that particular POS machine.
- Once they logged in, Store Associate can able to open the window and able to enter the details of Merchandise which is ticketed with colored bar code tags, which are read with scan readers at the checkout counter.
- In payment module, POS application have different options to choose credit card, gift vouchers, Gift cards, promotional coupons etc., once entering the details cash box will be unlock able to access the cash box.
Back End Operations
All the back end operations will be done between 12:00 A.M to 5:00 A.M. Updating promotional offers, availability of stock details, discount offers, Store level Changes etc., These information’s will be updated by releasing a patch file to store POS systems.
POS Testing
Checking the functionality which are incorporated in the application of POS with Dameon, Testing the mutual communication between the POS application and Dameon/Server.
Few POS Cashier Functions
01. CASH
02. CHECK
03. CREDIT NOTE
04. VOUCHER
05. COUPON
06. BANK FORM
07. ELECTR CASH
08. DOWN PAYMENT
09. DEBIT NOTE
10. CREDIT CARDS
11. CHARGE TYPES
12. FOREIGN CURRENCY
Why is ensuring quality of POS system as so important?
A POS can be a key differentiator. If the POS system doesn’t work as expected then grave repercussions might happen:-
- More man power might be needed due to unreliability and slowness of checkouts.
- Risks of incorrect inventory records and employee thefts
- Erroneous Sales reports would not provide correct inventory levels and hence controlling cost would become a challenge.
- Extremely difficult tracking of promotions, discounts, and coupons.
- Incorrect loyalty member data and hence loss of business due to non-repeating customers etc…
Clearly it is very important for POS applications to be reliable, scalable, easily maintainable, highly secured, and easily customizable by the customer and hence it demands a lot of focus on effectively testing the solution before it gets deployed.
Different types of Testing on POS Application
The test areas of POS application can be logically grouped into two sections:
- Application-Level Tests
- Enterprise-Level Tests
The Application level tests consist of the following test areas:
- Business Process Transactions
- Usability tests
- Localization/Globalization tests
The Enterprise-Level tests consist of the following test areas:
- Interoperability tests (with third-party peripherals testing)
- Performance tests
- End-Of-Day processes
- Usability Tests:
- Users of POS are typically non-technical store personnel. Therefore, it is necessary that the GUI of the POS software is as user-friendly as possible.
- Also, the flow in the application should be seamless, so that minimum time is spent in ringing in the order and printing a receipt. Retailers also prefer a minimum timeframe for training their staff on the POS system. Keeping all the above constraints in mind, usability tests on POS software are very essential. These tests assess the ‘ease-of-use’ factor of the POS system
- Localization/Globalization Tests:
- If the POS software is being deployed in different countries, where it is essential to use local language in the transactions, Localization and Globalization tests are necessary.
- Peripheral: Barcode Scanner: Bar code scanning provides for speed and accuracy at the checkout counter. Common scanners include hand-held (wired/wireless) scanners, table scanners (typically Omni-directional).
- Peripheral: Check Reader: Electronic Check Conversion converts a traditional paper check into an Electronic (EFT) check at point-of-sale (checks received in person) and processes it through the Federal Reserve Automated Clearing House (ACH) network off-line or the ATM network on-line.
- Performance Tests:
- In an enterprise setup, there are two essential flavors to a performance test:
-
- Scalability, Reliability and Fault tolerance of the back-office servers (which house the inventory data, and customer data.)
- Speed and accuracy of data retrieval and update operations implemented by the POS software.
Different Areas to be tested in POS Application
To ensure quality of POS software, proper testing of the application is very crucial. Just like any other application to test a POS, a good test plan should be developed too. To test a POS one has to focus on a lot of things, few are listed below:
-
- Cashier activity: This includes customer transactions such as the entry of items, tender, Store Value Cards, discounts and layaway. It also includes non-customer transactions such as cash drawer loans, petty cash, totals and closings.
- Store Server and Back Office Integration: Verification of POS interaction with store servers and back office systems. Register transactions can be verified against the Electronic Journal for accuracy.
- Platform check: If the POS supports multiple-platforms then verification of the functionality on the all the platforms should be part of testing
- Sales: Regular sale, Sale with credit/debit/gift card, return, exchange, loyalty member purchase, items, quantities and prices
- Manage return and exchange: Return and exchange of an item with different tenders (cash, credit etc.), with and without receipt
- Discounts and Promotions: Item % discount, military discount (applicable in US), line item discount etc.
- Loyalty Members Data:The system keeps track of what your customers are buying and who they are. It keeps track of what’s selling, at what times of day or week, to which types of customers and by which sales people. The data collected from POS terminals is useful in planning of long term strategies. A good POS System will also have reminder dates for each customer so you can call or e-mail them prior to an anniversary or birthday.
- Ability to Read a Card:There are various types of cards in the industry today. (Magnetic Stripe, CAV, etc)
- Negative Scenarios:Various transaction declined scenarios (Invalid Card/PIN/Expired Card etc.)
Talking about software testing, this field can be broadly divided into manual and automation testing. Each of which has its own pros and cons, however, as software testers are becoming well versed with latest automation technology, manual testing has started to take back seat in many cases. Let’s study them with respect to our subject at hand i.e. POS.
Challenges in testing of POS
Testing a POS software package manually can lead to many challenges:-
- Multiple Configurations: Testing a POS application with different settings and configurations is a cumbersome task. Test cases should be designed covering each and every scenario (positive or negative) in detail. Therefore significant budget should be put in testing of such applications to prevent any major issues at the customer end.
- Peripheral issues: The peripheral issues may be related to devices which are connected to a POS like barcode scanners, scales, printers, towers and cash drawers.
- Complex interfaces: Integration of POS System involves numerous interconnected systems and third party elements. Systematic test design techniques are followed to reduce the complexity of interfaces
- Test Lab Maintenance: As a significant amount of hardware is normally connected to a POS, so it requires a large amount of space to house this hardware. You also have to put some effort and expense in to keeping the hardware is in good repair.
- Upgrades: Rapid technological advancements necessitate a frequent hardware and software upgrades which requires more infrastructure.
- PCI Compliance: Care must be taken to adopt of PCI-compliant, tamper-proof infrastructure at all POS terminals to protect cardholder data and identity.
POS Automation Testing Scope
Test automation frameworks reduce time to market and testing costs while increasing and improving test coverage, product quality, and end-user acceptance. Companies that increase the proportion of automated testing have a decisive advantage over their competitors.
Test automation is a strategy to reduce timelines, cut costs and improve quality. But before we reap the benefits of automation we have to make significant investments. It is also possible to calculate the possible returns of the test automation investment. Based on the inputs (such as releases planned per year, number of regression test cases, size of manual testing team etc.
What are the challenges in automation of POS?
We should consider the fact that 100% automation may not achievable. While developing test automation strategy for POS one might face few challenges:
- Interaction with Peripheral devices:The scenarios covering scanning a bar-code, swiping a card, pin-pad-entry, opening and closing cash-drawer etc. involve peripheral devices which require human intervention. Such scenarios are difficult to automate.
- Custom UI Objects: The UI of POS applications might contain non-standard objects which are difficult to be recognized by an automation tool.
- Dynamic UI:The UI is often highly dynamic to allow it to cater to the changing business needs. Also, business processes are frequently modified and the cost and time required maintaining an automated regression test suite increases steeply and in some cases becomes infeasible to maintain.
- Multiple Configuration and Interaction with other interfaces:POS application generally interfaces with the external systems such as Sales Audit, CRM, and E-Commerce etc. The test cases require interacting with such applications as well which increases the challenge and the complexity.
These are not roadblocks, solution providers having good experience in automation testing have devised ways to come over these constraints the challenge can be overcome by using simulators instead of the peripherals, but this is a Cumbersome and expensive option.