In recent years, automated testing has become a trend in software development. However, it is labor-intensive and expensive to implement and maintain. That is why automated tests should be used only when really necessary.
What are the reasons for test automation?
The most common way to evaluate the effectiveness of test automation is to calculate the return on investment (ROI) that is the ratio of profit divided by expenses.
Saving efforts on manual testing can be a profit as well. The benefits of test automation may not be apparent, e.g. finding defects in ad-hoc testing by manual testers, who have much free time thanks to test automation. This profit is quite difficult to realize, so you can make an assumption (e.g. 10%) or omit it.
However, test automation is not always implemented to save money or resources. The speed of testing can be significant for business for many reasons. Precisely in these cases automation helps save not money, but time.
Another reason is to avoid the human errors testing the systems that require extreme accuracy and correctness. The price of such errors can be significantly higher than the cost of automated tests development and maintenance.
When is automation suitable?
Test automation is appropriate and can be implemented in the following cases:
- the application functions smoothly;
- the functionality is tested regularly and frequently.
What are the initial data for effectiveness measuring?
To measure the effectiveness of test automation implementation the following input data is required:
- the cost (in man-hours) of manual testing;
- autotests development costs (in man-hours);
- information about the frequency of testing.
How is the effectiveness evaluated?
Usually, the time period for analysis is a month. But it can be changed according to the project needs. To begin with, calculate the cost of manual testing during each interval.
Then we estimate the cost of automated tests development. Also it is crucial to take into account the team size. Analyze the difference between the cost of manual testing (without automation) and automated testing.
What can affect the effectiveness of test automation?
- Frequency of test runs
Supposing that one test is run every day and requires 1 man-hour, the automation of the test takes 4 hours. It is obvious that on the fifth day autotests will become more effective that manual testing.
- Data-driven testing
Often one and the same test is needed to perform with a different set of input data or in different environments, e.g. cross-browser testing or creating a single entity with different data.
In this case, test automation with the use of data-driven approach is the best solution.
- Tester’s experience
A factor that greatly affects the cost of development is tester’s experience. The tester needs to have enough skills and knowledge to develop, maintain and analyze automated tests. Otherwise time and cost of automation increase.
- Tools cost
There are a large number of different tools for test automation. Most of the paid applications are better than their free equivalents and allow developing and debugging tests faster.
- Analysis and maintenance
While evaluating the effectiveness of test automation, most engineers forget about such important activities like the analysis and support of test runs. If there are a lot of autotests on the project, it may take a long time.
- Cost of test suits preparation
Often, test automation engineers receive from manual testers test cases that are not suitable for automation. For this reason sometimes it is necessary to prepare test suits from the scratch.
It is obvious that test automation evaluation allows you to answer the following questions: “Should we use automation on the project?”, “When will automation bring a significant result?”, “How many hours of manual testing can be replaced?” etc.
However, even after receiving the answers to the above mentioned questions, you should remember that automation can be introduced only when testing processes are stable.