Testing and reporting lead to innovation at speed.
When approached by a multinational company with more than 100 years of history innovating and embracing technology, we were instantly intrigued. And while they focus on the latest advancements to make consumer’s lives easier, we focused on helping them make that happen. Traditionally, they were testing code manually which is a slow, error-prone process. Find out how we utilized a QA automation framework to not only yield immediate improvements, but eventually to multiple microservices like registering appliances, tracking consumable consumption and new revenue streams using Amazon Dash Replenishment, Apple Pay and Google Pay.
The client is a global leader in appliance manufacturing, with more than $20 billion in annual sales. A Fortune 500 company with nearly 80,000 employees and 60 manufacturing and technological research sites, they market major name brands in nearly every country around the world.
Before creating endpoints we went back to the start.
RIIS was originally contracted for assistance creating multiple API endpoints. But first, we took a look at things from the beginning. The client’s testing team was conducting test manually and relying on outdated information and payloads. Additionally, they lacked a code repository setup to share postman collections, payloads, and other tests to be sure everyone is testing and reporting the same way. To save time and deliver fast and accurate results, we built a QA automation framework to test the API endpoints we were building, perform database validations, and automate testing via a web browser.
Going from manual to automatic.
Much like manual vehicle transmissions, manual testing of code is quickly becoming obsolete. And for the very same reason, it’s not nearly as efficient. We were able to automate approximately 90% of their 120 testing scenarios consisting of more than 3,000 steps and validation points. Manual testing would often take multiple testers multiple days to complete. With our testing framework, the same scenarios can all be tested within a few minutes with detailed and easy to understand results. We can also tell if a build is successful within minutes. Most importantly, a single tester can reuse, share, and update the tests so everyone is testing and reporting using the same standard.
This is only a test. Actually, it’s much more.
By containerizing the testing framework, we unlocked many benefits in the moment and for the future. It immediately allowed us to quickly set up the framework for the QA testing team, the deployment process, and any future projects. Containerized applications allow for an easy handoff with little to no additional setup. With containerization the environment and code ship together, reducing much of the maintenance. It also decreases reported false defects, allowing the team to focus on more important tasks within the scope of the project.
Microservices lead to big gains.
Beyond the project at hand we were able to assist in implementing our automated tests into their other deployment processes. And, with testing locked down, we helped create multiple API endpoints that deal with appliance registration and the display of consumer account information. Even more interesting, we created microservices that monitor the consumption of appliance consumables like liquid detergent, clean washer tablets, and dryer sheets. When supplies are low, replacement orders are triggered automatically using Amazon Dash Replenishment, Apple Pay and Google Pay. These microservices represent additional revenue streams, and will be leveraged by iOS and Android mobile apps that are currently in development.
Key technologies used.
We designed the framework using Python, and utilized a reporting dashboard called Allure. For a behavior driven development language we turned to Cucumber. Behavior driven development (BDD) allows expected software behaviors to be specified in a logical language that less technical employees can understand. It uses English sentences instead of programming languages to trigger actions and tests the outcome. This allowed us to quickly create test cases that can be transitioned to other programming languages in the future. To containerize the testing framework, we used Docker.
How did we do it?
Scrum and Agile methodologies were used extensively with daily scrums and two-week sprints. We also performed reviews and retrospectives at the end of every sprint, planning session and backlog grooming. There were X total sprints for this project, and they were executed over a period of XX weeks.
Key Services Provided:
- Agile Methodology
- Quality Assurance
- Automate Testing