Testing 1, 2, 3
ANTS lets you stomp on your Web Services and Web apps before loosing them on the real world.
ANTS is the Advanced .NET Testing System, and it is pretty darned spiffy. This
.NET application is designed to help you bang on Web Services and Web applications
prior to launch, with an eye towards load-testing with reasonably realistic
The system is incredibly easy to set up: mke sure you have the .NET Framework
and IE6 installed, put ANTS on the machine, and run it. A wizard launches and
walks you through your first project. Choose "Web Service", add a Web reference,
and it writes the outline of a testing method for you. Open the outline up in
the embedded Visual Studio for Applications (VSA) editor, and you can customize
it using VB .NET. (This was the first chance I'd had to play with a VSA-enabled
application, and the integration is superb). Then run it, and look at the nicely
formatted XML results. Total elapsed time: perhaps ten minutes.
ANTS will show you how long each client took to connect, and how long it took
the Web Service to return results. It also monitors performance counters on
the server, making it very easy to see if the CPU gets overloaded or the client
queue starts to blow up. The performance counters are presented using both history
and distribution graphs, which are incredibly easy to understand. ANTS also
calculates a "frustration coefficient" to help you determine how many users
would have given up and quit your application in disgust.
In addition to testing Web Services, you can use ANTS to test a Web site. There's
a recording mode to generate the script (which once again is in VB .NET) for
you based on actions you take in a browser. You can add randomized parameters
to a script so that not every simulated client is executing exactly the same
path through your application. ANTS is also capable of distributing work across
multiple client computers, allowing for even more large-scale testing scenarios.
All in all, a well-executed testing application that fits right into the .NET
universe. I can think of a few things that might make nice additions (control
over the statistical distribution of client launch times, for example), but
nothing essential is missing. For more information or an evaluation version
(14 days with up to 10 simulated users) visit the company's Web site.
Mike Gunderloy, MCSE, MCSD, MCDBA, is a former MCP columnist and the author of numerous development books.