Friday, November 9, 2012

Test Automation – Choosing the Right Tools to Drive Success

In our most recent installments, we’ve talked about the efficiency of test automation, agile testing, and some best practices for test teams. We’ve covered the difficulties of catering to multiple platforms and browsers, and have mentioned that the modern market is ever-changing and filled with obstacles that must be surpassed to stay afloat among the competition. There are many testing tools available out there today, and one of the most critical steps towards successful application testing is choosing the right one to get the job done.

Here, we can continue our car analogy. Just like building a custom car requires focusing on each separate part and how it will benefit the whole, test automation teams must also work together to determine what aspects of a testing tool will help them reach their goals in the most efficient way possible. Some companies may struggle with this, as there is a false rumor going around: that test automation is a low-maintenance cure-all for any development process.

The reality? Test automation is possibly the most difficult and rigorous form of application testing. Because everything is automated, teams must be doubly focused in assuring that all scripts run as planned. The goal of this method is to save time and prevent error, but the scripts that run the tests must first themselves be error-free in order to take advantage of the benefits test automation offers. The quality of the tools used throughout testing can make or break a project.

When driving a car, the main goal is to go from point A to point B. However, when a critical situation presents itself – such as hydroplaning or a potential accident – the quality of the vehicle and its safety features can tip the scales in your favor and save your life. The same can be applied to testing scenarios. When you need to quickly overcome certain problems with object recognition or architectural aspects of a project, you must rely on the particular feature set of your tools to help you make the climb. Even the most experienced tester can’t foresee all possible hazards on the road to launching a project, and – on the surface – freeware may look to have the same functionalities as paid software. However, each tool is different. You get what you pay for, after all.

For example, some very important factors to consider in modern test automation are: the ability to recognize objects on a higher-end scale, support of rich logic scenarios, modularity support, and configuration aspects of device under test such as jailbreaking/rooting or instrumentation. Finding a tool that can perform with the most versatility with these tasks and cover all platforms and browsers is crucial, since it’s impossible to predict whether the requirements for the usage of the application will take a sudden turn. End-users may initially need the application to run on iPhone, but may unexpectedly change their requirements to running the app on Windows Safari (yes, there is such a thing!).

The chart below shows StatCounter statistics about some of the mobile browsers of today and their popularity. Can your tools help you develop your scripts on all of these and more?


The knowledge and experience of test engineers along with operating budget are also important things to consider. Certain tools may have a steeper learning curve than others. If a tool has a large feature set, it will take more time to train teams to use it. What is the budget for the project? Can it support the investment of a more advanced tool along with additional time to train the team in its usage? ZAP Specialists highly recommend investing in a high-end tool, but teams must always plan ahead to make sure that they will have a return on this investment. In the long-run, putting aside a portion of the budget to acquire a better tool may save you days when you least expect, helping the budget remain in the positive.

In conclusion, test automation is a difficult and complicated path that must be navigated with the correct tools at hand. Taking the time to make an informed decision regarding your test automation tools can save you time and money in the end.

No comments:

Post a Comment