Thursday, April 16, 2009

What is Debugging?

Debugging

Debugging is a two-step process that begins when you find an error as a result of a successful test case. Step 1 is the determination of the correct nature and location of the suspected error in the application and Step 2 consists of fixing the error.

Source of above definition:
The art of software testing
By Glenford J. Myers, Tom Badgett, Todd M. Thomas, Corey Sandler

Three debugging strategies have been proposed:

1. Brute force e.g. loading the program with output statements.
2. Backtracking - Beginning at the point where a symptom has been uncovered, the source code is traced backwardly until the root of the cause is found.
3. Cause Elimination - it is maintained by induction or deduction and introduces the concept of binary partitioning.

Also See:

Difference between Testing & Debugging