Continuous Testing - An Interesting Book Excerpt

Started by Thorin, July 20, 2009, 03:22:38 PM

Previous topic - Next topic

Thorin

Do you write code?  Do you use automated testing?  Here is a chapter excerpted from a book that defines and discusses the four different types of tests (unit, component, system, functional), explain what they're supposed to do, and explains how to automate them.  This excerpt also talks about how to use automated tests of all four kinds to make your code more reliable.

http://www.infoq.com/resource/articles/continuous-integration-howto/en/resources/Duvall_0321336380_CH06.pdf

Here's the opening, which caught my attention right away:

Quote
A tenet of systems engineering says that the reliability of a linear system is the product of the reliability of each of the system?s components. For example, imagine a system with three components [..].

Each component in this sample system has its reliability measured and the values are each determined to be 90% (disregard how the 90% value was determined). If you weren?t a systems engineer, you?d probably figure the reliability of this  entire  system is then 90%. That answer, however, isn?t correct: .90 * .90 * .90 is actually .73. The overall reliability of this system is only 73%.

Now imagine a software system (which, by the way, is nonlinear - this essentially means you have to also consider the reliability of the interface or connector between each object). Probably none of us has ever worked on a software system with three components (i.e., objects) [..]. Most software systems have hundreds if not thousands of objects! A linear system composed of 100 components each having 99% reliability would yield a system that is only 37% reliable.

The link to this excerpt was originally found here: http://www.infoq.com/articles/continuous-integration-howto

p.s. I found this because I went looking for a definition of the word "unit test" when a co-worker/developer called his test that actually FTPs a file and takes 30+ seconds to run once a "unit test".
Prayin' for a 20!

gcc thorin.c -pedantic -o Thorin
compile successful

Darren Dirt

Quote from: Thorin on July 20, 2009, 03:22:38 PM
p.s. I found this because I went looking for a definition of the word "unit test" when a co-worker/developer called his test that actually FTPs a file and takes 30+ seconds to run once a "unit test".

On that subject, I just added the typical testing flowchart provided by Bugzilla to the "should be remembered as a handy design-best-practices-tools reference thread" thread "JavaScript Debuggers / Unit Testing Frameworks"...
http://forums.righteouswrath.com/index.php/topic,6741.msg64513.html#msg64513



_____________________

Strive for progress. Not perfection.
_____________________