What is POS?

A POS (point of sale) is a computer which is connected to a receipt printer, cash drawer, credit/debit card reader and a bar code scanner etc.  Retailers use an automated retail system where the store cash registers are linked to computer processing systems. Merchandise is ticketed with colored bar code tags, which are read with want readers at the checkout counter. The computer 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.

Why is ensuring quality of POS system through rigorous testing so important?

In competitive business such as retail, a POS can be a key differentiator. Good POS software package increases efficiency by eliminating unnecessary work and can manage the entire business. 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.

How to test POS?

As mentioned earlier, 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)
  • Performance: Speed or the time taken to send a request (read) and receive response and applying the transaction based rules (ex Rebates/Discounts/Tax 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.

What are the challenges in manual 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.

In the next blog post (POS Testing – Part 2)I will be talking about how Test Automation is beneficial, the different challenges in automation of POS and how to select an automation testing tool to surpass all those roadblocks.

KNOW MORE:

point-of-sale-pos-testing

divya.madaan

Senior Project Manager at Aspire Systems
Divya Madaan works as Senior Project Manager at Aspire Systems. She has 14+years of experience in Account Management, Project Management and Test Consulting. Majorly focusing on retail domain she has been providing testing solution to Retail clients with expertise in test automation. Apart from delivering multiple projects successfully she has been an active technical blogger and prominent speaker.