The client is a global retail technology provider who offers a multi-platform Point of Sale (PoS) system to enable a high standard customer buying experience for retail, leisure and hospitality businesses.
Business Needs and Objectives
Following the introduction made by our business partner TestPlant, the client engaged with QualiTest to deliver Test Automation services using TestPlant’s eggPlant Functional tool suite. The client needed guidance and consultancy to educate their in-house team on automation using eggPlant as well as to ramp up the initial test script creation effort.
The client goals included:
- Study the system and test environment, then use that analysis as a basis for devising a test automation strategy, process and plan for transforming their existing manual cases
- Continuously deliver version-controlled test cases and assets throughout the engagement, expanding the automation coverage
- Establish a framework of test execution and reporting
- Deliver eggPlant Functional training to technical resources from the client, and handover of the test automation knowledge to the client’s permanent staff
QualiTest proposed having a full-time automation consultant responsible for delivering automation assets on a daily basis. QualiTest was also responsible for leading the following processes: designing the strategy, process and framework for automation, providing code reviews on deliverables and technical accountability, and advising on industry best practice.
QualiTest distributed daily progress reports and weekly service dashboards to enable continuous visibility of automation scripts delivery status and service progress. The service dashboard also highlighted main achievements, issues, needs or blockers during the week and key tasks planned for the next stage. QualiTest also held weekly checkpoint meetings with the client to encourage fast detection of issues and maintain a strong, collaborative relationship between service stakeholders.
QualiTest delivered a reusable code infrastructure comprised of two suites of ePF source code to accelerate the delivery and code maintenance. A lower level functional suite has scripts where each presents one of more behaviors of an object. A second suite holds execution-level scripts which call functions from the lower level to perform end to end test scenarios emulating each of the original manual scripts.
Where suitable, data input into individual scripts was abstracted into flat .csv or .tsv files. This abstraction enables the automated solution to be data-driven so that different test runs can explore different combinations of test data without needing to alter test scripts themselves.
All delivered ePF scripts were stored on the client’s Team Foundation Server (TFS) instance. All scripts implemented by QualiTest were peer reviewed by the solution delivery manager and signed off by the client as an automated counterpart to the manual scripts provided. The source code is under version control and was shared between automation consultants.
A Senior Automation Expert from QualiTest provided ePF automation tool training. The Automation Consultant handed over Way-of-Working to the client. Training documents and detailed handover notes were also delivered.
By the end of the engagement, QualiTest automated 40% of test cases from the manual regression pack, and achieved 75% of functional scripts coverage. The client was satisfied with both the quality and quantity of the service delivered, providing them with a stable launchpad for further automation, both with QualiTest and independently going forward. Automation allows for test cases to be run overnight, improves the level of verification, and ensures that manual testers don’t start skipping tests after lots of repetition.
Benefits from QualiTest’s managed testing automation services include:
- The client received expedited test automation implementation at a fixed price service
- The client was provided with constant access to an expert level test resource
- Due to automated functionalities, the client can now self-sufficiently perform regression testing on a regular basis, especially before main releases
- Re-usable code and a data-driven infrastructure enable the client to easily assemble and maintain test cases on their own