The strategy for choosing between manual and automated testing is determined by many factors, including cost, goals, stability of functionality, and available workforce resources.
Background: In the early days of automation, it was believed that the goal should be to achieve 100% test coverage through automation. Over time, it became clear that not every check should be automated — some tasks are easier, faster, and cheaper to perform manually.
Problem: Automation is only beneficial when the same scenarios are run frequently and repetitively. One-time, rapidly changing, or subjective (visual, UX) checks are much easier to perform manually. The attempt to "automate everything" can quickly inflate the budget, and the benefits may be lost.
Solution: First and foremost, it is advisable to automate what:
Manual testing is relevant for:
Key features:
Is it beneficial to automate all tests in a project?
No, because many tests will change before they can recoup the efforts invested, and maintaining automation will cost more than performing the same tests manually.
Can manual testing be mandatory during a production release?
Yes, because some tasks (especially those related to UI/UX and visual regression) are difficult or impossible to automate adequately.
Is it worth automating tests for "one-off"/exploratory tasks?
No, automation takes time and resources that will not be recouped with a one-time or rarely used test.
The team decided to automate all manual test cases, including cross-browser testing on non-standard devices and visual layout checks. As a result, hundreds of hours were spent maintaining outdated tests over several months.
Pros:
Cons:
The team, along with the manager, formed a list of scenarios critical to the business (registration, payment verification) that were stably automated; everything else is tested manually or partially (using exploratory testing).
Pros:
Cons: