Middle
What criteria do you use to decide which tests to keep for manual testing and which to automate?
sobes.tech AI
Answer from AI
Start with an analysis based on the testing pyramid (Unit, Integration, End-to-End). Automation is effective at lower levels (high speed, less fragility). E2E tests are automated selectively, as they are slower and more fragile.
Automation criteria:
- Frequency of execution: Tests that are run often (regression, smoke) are beneficial to automate to save time and reduce the risk of errors due to routine.
- Stability of functionality: Functionality that is not planned to change radically in the near future. Frequent changes in interface or logic may require constant reworking of automated tests.
- Complexity and repeatability: Complex, monotonous sequences of actions that are easy to miss or perform incorrectly manually.
- Volume of data: Tests that require verification on a large set of input data.
- Execution time: Operations that take a long time to perform manually.
Criteria for leaving tests manual:
- Exploratory testing: Requires a creative approach, intuition, and unpredictable scenarios. Difficult to automate.
- Usability testing: Evaluation of user experience, interface perception, which is subjective and not easily formalized.
- Look and Feel testing: Checking pixel-perfect layout, color schemes, fonts. Automation of such checks is often fragile and requires complex logic.
- One-time functionality testing: Functionality that will be used rarely or is temporary. The costs of automation may outweigh the benefits.
- Functionality with frequent changes: If functionality is constantly being refined and changed, automation may become ineffective due to the need for constant maintenance of automated tests.
- Tests requiring human perception confirmation: For example, checking the quality of images, videos, sound.
Decision-making also depends on available resources (time, budget, team qualification).