Free Newsletters
Technology & Business Daily

InfoWorld
Log-in | Register

Java unit tests you forgot to run

AgitarOne exercises Java code in unique and compelling ways, but not without some agitations for users


Unit testing -- a form of software testing done by developers using hundreds of small, fast tests -- is a central practice at sites that are committed to software quality. By following a dictum of "unit test, rather than debug," developers and their managers identify problems early and solve them as they go, giving them confidence in the code under development and assurance that a project will not founder once development completes and the quality assurance engineers start testing.

 The Bottom Line

AgitarOne 4.1.1
Agitar Software, agitar.com

Very Good  8.1
criteria score weight
Capability 9 30%
Ease-of-use 8 20%
Performance 8 15%
Scalability 8 15%
Documentation 6 10%
Value 8 10%

Cost:
Subscription pricing depends on project size and number of developers; starts at $37,500 per year for 8 to 10 developers

Platforms:
Windows XP, Windows Server 2003, Linux (kernel 2.4.22 or later); requires developers to use Eclipse

Bottom Line:
AgitarOne is a capable, useful, and well-integrated tool that generates unit tests automatically, runs additional tests in the background, enforces code rules, and reports the results in an elegant dashboard format. However, this first release (despite the version number) is fragile in several ways, and it relies on documentation of insufficient quality.

About our Reviews and Scoring Methodology

Agitar is a company whose entire product line is devoted to unit testing. Its flagship Agitator product (see our April 2006 review) reads through Java code, creates tests on the fly, runs them in the background, and then reports the results (successes and failures) as well as the lines of code that were not exercised. The benefit of this approach is that Agitator will often create tests that developers would overlook due to excess familiarity with the code. In addition, Agitator runs phone numbers, Social Security numbers, and other common fields through a gamut of extensive prebuilt tests.

AgitarOne, the focus of this review, is the heir to Agitator. During the next year, AgitarOne will replace Agitator at most customer sites, as Agitator is being retired. AgitarOne is a software stack that expands on Agitator's capabilities in useful and innovative ways. However, it is a heavyweight solution that may amount to more software than smaller teams need or want.


Click for larger view.
Dashboard for developers
AgitarOne follows a trend that has been emerging in software development tools during the past year, which is to provide a dashboard with project metrics. (In the past 12 months, weve seen products such as Enerjy's CQ2 and Borland/CodeGear's JBuilder 2007, among others, adopt this approach.) AgitarOne's dashboard is hosted on CruiseControl, an open source product that serves as a platform of sorts for generating and executing unit-tests, applying code rules, and displaying the metrics dashboard.

The developer triggers these activities using client-side software that must be installed in a Java IDE. At the moment, Agitar supports only Eclipse and Eclipse-based IDEs (such as CodeGear JBuilder 2007 and IBM Rationals family of IDEs). This installation is done via a series of plug-ins that can be downloaded into Eclipse from the URL of the AgitarOne server. Some activities can be run in a command-line batch mode.

Once everything is set up, the developer clicks on a project or a file, and from an Agitar-specific, drop-down menu elects whether to generate unit tests, "agitate" the code, or run the code-rules engine. A queue can then be checked to watch the progress of these tasks.

The unit tests AgitarOne generates have two benefits: They can fill in test suites written by the developer, and they can capture current behavior. To its credit, Agitar is clear that its generated tests are a supplement to developer-created tests, not a replacement for them. The first of these benefits is most important where unit tests are used as a quality-validation tool. AgitarOne can create tests the developer would not have thought of and catch errors by exercising the code in legitimate ways the developer did not foresee, since a frequent blind spot for developers is their over-familiarity with code they've written. AgitarOne's generated tests do this well. In this sense, they are instructive, and regularly examining them will surely help most developers broaden their own test-writing skills. The second benefit of generated tests is capturing existing behavior so that when a developer changes the code, failing tests can highlight unanticipated consequences. This usage, termed "characterization tests," is particularly valuable when a developer is modifying legacy applications.

Andrew Binstock is senior contributing editor of the InfoWorld Test Center.
Continued
1 | 2 | NEXT PAGE » 


Talkback:

commentPost a Comment

 

MOST COMMENTS

 
 





Virtualization: A Step by Step Approach to Success
Your virtual machines can be up and running in a matter of minutes. HP and Citrix have integrated XenServer with HP ProLiant servers and management tools, powered by hardware-assisted Intel Virtualization Technology to enable high- performance, cost-savings solutions for server consolidation and disaster recovery. Sponsor: HP

»  Click here to view this Webcast
  Storage is big, and getting bigger
The only certainty is that your requirement for storage will never be satisfied. While you clean out space and authorize POs, you might consider another alternative: outsourcing. The best way to deal with storage might be to let someone else deal with it. Sponsored by SGI

»  Click here to download now

- Special Advertising Partners -
WHITE PAPERS
 
  • Need simple, low cost server virtualization? - Do more with less. Support fewer servers. Simplify disaster recovery. Implement proven, easy-to-use server virtualization...
  • Virtually Limitless Virtual Storage - Do you need virtualization space savings of 50% or more with virtually no performance impact? You might be able to get storage...
  • Invisible IT? - The goal of IT is to become an invisible entity within a larger organization. Eliminating visibility and road blocks IT ...
  • It Really Is Easy to be Green - "Green IT" is a popular concept. And IT organizations are learning the influence that IT purchase decisions have on data...
  • Key Strategies For SOA Testing - SOA requires a unique approach to testing. Unless you're willing to reorient your testing procedures and technology now,...
  • Eliminate Botnet Security Risks - Botnets are widely regarded as the top threat to network security. This Whitepaper explains how botnets have traditionally...

» Technology White Papers Library

Technology White Papers by Topic

Technology White Papers E-mail Alert

Find out when the latest white paper is available:
 
 
INFOWORLD MARKETPLACE
 
» BUY A LINK NOW
 
 

Video

 
 
 

Podcasts

 
 
 

 

Columnists

 
 
 

Resource Center


Ads by techwords beta  [See your link here]
 




Sponsored Technology Links

 
 
 HOME  NEWS  BLOGS  PODCASTS  VIDEOS  TECHNOLOGIES  TEST CENTER  EVENTS  CAREERS  IT EXEC-CONNECT   About | Advertise | Awards | RSS | Contact Us 

Copyright © 2008, Reprints, Permissions, Licensing, IDG Network, Privacy Policy, Terms of Service.
All Rights reserved. InfoWorld is a leading publisher of technology information and product reviews on topics including viruses,
phishing, worms, firewalls, security, servers, storage, networking, wireless, databases, and web services.

CIO :: ComputerWorld :: CSO :: Demo :: GamePro :: Games.net :: IDG Connect :: IDG World Expo
Industry Standard :: IT World :: JavaWorld :: LinuxWorld :: MacUser :: Macworld :: Network World :: PC World :: Playlist