Team Share: The Impact of QA Automation on a Recent Project
- Derek Thompson
- 3 days ago
- 2 min read
One of our clients in the Energy and Environmental sector was a prime candidate for QA automation services. The application itself has a handful of entities, each of which semi-dependent on another. For example's sake, think of them like "wood", "door", and "house". You need wood to create a door, and then doors to create a house. Therefore, any testing of a house requires setup of wood and doors. By implementing automated tests and tools around the first entities (wood), we then could harness those tools for manual tests for testing the next entity (doors). As manual testing is done on doors with the help of these tools, we also start to write tests and tools for doors, thus setting us up for the next entity, and so on. This process ensured that we were exercising the application constantly both in an automated and manual fashion, and proved to be quite an efficient way to find bugs as this development process continued.
This process continued until we had tests that covered each entity, which in turn provided us with the capability to then setup and automate complex end-to-end tests. With this in place, we could start to fully automate business logic that spanned many parts of the application. Additionally, we now had a full set of regression tests that we used to ensure each new deployment to our testing environments didn't have any regression - and if they did, we were able to report them quickly.
All in all, we had about 200 tests that took roughly 15 minutes to run. As a tester doing those same tests, it would of taken at least a day to go through each test in the detail automation was checking it, in the 3 browsers we were targeting. This meant that development could release iterative changes quickly to us, and we were able to regression test the entire application after each small change, and we were in a position to do a production release at nearly any time. The tools that were built for the tests proved to be a huge time saver for manual testing as well, and were additionally used to assist development in verifying imported data to the system. While implementing automation in tandem with manual testing efforts, we slowly built up our suite of tools, thus building our coverage as we tested, and off-setting the up-front cost of building these tools by incorporating them into our overall QA effort for the project.