Pages

Sunday, May 19, 2013

Pick the best Test Automation Tool



As a QA Consultant, test automation is a daily task for me. With several test automation tools out there on the market, it will take a lot of time and energy to decide what tools should i use to perform this task effectively.
First, in my opinion, the main question here is "What determines what is the best test automation tool for me to use"?

The easiest way anyone can think of, which i admit it was my decision maker in several occasions, is googling the words and picking the 1st that comes up.
Now i wouldn't say it isn't effective most of the times, but in a million dollar project that needs testing, i wouldn't recommend google.

What is your budget!

The Cost will not be a game changer in this topic.


Many small companies tend to care much about the cost. but in my opinion small projects doesn't necessary need test automation. And big companies with big budgets, will.
but either ways most of IT companies purchase payed test automation tools.
From my personal experience i would say payed test automation tools are better than most of the free ones, with some exceptions of course.
Now, i don't want to be that guy that is using a free tool and be stuck in something with a needy boss on my throat and a deadline on my back waiting for a 14 year-old freelancer from the other half of the planet to fix
my problem after finishing playing his xbox. 
So, Pardon Moi! I'm paying for this!! Paid tools usually comes with good support.



Does the tool satisfy your testing needs?

Pick a tool that is suitable for the project environment you are working in. 


The tool you choose should support all objects you used in your coding.
You don't want to be stuck on a simple test case because the tools is unable to identify the action-bar in your application home page!

The tool current version should also be stable. If it's not, you will have a lot of trouble creating your test case that run smoothly.
The tool you choose should also come with good customer support as well as online help resources.



Which projects you will automate?
The project environment will totaly have a big part in your choice.



It will be easier to pick a test automation tool that will allow you to test a specific project.
But what if you pick a test automation tool that will help you test all your projects independently on the technology used. Especially if you work in project where more than once technology is used; let's say an Incident Management desktopn application that comes with an android app.
It would be awesome to be able to test the create of an incident with a mobile phone and change the status from your laptop right!


What testing types you want to perform?

With alot of testing tools on the market, defining your testing scope is a major step.


Tool which supports maximum testing types (Acceptance, performance, load test, unit test etc) is always a better choice for a automation tester.
But this doesn't necessary mean "go for a tool just because it is supporting all testing types".
It is very important that the tool you choose is powerful enough to automate complex requirements. Don't forget you need to automate the complex test cases that you performs manually more than once every day; It's all about getting your job easier every day.


Is the tool easy to use?

You don't want to spend all your type writing test scripts.


It's always a better choice if the tool supports easy interface to create and maintain test scripts. 
The tool should have powerful features, playback and ability to edit recorded scripts  could be a good solution sometimes.
Preferably, the tool offers an easy way to provide test data inputs for complex and 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.



What I think About it!

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!

I would recommand these 2 test automation tools which are by far the best, the most affective and the easiest the learn on the market today with now competition:


HP Quick Test Professional (Paid)

HP QTP is an easy to use tool even for non-programmers. The tools supports recording, playback and the ability the edit the recorded scripts. It supports most of the addins on the market like Java, Oracle, .Net, SAP, Web Forms, Siebel, PeopleSoft, Web services, Main frame (Terminal Emulator) etc.
QTP also comes with an inbuilt IDE that uses VBScripts which is English-like and very easy to learn and gain expertise. 
I personally recommend  this site for help. It has plenty of resource available to learn VBScripts.




What i dislike about QTP is the fact that it can not run  multiple threads/instances at the same time. The tools is also very high in cost for license and maintenance although you have to buy the addins for Java, SAP... separately and you only get support when you renew your license.




Selenium (Free)

Selenium has support for all of the popular browsers like IE, Firefox, Mozilla, Safari etc. It also supports several Operating Systems and that makes it a tool of choice for cross browser/ cross platform certification.
It also supports all programming languages like Java,Ruby,C# and Python etc.

The problems i faced while using Selenium is the concept of locators that support common attributes like id, name etc as well as XPath, javascript DOM and others. I don't find this method necessary the best way to opt from Selenium developers comparing to the Object Repository technology that QTP uses to identify objects on the screen.
The tool doesn't also offer the possibility to write manual scripts like conditions and Loops for Data Driven Testing.




Now that being said, i hope you manage to pick you test automation tool wisely.


No comments:

Post a Comment