One test automation, please

test automation software development

Test automation is an essential part of product development

An essential part of a software development project is testing the solution under development. Testing can be done both manually and by relying on test automation. In the latter case, a test robot is hired to execute a predefined program sequence, testing the system and its functionalities. The purpose of testing is to ensure that the system works as intended and meets the quality requirements before it is released to the market. Testing often involves a large number of technical features and regulatory, safety and business needs and requirements.

The popularity of test automation continues to grow rapidly and there is a wide range of commercial and open source test automation tools and solutions on the market. One of the main advantages of a test robot is that it always does the job the same way and in the way it is programmed to do it.

Test automation is not a substitute for humans

While we talk about automation, we must remember that we still need people. A human, at least for now, has to implement the test automation itself, including the environment and the tests (scripts) to be run. However, a test robot is tireless, does not require a salary and does not make mistakes. If properly exploited, the move to test automation can bring significant cost savings.

However, it is not worth trying to automate everything, manual testing is still needed. Roughly speaking, the efficiency of test automation is the ratio between the number of executions and the number of performance runs. The more times the same test can be executed without modification, the higher the efficiency achieved by automation.

Test automation, when well implemented, works silently and invisibly in the background. Findings, deficiencies and reports can be made available in the people service channels, where they can be read shortly after the test is run. The level of automation can be raised even higher, thanks to rapid technological advances.

On the other hand, rapid development also brings challenges, such as reconciliation. The work involved in this, in turn, reduces the profitability of automation. High levels of automation can also create the illusion that test robots can replace manual testing by humans, or even replace it altogether. This is far from the case, as automation tools also need to be maintained and tests need to be updated. For test automation to add value to an IT project, testing must be based on a clear strategy where the customer’s needs, the business and the project to be carried out are well understood. In this way, the potential and benefits of test automation can be assessed and harnessed effectively.

What should test automation be used for?

You should allow enough time to plan and carry out the tests. The use cases are evaluated against the test cases and the tests themselves. Almost without exception, the first round of testing is done “manually”. A “happy case” is made for the test, the checkpoints and the “adjustments” required by the robot are tweaked. As development progresses, more and more versions of the software package are created. As the same tests are run over and over again, the test automation is refined and begins to support the customer’s business. This improves the overall quality of the software and, in the long run, the use of test automation also increases the overall quality of testing.

Test automation is particularly suitable for timed testing and regression testing. Testing should be performed at times when the system or application is in the most stable state possible. During the working day, coders, testers and business staff all work on a development project. Outside of the working day, such as at night, test environments are often quiet, allowing the test robot to work in peace and run large numbers of tests. In the morning, the development team is then faced with fresh test reports that can be used as a basis for bug fixes.

Another example could be a situation where 8 hours of continuous testing with 50 testers is required. Finding the resources for such a massive test can be challenging. However, with ten test robots, the work can be done smoothly and several hundred or thousands of test runs can be performed in the same time. Are you taking advantage of the potential of test automation?

Markku Kestikievari
Leading Testing Consultant

Markku is an experienced testing professional. He has worked in various testing roles in customer projects and has led several testing projects. Markku has decades of extensive experience in the IT industry.