Gartner has also predicted that by 2023, 75 percent of IoT system integrators will have added comprehensive end-to-end IoT solution testing services to their portfolios.
We all know that e-commerce websites have gained popularity globally in recent times. One of the primary reasons behind this popularity and surge in e-commerce websites is the continuous digitization of the retail industry and change in consumer behavior. However, to a surprise, as per the industry statistics released by Forbes, only 10 percent of sales happen online, and still, 90 percent sales happen through stores. Talking about the grocery sales, just 2 percent of sales happen online.
As per a recent American Customer Satisfaction Index (ACSI) report, satisfaction levels of the customers visiting retail stores have also declined. Customer satisfaction is of utmost importance for every retailer, and the below parameters help to measure customer satisfaction from a retailer’s point of view:
- Quality of service and
- Speed of transaction
Test automation is one of the solutions that can help in the overall improvement of customer satisfaction by improving the coverage and quality of applications.
Gartner has also predicted that by 2023, 75 percent of IoT system integrators will have added comprehensive end-to-end IoT solution testing services to their portfolios. With the advancements in technology, test automation tools have also become advanced. Some customers are spending a massive amount of time and effort in building solutions that use Artificial Intelligence (AI) and Machine Learning (ML). Many organizations, too, can be seen adopting Agile and DevOps these days but still facing many challenges in automation. Complete benefits of Agile and DevOps can be obtained only if the organization has enough test automation coverage. In the case of the retail segment, it is a bit worse due to the challenges because of hardware.
“Automation of testing process can help save approximately 70 percent of cycle time during regression testing”
Multiple Devices to Deal with for Automation for POS System
Today’s retail stores have different types of devices like mobile self-checkout solutions, which enable the customers to make purchases quickly through mobiles. One can even find fuel pumps and ATMs where transactions are made easily and quickly.
Not only devices but many new Point-Of-Sales (POS) software are also available in the market. It is estimated that there is at least 50 POS software available in the market. Operating system by Toshiba, known with the name 4690 (initially called IBM 4690) is the most popular operating systems for point of sale. GK Software, NCR, PCMS, Wincor-Nixdorf, and several other software are also available for the organizations to use.
Even after so many open sources and commercial POS automation tools available in the market, these tools still don’t directly support automation of point of sales. This is one of the reasons behind many customers not being able to achieve success in automating of POS.
Point of Sale software runs on different types of operating systems. For example, NCR runs on Windows, Toshiba runs on its custom-built operating system. Devices like debit card readers, receipt printers, scanner scales, barcode scanners, display screen, and handheld scanners also interface with the POS software. So, this makes the companies select automation tools that can run on these operating systems.
Testing should be Aligned with Real-World Scenarios
The best practice to do testing, whether automated or manual, is to align with real scenarios, just like what a customer might do in a store. For example, simulators that replicate real-world scenarios of using a magnetic strip/ chip-based cards and scan a barcode or weigh an item on the machine can be used.
POS has numerous interfaces with in-house and third-party systems such as memberships, promotions, pricing, reporting, inventory and payments. Moreover, none of these are built using the same technology. For example, the pricing engine might be a mainframe-based system, and the payment system might be a mobile/tablet-based application. Moreover, the technology can also be a mix of open-source versus Microsoft stack or packaged application versus custom.
A typical workflow in POS consists of buying/ procuring an item, pricing and set-up in POS, customer purchasing the item by swiping a membership card, applying promotions, making payment and printing receipts. The purchase and transaction data is fed into a data warehouse or a reporting system. Testing of the end-to-end workflow using the automation tool can be quite challenging. A Point of Sales Automation solution that leverages microcontroller, OCR based tools, and Robots can help automate the testing of a point of sale system.
Building Blocks of POS Test Automation Solution Include:
- Microcontrollers for triggering events and KVM switches for event transmission
- Robotics arm for capturing receipts and performing actions on debit readers like the IntelliQA Pin Entry Robot
- Automated validation of receipts using computer vision APIs
- Test reporting platforms like Sealights with predictive analytics for real-time status reporting
- OCR based test automation tools like KeyLib or EggPlant Functional
“Though 90-95 percent of the testing process can be automated today, one also needs to involve manual testers for testing enhancements”
Test Automation Tools can be classified into Two Categories: –
- Object-based test automation tools which take information about the UI elements within the screen.
- Tools that work on Optical Character Recognition (OCR)
Among all the tools available in the market, TestPlant, KeyLib and RHISCOM are popular tools, which work with machines that are running point of sales software. KVM stands for Keyboard, Video, and Mouse. KVM switches are mainly used to control the application/ device. They serve multiple purposes like sending a command to the UI as well as receiving updates from UI for remote application. Microcontrollers are used primarily for mimicking keyboard strokes and help in barcode scanning. With the help of microcontrollers, one can send keystrokes to a keyboard.
The robotic arm performs payment terminal screen actions, Inserts/Removes Chip and PIN Card, etc. Receipt validation is essential, and once printed on the POS machine, it must be validated for the correctness of details printed on it. A combination of a robotic arm and a camera is required to accomplish this. The robotic arm will hold the receipt in such a manner, so a good image of the receipt can be taken for the validation purpose. The image is then saved as JPEG, and OCR comparison is made using computer vision APIs.
Along with all these solutions, there is a need to develop a mechanism to report the overall status. There are different types of inputs received, like data coming from the Automation Framework, tests cases from the Test Management Tool, and defects from the Defect Management tool. The data from test runs can also be leveraged to perform test analytics using a solution like Sealights.
All these inputs must be stored in a database and using a solution like Power BI. A dashboard must be created to present the same to customers or stakeholders in multiple ways.
- A dashboard that runs on mobile
- Web Dashboard hosted on a cloud or on-premise
- ChatBot to get the status of your release or application and provide insights
Automation of testing process improves customer experience and speed to market. By implementing the same, one can save approximately 70% of cycle time during regression testing. It allows detecting the defects going into production, improving test coverage, and reducing regression testing cost. The automation solution can execute 100 plus test cases in a day as compared to the manual tester who can execute 30-40 regression test cases.
The quick and 24*7 automation can never replace manual testers by any chance. It can be implemented when there is a defined test case or a scenario. Artificial Intelligence or Machine Learning or any other technology can never compete with manual testers in deciding what to test for the first time.
In the era of automated testing, manual testers still hold a central place. 90-95 percent of the testing process can be automated, and for testing enhancements, one needs to involve manual testers. So, one cannot simply ignore the importance of manual testers even when high levels of automation can be achieved. Instead of worrying about losing your job as a manual tester, it is highly recommended to upskill oneself by learning programming languages like Java, C#, or Python to stay relevant.
About the author
This article is an extract from a speech presented by George Ukkuru, Head of Quality Engineering, UST Global, at IOTSHOW.IN2019.