11.9.1 The Debugging Process
Debugging is not testing but always occurs as a
consequence of testing. Referring to Figure in the next page, the
debugging process begins with the execution or a test case.
Results are assessed and a lack or correspondence between
expected and actual performance is encountered. In many cases,
the non-corresponding data are a symptom of an underlying cause
as yet hidden. The debugging process attempts to match symptom
with cause thereby leading to error correction.
The debugging process will always have one or two outcomes:
1. The cause will be found and corrected, or
2. The cause will not be found.
In the latter case, the person performing debugging may
suspect a cause, design a test case to help validate that suspicion,
and work toward error correction in an iterative fashion.