Automated testing, if used correctly, can provide many benefits and benefits to a project. On the other hand, it has certain drawbacks and pitfalls that we should be aware of. In this article I will try to make out all the advantages and disadvantages of automated testing.
Automated tests are a great way to confirm that an application is still functioning properly after changes are made to it. It is possible that after adding a new function to the application or fixing a bug, a new bug is added to the application, i.e. we can talk about a regression bug.
By completing the regression test run, we can quickly catch the bugs introduced by the new functionality, which will allow us to quickly identify the problem module. In this case, it is important to run tests after each build in order not to miss anything.
The second advantage stems from the previous one. Using automation testing , developers can quickly and without the involvement of testers find out whether the functionality implemented by them is working correctly, if, of course, tests are run immediately after the build. It should be remembered that when using the API, the speed of passing the tests is significantly increased compared to the use of the UI.
Saving human resource
Passing automated tests takes some time, but still it is faster than testing by testers manually, especially when it comes to regression. While autotests are running, testers can perform tests not covered by automation.
Opportunity for developers to contribute to tests
For the most part, tests are written in the same language as the application. Therefore, developers can participate in writing autotests. Personally, I am not a supporter of such assistance and I think that developers should not be involved in the preparation and writing of tests, although the situations are different. Ideally, of course, only limit the exchange of experience.
Disadvantages of test automation :
False confidence in quality
Automated tests only check what they have been programmed for. The test can pass successfully, and the defect go unnoticed, and all because the test was not programmed to catch this bug. Before automating the test, make sure that the script for it is compiled correctly.
Automated tests can fail due to many factors. Such a factor could be a slight change in the UI – interface, a drop in service, problems with the network, and the workload of the test machine. If possible, try to minimize the number of such factors.
Automation is not a test.
Automated tests are just programmed steps for executing a script. Many who are faced with automation for the first time want to automate all test cases to get rid of manual testers. In fact, this is impossible. There are features in testing with which auto tests will not cope.
Writing automated tests takes time. Time will also be taken away and kept up to date. If you do not update the tests, then in regression, with a sufficient number of them, there will be a lot of falls and all their advantages will come to naught. You will have to sort out the flew tests from not updated, which takes a lot of time.
Sometimes, after the first build with the new functionality, writing autotests takes more time than a manual run. Here we must proceed from the situation and priorities. If possible, try to start writing tests at the same time as the developers are writing a new functional. You can make some kind of blank / skeleton, and then add the necessary checks or locators after the build.