Conducting regression tests is an essential stage of implementing an application. Doing it manually is a time consuming and tedious process. Due to frequent changes and improvements that can influence behaviour of an already tested elements of an application, the process must often be repeated many times. Despite implementing various strategies to minimize the scope of regression tests, conducting them on time is a challenging task for the team. Performing the same tests multiple times, often under time pressure is a problem as well – especially since it makes them less accurate and does not check the application thoroughly enough.
Testing an application through the user interface is not always the best solution. Usually, the application logic can be checked much faster and in a wider range on the API level. The cost of disclosing and avoiding errors is much lower, if a proper test structure is applied. Manual testing does not allow for such strategy to be used.