Debugging
Systematically narrowing down an error’s cause through behaviour, data and program execution.
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
Related terms
- Unit testA focused check of a small, defined part of software, such as a rule or function.
- Static code analysisExamining code, or a representation of it, without running the application’s workflows to do so.
- HotfixAn urgent, targeted correction for a problem in a production system.
- Error handlingDefining how a program handles detected errors and responds appropriately.
- Cache stampedeA cache stampede occurs when concurrent cache misses trigger the same expensive calculation or data query repeatedly.
- BackpressureBackpressure adjusts incoming data to the receiver’s processing capacity through signals to slow down or pause.
Your project with ASES
Describe your project to us. We will get back to you with an initial assessment.