TrainingConferencesAbout UsContact UsAdvertiseSQE.comRSS Feed

StickyMinds.com: brain food for building better software

Log In
 Clarify Your Search Criteria

Tips on Using Our Search Feature(s)
 
StickyMinds.com Home
ResourcesTopicsCommunityPowerPassBlogs
Home  >  Site Search : Detail




Jan/Feb 1999  (Vol. 1, Issue 1)
 Jan/Feb 1999 (Vol. 1, Issue 1)
Feature: Tools & Automation

Evaluating Tools
A Five-step Process for Comparing, Evaluating, and Choosing the Right Tool
By Elisabeth Hendrickson

Email This ContentGet a Short Link to This ContentAdd This Content to Your Favorites

Summary:
You, or perhaps your manager, have decided that it's time to choose a tool. Where do you begin? How do you go about comparing them? This article provides a five-step process for comparing, evaluating, and finally choosing the right tool for your organization.

 



View Content Detail:
TechExcel, Inc.

  •  A Five-step Process for Comparing, Evaluating, and Choosing the Right Tool.pdf
   (64 Kb)
 

Step 1: Define Initial Requirements
Even before you begin looking at the tools on the market, it's important to create a list of the initial requirements. What problems will the tool you choose help you solve? What capabilities will the tool need in order to be effective in your environment? What constraints, budgetary or otherwise, will the tool need to meet? The initial requirements give you a starting place; as you learn more about the testing tools available, you can refine your list.

Compatibility Issues
Any testing tool you choose will need to be compatible with:

  • The operating system(s) your application supports
  • The development environment(s) used to create your application
  • Third party software with which your application integrates

For example, if your application runs on both Mac and Windows, you may want to find a testing tool that supports both platforms. If your application is written in Java, the tool you choose will need to support Java. If you are testing a database application, you may want a testing tool that can retrieve data from and possibly insert data into the database without using the user interface.

If you are evaluating test automation tools, a particular issue to consider is how the tool handles "custom controls" in your application. Some GUI (graphical user interface) builders create custom controls instead of using standard Windows controls. You may not be able to tell whether your application has standard or custom controls until you do a hands-on evaluation of the automated testing tool. However, if you suspect that your application contains many custom controls, include compatibility with custom controls on your initial requirements list.

Tool Audience
In defining the initial list of requirements, keep the audience for the tool in mind. Ask questions such as:

  • Who will be using the tool on a day-to-day basis?
  • Is your organization willing to invest time and energy in training?
  • Does your organization expect test automation to pay off right away?

The skill level of the people who will be using the tool will play a part in determining the best tool for your organization. If your organization expects to put the tool into the hands of extremely technical, senior staffers, then power and flexibility will be more important than ease of use. If junior testers or non-technical staff members will be using the tool, then ease of use becomes a critical consideration.

In general, powerful tools have higher potential benefits if used effectively and are correspondingly more expensive. But that power can be a liability if the people using the tool every day find the tool overly complex or intimidating.

It may seem obvious that you need to consult the people who will be using the tool on a daily basis about their tool requirements. However, when you’re in the middle of an evaluation, flooded with information and pressed for time, it is easy to forget to involve the users, especially if you don’t work closely with all of them. Involving the people who will actually be using the tool in the evaluation and decision process is critical to your organization’s success with the tool.

The opposite problem of involving too few people is involving too many. It may be very tempting to involve everyone in the organization at this stage. Involve people affected by the tool but not using it on a regular basis as early as it makes sense, but no earlier. Other people are likely to ask questions such as, "how will the tool affect me?" and "can we find a tool that can also solve this other problem?" You won’t know the answers to these questions until you’ve done the initial investigation. You also don’t want to expand the scope of your requirements so much that no tool could possibly meet them. The best people to talk to now are the primary users of the tool. It may be premature to involve everyone in gathering the initial requirements.

Budget Constraints
You'll also want to determine the budget for the testing tool before you go shopping. Cost is likely to be a factor, and how much your organization is willing to spend could have a significant impact on your choice of tools. Remember that the test tool budget must take not only licensing costs into account, but training and implementation costs as well .

As an example of an implementation cost, consider a test automation tool. If the tool will be used for unattended test execution, the budget will need to include funds for additional machines on which to run the completed scripts. Initially, scripts won't take long to run. However, when you have enough scripts to run for 15 hours, you won't want to tie up the computer on which you do most of your work while the scripts execute.

