visit
The test case's complexity: there’s one rule to knowing how complex a test case is. It’s by seeing if you need to execute that test case on various configurations (number of devices, OSs, platforms, browsers).
The test case's execution time and testing frequency: test cases that either take too much time to be manually tested or require the team to execute times and again should be automated.
The ROI of Test Automation: After evaluating the above characteristics of the test cases, then your team should sit back together and estimate their ROI after they are automated. Your best choices are those test cases that have the potential of high ROI when automated.
Whether the costs of automation testing do not outbalance its benefits: The benefits are simply the time, costs, and efforts you can save by using automation testing. The costs of automation testing can include implementation costs and maintenance costs.
Regression Tests (smoke test and sanity test, etc.): Performing regression tests every time a new feature or software fix is deployed would consume a lot of time and resources. This is why when teams discuss which test cases to automate, regression tests usually are at the top of their minds.
Performance Tests (load test, stress test, etc.): Performance testing takes a lot of time to achieve the required test coverage, and it’s also repetitive in nature. There are many other reasons to go for automated performance testing.
Security Scanning: You should automate test cases that have potential security problems to mitigate human errors and defects. Automation is also ideal for test cases with security weaknesses or code behaviors, such as encryption ciphers and SQL injection flaws.
Data-driven tests or tests on the AUT’s crucial features: because these 2 types of test cases are highly prone to human errors, test automation should be applied.
Integration tests, API tests, Unit Tests, and cross-browser tests,... are some other test cases you should consider automating.
Exploratory Testing: In exploratory testing, testers learn about the software, and get an understanding of what test cases to design and execute. It requires human testers to take time to investigate the whole process. So by definition, you cannot automate exploratory testing.
User Experience Tests (or Usability Testing): Though most automation tools today have innovative simulations, they cannot perfectly portray or predict all of the actions and emotions of the user when he/she uses the software. Therefore you want to leave Usability Testing to manual testers.
Intermittent tests and redundant, low-risk tests: unreliable test results are very likely when you automate these kinds of test cases.
Anti-automation tests: require real human interactions, including CAPTCHA, website forms, web-based SMS messaging platforms, etc. By automating anti-automation test cases, you make your software vulnerable to malicious attacks.
The feedback of end-users: After all, meeting end-user requirements is one of the most important goals of software testing. Thus after automating test cases, you should collect users’ reviews to evaluate your automation efforts.
The severity of defects: This is straightforward. Test Automation should reduce defects, not the other way around. Reporting is important in Automation Testing for this reason. You need to continuously report on bugs and other related issues when automating a specific test case.
The number of downtime and system outages: Another way to know if you are automating the right test case is by counting how frequently your product shutdowns or experiences downtime. This very data will help you identify areas where automation does not work so you can improve it.
Automation ROI: ROI is the one thing every stakeholder looks for when adopting test automation. ROI of Test Automation can be measured in terms of how efficient the process becomes, how much cost you can save, and how better the test outcomes are after you adopt Automation Testing.