It is difficult to automate all test test cases in given application testing scope or suite, so it is important to decide what test cases should be automated in order to minimize manual testing effort, cost and improves application quality. The benefit of automated testing is related to how many times a given test can be repeated. Test scenarios that are only executed a few times are better left for manual testing. Good test cases for automation are ones that are run frequently and require large amounts of data to perform the same action.
We can get the most benefit out of our automated testing efforts by automating:
- Repetitive validations that execute for multiple build iterations.
- Tests that require multiple and loads data sets. E.g. All Data Driven Test scenarios
- Tests that run on several different hardware or software platforms and configurations. E.g. Browser compatibility
- Frequently used functional scenarios that introduce high risk conditions.
- Tests that is dreadful to perform manually.
- Tests that tend to cause human error.
- Tests that take a lot of effort and time when manual testing.
Success in test automation requires careful planning and design robust framework for given test scope. Therefore, automation team needs to create an automation plan for given project by analyzing application scope and determining all functional test areas that need to be automated with project QA team members. First, we should define our project testing goal for automated testing and determine which types of tests to automate.
- GUI Testing: Is use to test a certain piece of the application’s UI
- Load Testing : Is perform when we need to know how a web service responds under a heavy workload.
Assume the above points will help you make a decision whether to use test automation on future testing tasks. Whether you are beginning to consider of discovering test automation or already have an automation test suite in place and are considering enlargement, it always aids to continue to assess how test automation will help to fulfill our testing goals. By choosing carefully those things that we will automate, and building with maintainability in mind, definitely we will obtain the most out of our test automation effort in our future testing tasks.