When you and your management set the initial automated test tool budget, consider these questions:

  • How much can we afford?
  • How much is this worth?

How much you can afford is a different question from how much a tool is worth. If the future of the company rides on the ability of a given application to perform well under load, then a good load testing tool may be worth a tremendous amount to the company. Yet if the company is a small startup, it may be unable to afford a high-end performance tool. On the other hand, the company may have a large tools budget, but does not see worth in a given type of tool because the development group has already created a custom tool that does 50% of the job at 5% of the cost.

You will also want to consider these questions:

  • What benefit does the organization hope to get from the tool?
  • Is the benefit quantifiable and measurable?

Addressing the benefits as well as the cost in the budgeting process enables you to discuss preliminary ROI (return on investment) projections. Even if you aren’t thinking about ROI, your executives probably are. You’ll want to be able to quantify the expected return on investment to ensure executive-level support.

While considering the benefits of the tool, you’ll need to determine how your organization will measure its success with the tool. Will you measure the number of hours that the tool saves? The number of defects the tool finds? Improvements in quality?

You may find that it is difficult to gather meaningful or accurate numbers to quantify success. Choose your measures accordingly. Also, don’t be afraid to ask for changes to existing processes or tools, such as new fields in the defect tracking system, to make it possible to gather additional measures.

Business Requirements
If you work in a large company or regulated industry, your organization may have additional requirements that tool vendors must meet in order to become "approved suppliers." This is the time to determine those requirements so you can eliminate unqualified vendors before you spend much time evaluating their offerings.

Step 2: Investigate Your Options
When you are investigating your options, you want to spread your search net as far and wide as possible to find the tool that's right for your organization. Read newsgroups, search the Web, visit websites, attend tradeshows and conferences, ask questions on related mailing lists, check out ads in industry trade magazines, ask coworkers about tools they've seen or heard about, and call vendors to get them to send you product literature. If you work for a large company, ask other divisions what they use—they may already have a solution in place.

In this stage, you’ll want to talk with the tool sales people. It is to your advantage to give the sales person as much information as possible about your decision criteria. Be very open with them about your requirements and about their competition.

Ask the sales representatives up front if their tool meets the requirements you have gathered so far. It's very likely that the sales person will respond positively. The important part of this conversation is not when the sales person says, "we can do that;" it is when the sales person says "and this is how."

It is also reasonable to ask the sales person how their tool compares to their competition:

  • How can I compare your product with other products on the market?
  • Under what situations is your tool the best choice?
  • Under what situations is your tool probably not the best choice?
  • What features differentiate your tool from the competition?
  • What don't you like about your tool?

The sales representative may pressure you at this stage to do an evaluation or to let them come in to do a demo. Resist this pressure. During this stage you're gathering information that will allow you to decide which products make sense to bring in for a demo. Demos and evaluations are time-consuming. Unless you have a lot of time to spare, you want to avoid doing demos on products that don't come close to meeting your needs. You want to avoid evaluating products that don’t come close to meeting your needs.

Step 3: Refine Your Requirements
While investigating the tools on the market, you probably discovered additional requirements you either didn't know about when you created your initial list or that you forgot to include. Add them now.

During this step, you need to communicate the effects of implementing these tools to everyone affected by them. Don’t just talk to those who will be using the tools on a day-to-day basis. There are two key reasons to involve everyone affected proactively: it gives them a chance to discuss their concerns about how the tool will change their job, and their questions may imply additional requirements.

Some people may have concerns that seem to have nothing to do with the tool. For example, "If we automate everything, will I still have a job?" If people are very concerned about or even threatened by change, then your organization may have an additional requirement that the tool not necessitate a drastic change in the way the department does business now. You may also choose to address these concerns through training and communication.

Other questions imply functional requirements. For example, a manual tester may ask, "How will I know which of my tests have been automated?" In this example, the manual tester needs to know which tests have been automated so he or she knows which tests not to execute anymore. The tool needs to provide a method of tracking the manual tests represented by each automated script.

In your initial investigation of the tools on the market, you may have found that the budget you set in Step 1 is unrealistic. The tools that meet your functional requirements may not meet your budget requirement. If that is the case, now is the time to make the business case for increasing the budget. If management is unwilling to invest more than originally budgeted, you may need to pare down the functional requirements.

