Many people understand by test automation the process of automating regression test cases for a specific application. This is probably the most popular use of test automation. To automate test cases that:
- are executed often
- are not very interesting
- take a lot of time.
The benefit for the tester is that he will have more time for more complex testing. But can test automation be used for more than automating regression test cases? Lets take a few examples:
1. We have an application that can be used by its users in many languages. The users select their preferred language on the application’s home page. In this case, test automation is beneficial not only for verifying that the most important user scenarios work in different languages. A second benefit comes from using automation for checking if all translations in the user language are correct.
Test automation can help with language testing.
2. Some applications are highly customized and they have apparently a setting available for everything. It takes a long time to verify that the application works correctly for the default settings values. To verify that the application still behaves normally for non-default settings will take even longer. How about using test automation for:
- changing the value of a setting
- executing user scenarios from the happy path
- confirming that the application works correctly
Test automation can help with configuration testing.
3. There are situations when applications crash randomly. Testers try to reproduce the crashes without results. One could suspect that a memory leak exists and that the application memory consumption goes up in time. Running test automation scripts continuously can prove if this is the case or not. I have done this successfully in 2 occasions so far.
Test automation can help with memory leak situations.
4. What if you deal with an application that implements complicated workflows for many user types? Lets assume also that each workflow type can be customized. Testing manually will take a very long time. Automating the workflow testing would bring a lot of time savings.
Test automation can help with workflow testing.
5. Finally, test automation cannot help with performance testing. But test automation can improve the performance testing in some cases. If you use JMETER for performance testing, it is possible to add Selenium WebDriver automation scripts to the load test plan. This allows you to see what the virtual users of the load test are actually doing.
So, test automation is not only for automating regression test cases. Much more can be done with it.
Guest post contributed by Alex Siminiuc (Test Automation For Manual Testers).
Want to get started with test automation? Read this Free tutorial today!