Software product testing in the process of which the main stages of verification are carried out using automatic tools (launching, initiation, conducting, processing the results, and drawing up conclusions) is called functional automation testing.
Like all narrowly focused products, software testing automation has its pros and cons. Accordingly, there are cases when automatic testing can be done and when manual testing is more useful.
• Repeatability: a guarantee that the created automated tests always follow the same algorithm, which cannot miss the required test in one of the cases of use.
• Fast result: requires less time as no need for a person to verify subtotals, to confirm the accuracy of meeting the requirements.
• Cheap: once developed software for testing needs less effort to analyze the obtained data. Same manual tests are done without loss in quality by the QA automation engineer.
• Easy to report: ready-made results are easy to process, and the reports themselves are easy to distribute to stakeholders.
• Free hands: a human tester, while the program is running, can perform other useful activities that are not subject to automation. It is allowed to conduct testing at a time when the load on the numerical resources is reduced (non-working hours).
• Repeatability (yes, again): repetitive tests cannot hook other elements than those for which they are written. A person, on the other hand, can notice minor inconsistencies and understand the nature of the error or make fixes.
• Support: although the costs for manual testing are higher, automated tests also need to be updated and adjusted. This is done to ensure that the functionality of the tests matches the level of the application being tested. As the complexity of the tested software increases, there is a need to update the code of automated tests.
• Development: writing, and most importantly – debugging and testing automated tests is time-consuming. After all, software for software testing is nothing more than the same software. Only the functionality is very narrow.
• Costs: a licensed copy of the automation framework can require a fair amount of money. And although free options are also widely used, their functionality often leaves much to be desired, and the license should help if the problem described in paragraph 2 of this list occurs.
• Minor errors: automated tests might leave minor defects unnoticed. For example, defects that do not harm the functionality of the code, but spoil the visual interface and complicate the work of the end user (shifted windows, grammatical errors, etc.).
As you can see, there is the same number of pros and cons. In each case, we need to compare the expected benefits and the future costs of automated testing. If the disadvantages are insurmountable for you, the only alternative is manual testing. But, it also has its cons.