[plt-scheme] Re: [maybe off-topic] The theory of testing

From: wooks (wookiz at hotmail.com)
Date: Mon Aug 25 15:24:10 EDT 2008

On Aug 25, 1:07 pm, "Grant Rettke" <gret... at acm.org> wrote:
> Regarding my take on XP and Unit Testing, you're preaching to the choir!
> What I'm sharing with you guys is based on what I've seen on *many* projects.
> Wooks, here is what I meant:
> %80 of developers don't know why unit tests exist, don't trust them,
> won't do them.
> %80 of managers don't know why unit tests exist.
> Inevitably "issues" occur. Developers cite the unit tests as being
> "useless", which becomes the justification for no longer maintaining
> them.
> That is the norm.

It may have been the norm 20-25 years ago, but it's not the norm today
and hasn't been the norm for a long time.

In the 70's and early - mid 80's the industry absorbed itself with
problem of how to develop applications more quickly - hence you had
the era of CASE tools, the emergence of "4GL's" , wizards and RAD
tools. The major problem then shifted to one of knowing whether what
had been developed was right, hence you saw the emergence of "QA" or
"testing" as a software engineering (sub) discipline in the latter
part of the 80's (or at least it became more common).

Developers have always  known they should unit test and why they
should do so. There may be issues with the degree of formality and
repeatability of the process but they know what they should do. So do
project management. When there is a project deadline to meet and
pressure from above to meet it, it's the testing that gets squeezed
and management tend to takes a punt on releasing  code thats not been
tested as thoroughly as it ought. The decision to release then
becomes  an exercise in risk management - someone decides the
likelihood of inadequate testing leading to a problem and tries to
assess the impact if it does. That is the norm, albeit the testing and
risk management are applied with varying degrees of formality from
site to site.

Everybody knows you should test (and not just unit test) and the
consequences of not doing so and everybody knows what corners are cut
in the face of project deadlines and everybody knows the consequences
that follow.

Posted on the users mailing list.