How A Fortune 500 Case Study Changed The Way We Do QA Automation
Agile transformation is more of a journey than just a process.
Whenever an organization decides to get started with the Agile journey, apart from defining processes, training the team, On-boarding the client, one of the many important factors is QA automation.
For many years now, several organizations have been successfully automating acceptance tests. However, with the growing demand for software to be made available on various browsers and devices, and shorter release cycles, we are forced to to automate visual tests too. There are many tools available which let you quickly configure and get started with automated visual tests, but there are some limitations and some challenges.
At Axelerant Technologies, we had the opportunity to build a website in Drupal 8 for a Fortune 500 company. The project required us to automate whatever could be automated, support several browsers and devices, and of course, perform Continuous Integration and Continuous Delivery.
It is said that quality is everybody’s responsibility. How many of us believe this? But whether we believe it or not, we would all certainly like to see this implemented in our projects.
In this session, we will talk mainly about two things:
-
Introducing quality from the beginning using the Shift-left approach (before the code is handed over to the QA team)
-
Completing both automated acceptance tests and visual tests with minimal effort (locally or on a CI)
We would demo (on a Drupal site) and discuss our approach, which mainly revolves around Data Seeding and then running all sorts of automated tests to ensure that regression free code is deployed and passed on, as opposed to deployment followed by running automated tests to find bugs. With this approach, we achieved the following benefits:
-
Automate once and run both acceptance tests and visual tests
-
Seamless Integration of Automated Visual tests with our pre-existing Automated Acceptance test Suite
-
Foolproof method to implement visual tests since we didn’t have to worry about the dynamic aspects of the page (no code written to handle this)
-
Fewer acceptance test assertions required
-
Proactive rather than reactive
Although this approach can be implemented using several open source tools, we used these tools (for reasons that we will be sharing during the session):
-
Behat (Mink and Drupal extension)
-
WebdriverIO (Visual regression service)
-
Travis CI