Testware for Free

[article]
Adventures of a Freeware Explorer
Summary:

Want the 4-1-1 on freeware but don't know where to start? A virtual cornucopia of programs awaits your discovery. In this week's column, Danny Faught details some of the testware he has researched, and explains why it's important to have freeware in your testing tool bag of tricks.

There's gold in them thar hills! For the past several months, I've been wandering the wild frontiers of free test tools, panning for tools that are free to anyone adventurous enough to search them out. I've found a few nuggets, plus a lot of stuff I've put back into the stream. My adventure has barely begun, but I can share with you some of what I've discovered so far.

What is freeware?
That's what I call any tool, software library, or web-based service that is free to set up and use, and that doesn't have unreasonable license restrictions like limiting the number of users, the amount of data it can process, or the amount of time you can use it. This includes Open Source software, public domain software, and some free binary distributions.

Where will my adventures take me next?
Scouts tell me there are dozens of free load test tools out there. In that category, I've explored OpenSTA, which many people rave about, though your mileage may vary. I also have my own entry in this category, the stress_driver.

Tools that I classify as "test implementation tools" also promise to give us a few valuable nuggets. These tools help out while tests are running, and the category includes free memory allocation debug libraries like dmalloc, and data comparators like MDBDiff. I'll be cataloging many more in the near future.

Another type of treasure I'm hot on the trail of is static analysis tools. This category includes tools that pore over your source code looking for bugs, such as tools that count lines of code and other metrics like sclc, and html link checkers like Xenu's Link Sleuth.

There are some places where the choices are fewer, but there are still some gems. A good example of a test design tool is ALLPAIRSATAC is a representative of the test coverage tool category. In the dreaded "miscellaneous" category is Codestriker, a tool that supports collaborative code reviews.

Further on the horizon is exploring territories never before covered by testingfaqs.org. This may include canned test suites, scripting languages and environments, and if I can summon the courage, security testing tools. There's plenty to be discovered in those areas.

Free Tooling: When are they most useful?
The freeware test tool territory is still wild and woolly. There are few free tools that rival their commercial counterparts in terms of features, reliability, and support. But they still have a place in your chuck wagon. Here's why.

You may not be sure that you need a particular tool, for example, a GUI capture/replay tool. You may have to invest a lot of time and money to pilot a project using one of the big-name commercial GUI tools. But if you recognize that you're going to have to do some programming even with a capture/replay tool, you may choose to skip the capture feature and code your tests directly using one of the free GUI test libraries.

You may decide that's all you need, and you'll have saved a lot of money and hassle. Or you may find yourself wishing you had features that are only available in a commercial tool, and then you'll approach the tool purchase decision much wiser. Or maybe you need to do some rudimentary link checking on your web site. There are several freeware tools that are up to the challenge. Most commercial web test tools offer many more features than link checking, and you can step up to them if your needs expand.

Maybe you're testing on a platform that is not well supported by the commercial tool vendors. I recently worked on a platform that was not supported by a single commercial tool vendor. If you have an open source test tool, you're free to apply the resources necessary to port a tool to your platform, without being at the mercy of the whims of your tool vendor.

One more argument in favor of freeware tools is the educational factor. You can make yourself more attractive on the job market by learning a new type of tool. It may be difficult to get licenses for a commercial tool just to play with it, but with freeware you can be up and running in minutes. Freeware is also well-suited for the classroom, and in fact, the open source culture has its roots in the academic research environment. I'm setting up a class to teach kids how to program, and I'm using an open source language so that my students won't have to spend any more money to be able to practice at home between classes.

There's room for both freeware and commercial tools in your arsenal. Because the freeware tools arena doesn't tend to have a big advertising budget, it's harder to get the word out about them. It's all about people telling people which ones worked best for them.

Further reading:

About the author

CMCrossroads is a TechWell community.

Through conferences, training, consulting, and online resources, TechWell helps you develop and deliver great software every day.