The automation requirements define what needs to be automated looking into various aspects. The specific requirements can vary based on product, time and situation, but still, I am trying to sum-up a few generic tips.
Test cases to be automated
- Tests that need to be run with every build of the application (sanity check, regression)
- Tests that use multiple data values for the same actions (data driven tests)
- Complex and time-consuming tests
- Tests requiring a great deal of precision
- Tests involving many simple, repetitive steps
- Testing needed on multiple combinations of OS, DBMS & Browsers
- Creation of Data & Test Beds
Test cases not to be automated
- Usability testing – “How easy is the application to use?”
- One-time testing
- “ASAP” testing – “We need to test NOW!”
- Ad hoc/random testing – based on intuition and knowledge of application
- Device Interface testing
- Back-end testing
Prioritize those tests that are to be automated, give them weight on risk and ease of automation. Also, make sure you keep a right balance of unit tests and automated functional tests. You can then place them into priority order and plan accordingly.