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.
I’ve worked on many projects in my career. When you work on the same project for more than one year you strongly start feeling a 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 for 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.
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
Automation testing success largely depends on the selection of right testing tools. It takes a 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 the 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 the 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 the 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? A 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 is it to provide input test data for complex or load tests? A 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 the 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!