What to Automate?
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 few generic tips.
Test cases to be automated
- Tests that need to be run against every build/release of the application, such as smoke test, sanity test and regression test.
- Tests that utilize the same workflow but different data for its inputs for each test run (data-driven and boundary tests).
- Tests that need to gather multiple information during run time, like SQL queries and low-level application attributes.
- Tests that can be used for performance testing, like stress and load tests
- Tests that take a long time to perform and may need to be run during breaks or overnight. Automating these tests maximizes the use of time.
- Tests that involve inputting large volumes of data.
- Tests that need to run against multiple configurations — different OS & Browser combinations.
- Tests during which images must be captured to prove that the application behaved as expected.