Knowing When to Automate Your Testing
Test Automation, used correctly, can bring several benefits to your organization but it is important to consider that automation cannot be used in all cases. During Test Analysis we can define if we can use Test Automation in our project, and during Test design we can select which test cases can be automated. It could be possible that Test Automation will not be used in a project at all, or that it will only be applied in certain test cases.
During the webinar, “How Google tests software”, James Witthaker, ex-Engineering Director at Google, stated that automation is useful when: results can be checked by a machine, no human judgment or cleverness is required, or tests are repetitive; otherwise, manual is the best approach. We need to analyze our project, to decide which cases are worth automating, and consider that even if we decide to use a Test automation tool, we will still use manual testing for several areas. For example, Google stated the importance of Manual testing in Chrome OS Test Plan: “Manual testing is also critical because a core value of Chrome OS is simplicity, and the UX needs to be pleasant and intuitive for the user. Machines still cannot test this.” (Arbon, 2012)
Be aware that in project where requirements are constantly changing, Test Automation can be time-consuming because we will need to update the test scripts several times. It is important to know when to automate in the project; in initial phases when requirements are not stable is not an ideal time. The other extreme is to automate at the end of the project; however, at this stage, there is usually a limited amount of time and testers tend to be focused on testing the latest fixes.
In general, we have to see Test Automation as a tool that will support our current test process, and will be used in cases where its use represents more efficient and effective tests.
This is part 2 of a 3-part series on testing automation.
- Part 1: Is Test Automation Right for Your Project?
- Part 3: How to Introduce a Test Automation Tool to Your Organization