Skip to content

Debugging

Systematically narrowing down an error’s cause through behaviour, data and program execution.

Software architecture

What is debugging?

Debugging systematically investigates an error to narrow down its cause. Expected and actual behaviour are described, suitable reproduction steps sought and hypotheses checked against observations. A debugger can pause execution at breakpoints and show values and call paths. Other appropriate diagnostic tools can also help. The tool alone, however, does not explain a business-logic cause.

In a fictional portal, the closed case Q-18 appears despite a filter for open cases. Using suitable test data, the team examines the stored status, filter condition and subsequent display. This helps establish where the expectation is violated. Simply removing the row from the view does not explain the error. After a correction, suitable tests check the original failing case and affected neighbouring cases; diagnosis itself is not approval evidence.

Sources