Test automation is the process of using certain software for the purpose of controlling the implementation and execution of tests, comparing the results or outcomes of the same to those which were predicted or foreseen, preparation and set up of the preliminary conditions of the test, the interpretation of the results or outcomes that were derived, and such other functions involving the controlling or handling of the test. Using the above definition, a test automation tool is actually a piece of software that performs the usual steps that are involved in the implementation and termination of a test in the very same manner that it would be done manually – except that the whole process is automated.
Making use of a program to go through the testing process admits several advantages. One advantage is that the testing process is expedited, since a program naturally works quicker than the pace of a human tester. This will result in a lot of savings with regard to time. Another advantage is that the automated process, being quicker, will naturally result in more savings as to resources since there will be no more need to incur more expenses to support further procedures.
Another advantage of using an automated process is that there can be a higher degree of reliability and validity regarding the outcome of the same since the human factor is virtually eliminated, giving less consideration for subjectivity and possible margins of error. Another advantage is that with the use of an automated process, only one person will be able to implement the entire testing process since the bulk of the work will be handled by the program operations and that all the human tester has to do is to monitor the outcomes and make recordings, if necessary. It is also possible that all the human tester has to do is start and terminate the testing program, making for more convenience and efficiency.
While there are advantages to the use of automated tools, there are also disadvantages. In the same way that the human factor is virtually eliminated, this very same factor may have use in the interpretation of vague data that has been obtained. This will come into use when there needs to be a decision that will rely on common sense and instinct, rather than information recorded in black and white. Another disadvantage is that the use of automation tools may result in more errors, especially when the testing program is set up the wrong way in the first place. Another disadvantage is that the program must be set up by an expert. Ordinary testers, especially those who are not that literate in making use of computer programs, cannot be expected to know all the elements that contribute to the functionality of the tool.
Making use of a test automation tool is indeed both advantageous and disadvantageous. Either attribute has its own benefit, however, since everything will lie with how the results will be used. Also, whether there is automation or not, what really counts in the end is how the test was implemented, administered, and interpreted. In the end, whether automation was used or not, it is the integrity of the test that will matter.