Most mistakes in test automation are predictable and can be avoided by following best practices. Here's a handful of guidelines to help you achieve success with automation:
1. Increase test coverage gradually with automation
Plan for gradually automating your test suite. We recommend starting out by focusing on the flows that are easiest to automate. In most cases, you will find that it’s the relatively simple and very repetitive flows that, by far, take up most of your testing time.
2. Build automated test cases that each test for one thing
Build test cases so that they logically only test one aspect. This way, there is no doubt about what goes wrong when a test case fails. Instead of bundling up multiple tests in one test case, it is best practice to build reusable components with your test automation tool. This way, it is easy to reuse the logic contained in other test cases, and the time required to create a new test case is minimized.
3. Build automated test cases that are independent and self-contained
This way, they can all be scheduled at once to be executed anytime and in parallel, i.e. across different environments.
When it comes to test automation, we sometimes see test teams building and scheduling automated test cases with the mindset that they make up a sequence to be executed in a certain order. This approach works against the benefits that come with test automation; flexibility, agility, etc.
4. Ensure collective ownership of test automation
Remember that success with automation is dependent on a team’s collective knowledge. Adopt a test automation platform that all testers can work with, so that automation becomes a natural part of the daily work of all team members.
Most automation tools require users to program, which, for the teams using these tools, widens the divide between technical testers, who can code, and “non-technical” testers who can’t. The typical scenario is that the technical team members are being charged with implementing test automation, with little or no ownership shared with other team members.
5. Use a tool with a good technical fit
Implementing test automation is a long-term strategic choice and should be handled as such. When evaluating automation tools, look across your organization and identify all the applications and technologies that could be potential targets for automation. Identify the scenarios where test cases need to move between technologies, e.g. both web and desktop applications, and select an automation platform that has matching capabilities.