InfoQ

News

Interview with Alberto Savoia on AgitarOne, a unit-testing solution

Posted by Rob Thornton on Nov 28, 2006 08:00 AM

Community
Java
Topics
Unit Testing
Tags
Agitar

Agitar recently released AgitarOne and InfoQ sat down with Alberto Savoia, CTO, VP of Engineering, and co-founder of Agitar to talk about the new product.  AgitarOne is a unit-testing product that provides generated JUnit tests to cover legacy code or to provide additional regression tests.  AgitarOne also includes Agitation, a process that will dynamically generate and run test cases by testing boundary conditions.  Code coverage, code rules, and continuous integration (using CruiseControl) are also built-in and all results are displayed on the provided dashboard.

First, Savoia described the key differentiator AgitarOne was for a company that was already behind unit testing with JUnit / TestNG and CruiseControl.

Almost all our customers are already believers in developer testing and are already using JUnit, but want to achieve greater efficiency and more thorough testing. We don't replace JUnit, we complement it. You see, testing is a combinatorial problem; we have found that it takes three to four lines of JUnit for every line of Java code in order to achieve 90-100% code coverage. Human beings are great at tasks that require creativity, insight, and domain knowledge; while computers are great at tasks that require repetition, exhaustive searches, etc. AgitarOne allows developers to focus on the aspects of testing that require human intellect and takes care of the bits that will benefit from automation. In my opinion test automation is not a luxury, or an option, but a necessity. Without it, you can't be as thorough or efficient as you need to be. I have a new favorite slogan: "Exhaustive testing without exhausted developers"?.

Next Savoia was asked if a company is just getting started on unit testing, would he recommend focusing on JUnit / TestNG first and then adding AgitarOne, or are they independent of each other?

AgitarOne is designed to encourage and leverage JUnit usage and developer interaction. I believe that every professional Java developer should know how to write tests and should write unit tests for their code. JUnit, and other frameworks and extensions based on it, are very easy to learn and use - there’s really no excuse for not knowing them or using them. For a developer, being able to test using JUnit, is like for an accountant being able to add using a calculator - an essential skill. But to achieve maximum effectiveness, an accountant takes advantage of tools like spreadsheets. The spreadsheet does not replace the accountant, but it helps achieve much greater efficiency by using a computer to do the kind of tasks that computers do best. AgitarOne does for developers what a spreadsheet does for accountants; it allows them to do their job with more effectiveness, efficiency, and thoroughness. I would not dream of hiring an accountant that does not know how to add, or have an accountant working for me without the benefit of a spreadsheet. Similarly, I expect developers to know how to test manually, but to also have the tools to automate and help them with the aspects of testing that benefit greatly from automation.

The discussion moved to integration of AgitarOne into an existing codebase. AgitarOne ships with an Eclipse plug-in, but we asked if there were any plans for integration into other IDEs such as NetBeans or IntelliJ.

AgitarOne is designed to integrate seamlessly, and at any time during the development cycle, and I believe we have made it extremely easy and fast to deploy. The Eclipse plug-in downloads and installs in less than one minute, and you can have your first generated test in another minute or so. Currently we have full and seamless integration with Eclipse and we are exploring ways and partnerships to cover NetBeans, IntelliJ, and other IDEs.

Lastly Savoia provided what he thinks is exiting about the future of software testing.

To me, the most exciting thing about the future of software testing is the excellent prospects for what I call "The Developer Testing Revolution" - the idea that developers should take responsibility for unit testing their own code. Thanks to JUnit and XP (and other Agile methodologies) we have a great chance of making developer testing the rule rather than the exception. But I don't think this will happen without new tools and technology to help the majority of developers cross that bridge. I am thrilled that, with Agitar, I have an opportunity to play a role in the success of this revolution.

AgitarOne version 4.0 is available immediately on Windows and Linux.

1 comment

Reply

JAva DEISNGER by Jackie Van Posted Nov 18, 2008 8:42 AM
  1. Back to top

    JAva DEISNGER

    Nov 18, 2008 8:42 AM by Jackie Van

    Wholesale lingerie directly from China?
    As a famous brand and specialized manufacturer of sexy clothing in China. We supply the international market with fashionable sexy lingerie and sexy costume since 2002. With advanced technology,all our products are of high quality. Now we have clients all around the world. Lingerie Wholesale and OEM are welcomed!
    As a Lingerie Manufacturer, Charmingirl has standard workshop and production line, professional designers and experienced workers.
    We do Wholesale Underwear,
    Lingerie Wholesale, including corset and bustier,
    Sexy Lingerie Wholesale, including bikini, underwear
    Lingerie Wholesale, and Babydolls, Sexy Lingerie Wholesale, and
    Sexy Lingerie Wholesale including sleepwear,clubwear.
    Lingerie Wholesale from China: Lingerie China, you will find the
    Leather Lingerie and PVC Lingerie, also you can buy
    Christmas Costume and Xmas Lingerie
    for your Christmas Lingerie Christmas day.
    Our Wholesale center: Sexy Lingerie Wholesale can do Lingerie Wholesale online.
    Halloween Costume,
    also wholesale Adult Costume with fashion Babydoll Babydoll, and bra and panties Bra and Panties, Sexy Uniform Sexy Uniform is also our major products.
    we have strong ability on production, research and technology, advanced facilities that is imported fromGermany and Japan, now our monthly output is 100000 pcs.

Exclusive Content

Dan Farino About MySpace’s Architecture

Dan Farino talks about the system architecture and the challenges faced when building a very large online community. Dan explains how a .NET product scales on hundreds of servers.

The Maxine VM

Bernd Mathiske discusses Maxine VM, Java compatibility, swapping major VM components, research areas, Object handling, code examples, optimizing compiler, snippets, bytecode generation, JNI and JIT.

Joe Armstrong About Erlang

Joe Armstrong speaks on various aspects of the Erlang language, presenting its roots, how it compares with other languages and why it has become popular these days.

The Limits of Code Optimization: a new Singleton Pattern Implementation

The java double-check singleton pattern is not thread safe and can’t be fixed. In this article, Dr. Alexey Yakubovich provides an implementation of the Singleton pattern that he claims is thread-safe.

Pressure and Performance – The CTO's Dilemma

Diana and Jim talk about patterns observed in CTOs' activity. CTOs emerge as real people caring for other people in their organization, and are put under a lot of pressure and constraints.

Biztalk Services in the Cloud

Cloud computing feels like a tomorrow technology. Simon Thurman shows how developers can use Biztalk to create an Internet Service Bus which can be deployed locally or in the cloud.

Java FX Technology Preview

InfoQ takes a look at the JavaFX preview build and talks to Sun Staff Engineer Joshua Marinacci about the upcoming version 1 release expected this autumn.

Jeff Sutherland: Reaching Hyper-Productivity with Outsourced Development Teams

Jeff Sutherland, co-creator of Scrum, and Guido Schoonheim, CTO of Xebia, present an actual case of reaching hyper-productivity with a large distributed team using XP and Scrum.