Practice makes perfect – everyone knows this saying. Let’s imagine that footballers play an important match without checking in neutral conditions how the assumed tactics works or practising individual skills. Therefore, it should come as no surprise to anyone that even the best teams in the world frequently play sparring matches during which they test tactics, perfect their shots, dribbling or precision of a pass. They are only people and checking themselves before the key games they have a chance to decrease the number of mistakes which can determine the team’s victory. Persons working at production and implementation of software are also just people – they need an opportunity to test the results of their work in neutral conditions, in particular, if their mistake can influence work of the whole IT department.
One of the most time-consuming moments during tests of new functionalities and corrections in applications, is integration tests. Verification of communication between the systems is made on an integrated environment in order to check complex processes which are conducted by many systems. Each day of these tests requires commitment of many persons – representatives of all engaged systems – and large work effort. Sometimes almost all teams are engaged in integration tests. Regressive tests automation allows for eliminating a necessity of the whole process progress manual testing – stages in which changes have not been implemented, can be checked automatically. In this way specialists spend less time on integration tests and can return to their proper responsibilities faster.
Test automation is also substantial convenience for business users who participate in acceptance tests. A business representative acts here as a functionality recipient who is to finally confirm that the application functionality delivered works correctly. Similar to integration tests the business user frequently faces a necessity to follow the whole process manually. It requires commitment and time and most of all, relieving him/her from current tasks related to the accomplishment of the work goals assumed. During such manual tests problems caused by mistakes from other projects often occur. Yet tests automation enables prior carrying the process to the stage in which the business user can verify the functionality ordered – without a necessity of an arduous and time-consuming procedure of following the whole process which at times takes even several dozen minutes. In this way testing a change in one process can be shortened from several dozen to a few minutes.
The most important benefits of test automation are, among others:
- considerable shortening of tests time,
- an increase in the quality of a code delivered for integration tests,
- a possibility of a parallel, not a serial detection of errors,
- an increase in work satisfaction among specialists.