Re: Advice on Automated Unit Testing and Test Driven Development
From: John Roth (newsgroups_at_jhrothjr.com)
Date: 07/30/04
- Next message: Sebastian Millies: "[Eclipse 3.0] Export Keyboard Shortcuts?"
- Previous message: Phlip: "Re: Advice on Automated Unit Testing and Test Driven Development"
- In reply to: Andrew: "Advice on Automated Unit Testing and Test Driven Development"
- Next in thread: Vladimir Levin: "Re: Advice on Automated Unit Testing and Test Driven Development"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Date: Thu, 29 Jul 2004 21:40:47 -0400
"Andrew" <analystresearch2002@yahoo.com> wrote in message
news:43cf64b0.0407291710.41a17cd3@posting.google.com...
> Hi there,
>
> I am a consultant working for a software company trying to provide a
> recommendation on the future of Automated Unit Testing and Test Driven
> Development for J2EE/.Net/Web Services Development.
>
> I would appreciate any advice, data, information, people have on
> whether these practices work and what tools appear to be useful.
>
> - How do people measure the ROI of AUT or TDD? What are the hard and
> soft benefits?
> - What types of software companies get most benefit from AUT or TDD?
> I.e. mission critical? Short lifecycle? Long lifecycle? Highly
> volatile code? Etc?
> - Will AUT or TDD replace any current testing methodologies that QA
> uses or will QA's system and integration level testing always continue
> to be neccessary?
> - Any value to test automation suites like Agitar or Parasoft? Are
> there any other popular automation suites?
>
> Any information you can provide along these lines would be
> appreciated. Thanks.
Well, these are interesting questions, but I think they're
rather poorly posed. Let's start at the beginning.
In order to get a return on the investment, you've got to get the
software deployed so it can start returning revenue. The ROI
of an undeployed product is 0. This implies that the first thing to
get improved ROI is short release cycles.
Now, if you do short release cycles, you're doing
multiple releases. That in turn implies that you're
maintaining already existing code rather than writing
new code. So to keep getting the same ROI for the
rest of the releases, you've got to keep the code
base maintainable. By maintainable I mean that the
cost of a feature must be the same regardless of when
in the life of the product it's implemented.
This is not easy; most of our experience is that
code degenerates as it's maintained, eventually
reaching a state of unmaintainability where it is
cheaper to rewrite it rather than try to hack the
next change in.
XP, properly implemented, is capable of doing
this. That's not to say that XP is a magic bullet
that will automatically make your code maintainable,
like anything else you have to set that as a goal
and measure your results.
That's also not to say you can't get that same
result using other methodologies or processes.
There are lots of examples of code bases that
have been existence for years and are still being
actively maintained without excessive effort.
I consider it less likely though, simply because
the standard experience with any other methodology
is that software degrades. Having a software
base that doesn't degrade is the exception rather
than the rule.
So the answer is that the TDD part of the XP toolset
(which includes pervasive automated unit tests
and relentless refactoring) can get you there
if that's someplace you want to go.
I know this is not a direct answer to the question,
but I consider the question itself to be sub-optimal.
The value of a particular practice can only be
seen in the context of a complete process that
is intended to serve a particular goal.
John Roth
- Next message: Sebastian Millies: "[Eclipse 3.0] Export Keyboard Shortcuts?"
- Previous message: Phlip: "Re: Advice on Automated Unit Testing and Test Driven Development"
- In reply to: Andrew: "Advice on Automated Unit Testing and Test Driven Development"
- Next in thread: Vladimir Levin: "Re: Advice on Automated Unit Testing and Test Driven Development"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Relevant Pages
|