The Value of Software Testing

Lately I noticed several discussion threads both offline and online (the most notable online one is in the leandevelopment Yahoo! group) focusing on the value of software testing, both automated and manual. The main discussion point as far as I can see it is in whether the testing is actually a waste that is unfortunately needed to cope with the insufficient practices and should eventually be eliminated.

Knowledge Source

Software development is always not a mass production, but a new product development - software engineers are not manufacturing goods, but rather make a design for a compiler to manufacture something nobody previously built. Just as with any other type of new product development there bound to be cases of uncertainty and the good result is virtually always achieved with a help of frequent prototyping and validating the design decisions. The main job of a software development team is therefore along the lines of creating knowledge about the system built, its environment, design options, quality of the current code and so forth. In my opinion testing is no more and no less, than yet another tool for creating more knowledge that will eventually allow for building a successful product.

Costs of Producing Knowledge

To me the question of practical importance is not whether tests add or not add value, but how much they add, whether the added knowledge is of high relevance and if there are ways to get more useful knowledge easier. That is of course, context dependent. My experience as well as the literature I read suggest that testing SW produces some important bits of knowledge difficult to compensate in the other ways. I accept though that not all tests are equal. I like and find it useful to discuss which kind of testing produces most of the relevant knowledge in the cheapest way and which kind of testing might be cheaper to replace with e.g. code review. Still there is value in testing. It is just so that sometimes one could get some of the same useful information cheaper.

Your experience

What do you think? Does testing add value in your environment or should we try our best to remove the need for testing altogether?

Comments

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Allowed HTML tags: <a> <b> <i> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <img> <br> <blockquote>
  • Lines and paragraphs break automatically.
  • Web page addresses and e-mail addresses turn into links automatically.
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>. Beside the tag style "<foo>" it is also possible to use "[foo]".

More information about formatting options

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
Syndicate content