one point one point 2 Testing and Debugging

1.1.2. Testing and Debugging

Testing and debugging are separate activities. Testing can trigger failures that are caused by defects in

the software (dynamic testing) or can directly find defects in the test object (static testing).

When dynamic testing (see chapter 4) triggers a failure, debugging is concerned with finding causes of

this failure (defects), analyzing these causes, and eliminating them. The typical debugging process in this

case involves:

• Reproduction of a failure

• Diagnosis (finding the root cause)

• Fixing the cause

Subsequent confirmation testing checks whether the fixes resolved the problem. Preferably, confirmation

testing is done by the same person who performed the initial test. Subsequent regression testing can also

be performed, to check whether the fixes are causing failures in other parts of the test object (see section

2.2.3 for more information on confirmation testing and regression testing).

When static testing identifies a defect, debugging is concerned with removing it. There is no need for

reproduction or diagnosis, since static testing directly finds defects, and cannot cause failures (see

chapter 3).

Lämna ett svar