What is Automation Testing?
A series of software programs to validate test output against specified test conditions. It’s the best way of executing repetitive test cases using some software/tool which controls the test execution.
In simple words – Test automation is getting rid of repetitive manual tests and replacing those with systematic programs using automation tools.
Is Automated Testing a Solution for You?
I’ve worked on many projects in my career. When you work on same project for more than one year you strongly start feeling need of automating some tasks. You start thinking to introduce automation testing on the project if it’s not been considered till now by project management.
One year is enough time for anyone to know the ins and outs of any project. Once you know the project functionality in detail it becomes easier to decide which repetitive tasks need to be automated.
Some testers also get bored doing same repetitive tasks again and again and they strongly start feeling the need of test automation.
Does that mean you should jump into automation testing right away? Definitely not! There are many criteria you need to work on before deciding whether automation is a solution for you.
When Does Test Automation Make Sense?
- When there are many repetitive tests
- When there are frequent regression testing iterations
- When you need to simulate large number of users who are using the application resources
- When AUT is having comparatively stable UI
- When you have large set of BVT cases
- When you can’t rely solely on manual test execution for critical functionality
Further reading – When should you go for automation?
Once you know that it is the right time to invest your time and money in a good automation tool you can start looking for the best automation tool that suite your needs.
Further reading – Tips you read should before starting automated testing
How to Select Automation Tool for Your Project?
Automation testing success largely depends on the selection of right testing tools. It takes lot of time to evaluate relevant automation tools available in the market. But this is a must one time exercise that will benefit your project in long run.
There were few situations where I got chance to review and select automation tool for my projects. The task was difficult as we had to manage our testing needs and cost restrictions but it was a worth experience.
Here are the criteria you need to consider before selecting any testing tool:
1) Do you have necessary skilled resource to allocate for automation tasks?
2) What is your budget?
3) Does the tool satisfy your testing needs? Is it suitable for the project environment and technology you are using? Does it support all tools and objects used in the code? Sometime you may get stuck for small tests due to inabilities of the tool to identify the objects used in the application.
I consider above three factors as most important for selecting any tool.
4) Does the tool provide you the free trial version so that you can evaluate it before making a decision? Also does the tool have all features available in trial version?
5) Is the current tool version stable? Is the vendor company established with good customer support as well as online help resources and user manual?
6) How is the tool learning curve? Is the learning time acceptable for your goals?
7) Do you want automation tool for only your project needs or you are looking for a common tool for all projects in your company? It would be a good choice if you select a tool that supports most of the coding languages on your projects.
8 ) Which testing types does it support? Tool which supports maximum testing types (Unit, functional, regression etc.) is always a better choice. Warning – Don’t go for a tool just because it is supporting all testing types. It’s also important that the tool should be powerful enough to automate your complex requirements.
9) Does the tool support easy interface to create and maintain test scripts? Record and playback tool with abilities to edit recorded scripts could be a good solution.
10) Does it provide simple interface yet powerful features to accomplish complex tasks?
11) How easy it is to provide input test data for complex or load tests? Tool supporting test data input from various data files such as Excel, XML, text file etc. would be a big relief for the automation the testers.
12) Does it provide the powerful reporting with graphical interface? Clear and concise reports will always help you to conclude the test results quickly.
13) Does it integrate well with your other testing tools like project planning and test management tools?
You may also want to consider other criteria like:
14) Tool vendor refund policy
15) Existing customer reviews for the tool
16) Is the vendor providing initial training?
Tips: Requirement gathering is by far the most important step for selecting the right tool. Make sure to categorize your requirements in must have, nice to have, and not required feature categories. This will help you to evaluate the tool quickly. Remember you won’t find a tool already available in the market which will support all your automation needs!
Best Automation Tools:
HP QTP and Selenium are the two most popular functional testing options available currently. QTP is a best functional testing tool supported on wide range of coding languages and platforms whereas Selenium is the best open source functional web testing tool.
In next article we’ll discuss manual and automation testing challenges.
Feel free to discuss your thoughts/questions on automation testing!