Test Automation: The automation of functional test
The current technology allows, through specific software tools, to automate the tests, allowing their execution and minimizing the professional resources. It is necessary to make a first distinction between the automation of functional tests, which intervenes on already existing functional tests (test scripts) to increase cost-effectiveness, and the automation of performance tests, which can be realized almost exclusively by means of automation tools.
Functional test automation is used in software development and maintenance supplies with the aim of obtaining better results from the test. It is opportune to make some clarifications, in order not to run the risk of obtaining the opposite effect: it is in fact necessary to evaluate when, how much and which automation is really useful to bring real economic benefits.
As a general indication, it should be remembered that, in terms of efficiency and economy, the automatic tests are more suitable for detecting errors during regression tests, while the tests conducted manually are more suitable for finding errors at the first executions.
Moreover, the automation of the test requires a greater initial investment than the manual test, if commensurate with its first executions, while once implemented it will offer significant economies of scale for subsequent executions, even considering the maintenance costs connected.
The added value deriving from the automation of functional tests is proportional to the accuracy with which the tests were designed. In fact, the quality of test design is independent of quality
automation, which intervenes almost exclusively on the attributes of economy of the phase itself and not on its effectiveness and exemplariness. The final effects can therefore be amplified in positive, but also in negative, because a poor result provided by manual tests can produce, if automated, only a worse and more expensive result.
For these reasons it is essential that the method, strategy and criteria for the automation of functional and non-functional tests are defined in the test plan.