Step 4: Narrow the List
Now it's time to go shopping in earnest.

It is certainly possible that there is only one tool on the market that meets your requirements. If that is the case, this step is easy. (You will still do the next step: even with a single candidate, you'll want to make sure that the product can do what you need it to do before investing.) It is more likely that there are four or five real possibilities and several more partial solutions.

Use your list of requirements to rank the tools you investigated earlier. The top two or three from this ranking will be the final candidates that you bring in for a hands-on evaluation. You may find that none of the tools meet all of your requirements, but several of the tools meet some percentage of them. In this case, it is a good idea to get input from others in your organization on prioritizing the requirements so you can rank the possible tools definitively. (See the side bar for a step-by-step prioritization process.)

Why choose just three? Why not bring all the tools in so that you can try them out? The answer is that hands-on evaluations take a significant amount of time. You probably don't have a lot of time to spend on the evaluations, and it is much better to evaluate your top three choices thoroughly than to evaluate a wide variety of tools superficially. It is much better to evaluate your top three choices thoroughly.

Step 5: Evaluate the Finalists
The first step in evaluating the finalists is to identify a representative set of activities to accomplish with the tool during the evaluation. You'll want to choose one or more tests that pose interesting challenges for the tools.

The next step is to contact the sales representative for each product. Ask for an evaluation copy of the tool. You'll want to have access to each tool for at least a week, and preferably a month, to evaluate its capabilities thoroughly. Gaping holes in functionality show up right away, but little annoyances that will drive you crazy over the long haul show up only after extended use. Most of the tool vendors will allow you to evaluate their product for a limited time (30 days or so). It is unlikely that the vendor will be unwilling to let you evaluate the tool, particularly if you indicate that on on-site evaluation is a requirement for the sale. Little annoyances that will drive you crazy over the long haul show up only after extended use.

Some of the tool vendors require you to allow one of their staff to participate in the evaluation. Vendor representatives may suggest that they can take care of the setup and write a representative script to perform a test on your application for you. If the vendor insists on doing the work for you, it is worth your time to watch over their shoulder so that you understand both the complexity involved in setting up the tool and how to use it effectively.

During the evaluation, it is a good idea to model the entire process that your group intends to follow. For a GUI automation tool, that means you should:

  • Create the test
  • Check the test into source control
  • Run the test
  • Evaluate the results
  • Pretend the user interface changed and you need to modify the test accordingly

Imagine doing the above with not one, but hundreds of tests. Does the process scale? If possible, perform these steps several times, taking note of the things you have to repeat. Then imagine how you would feel repeating those things 100 times.

Now That You’ve Decided
Congratulations, you've chosen a tool! Whether you or your management negotiates the final deal with the tool vendor, remember that many vendors offer quantity discounts. Consider options such as rollout plans in which your organization commits to purchasing a given number of licenses over a specified period of time.

When rolling out the new tool to your organization, remember to:

  • Make time for training
  • Take implementation one step at a time: apply the tool to a single problem rather than trying to apply it to all problems at once
  • Immediately begin taking measures that will tell you how well your organization is succeeding with the tool so you can see progress over time
  • Communicate clearly, often, and in as many different ways as possible with all of the people in your organization affected by this new tool.

Finally, remember to go back to your list of requirements every now and then. Are there features you wish you had thought about when you were evaluating the tool? It's a good idea to keep your requirements list updated on an ongoing basis. That way you'll have the information about what you need already gathered if you must choose another tool.
About the Author
Elisabeth Hendrickson is an independent consultant specializing in software quality. With more than a dozen years of experience in the software industry, Elisabeth has been a programmer, tester, technical writer, support technician, and manager (sometimes simultaneously). You can read more of her thoughts on software quality, bug hunting, and test automation at www.qualitytree.com.

Back to Top
 





 
Ads By Google
What's This?
 
 



Home   |   Resources   |   Topics   |   Community   |   PowerPass



© 2010 StickyMinds.com. All rights reserved.
StickyMinds.com is a division of Software Quality Engineering.
Privacy Policy    Terms & Conditions    Link to StickyMinds.com    Feedback


Cloud Connection

TechExcel, Inc.




STAREAST 


Better Software Conference