Automate for Efficiency: How Test Automation Does More than Spot Bugs
The faster our processes—as well as the greater the demand of consumers and applications—the more we need to consider using automated testing. Agile and DevOps require quicker iteration and shorter release cycles, and while manual testing is still a key part of the process, some form of automation can (and should) be used to streamline the procedure.
However, leveraging automation as a crutch won’t help you or your team spot every bug and produce high-quality software. In automation, the tools don’t do all the testing—they simply do what they are told to do by the actual tester.
Dorothy Graham, a software test consultant, spoke with StickyMinds about how to avoid mistakes in test automation that can reduce overall quality. One of her key tips surrounds using your tools is to automate some non-obvious tests:
... (I)f you have a tool that you're using only to execute your tests and compare your results, what about setting up the prerequisites for the test? What about populating a data base? What about the things that have to be done before the tests can start? What about cleaning up things that have to be done after the test is finished? If you don't automate these other things around the test execution itself, well then you're going to have automated tests embedded in a manual process. You don't want to have automated tests; you want to have automated testing, and the more things around the execution of tests that you can automate, the better.
Graham continues by comparing test automation to a GPS. Sure, the GPS is going to tell you when to turn, the best route, and how long your trip will take, but if you don’t enter a destination and give the device a clear goal, it has no real use.
It’s the same with automation. If you simply decide that it’s best to automate your regression tests with the hope of finding as many bugs as possible, the results won’t be to your liking. That’s not a clear goal or objective, and if your main reason for automating is to find lots of bugs, you could very well be jeopardizing the success of your automation.
You can create a handful of graphs and charts to illustrate why automation will produce a massive ROI, but it all really boils down to this: The purpose for automation is to make testing more efficient. Automation supports existing testers without actually replacing them, and if you implement it into your organization with that mindset and not one that overvalues squashing bugs, you can expect better results.