{{unreferenced, date=November 2018
A debugging pattern describes a generic set of steps to rectify or correct a bug within a software system. It is a solution to a recurring problem that is related to a particular bug or type of bug in a specific context.
A bug pattern is a particular type of pattern. The original concept of a pattern was introduced by the architect Christopher Alexander as a
design pattern
A design pattern is the re-usable form of a solution to a design problem. The idea was introduced by the architect Christopher Alexander and has been adapted for various other disciplines, particularly software engineering. The "Gang of Four" boo ...
.
Some examples of debugging patterns include:
* Eliminate noise bug pattern – Isolate and expose a particular bug by eliminating all other
noise
Noise is unwanted sound considered unpleasant, loud or disruptive to hearing. From a physics standpoint, there is no distinction between noise and desired sound, as both are vibrations through a medium, such as air or water. The difference aris ...
in the system. This enables you to concentrate on finding the real issue.
* Recurring bug pattern – Expose a bug via a
unit test
In computer programming, unit testing is a software testing method by which individual units of source code—sets of one or more computer program modules together with associated control data, usage procedures, and operating procedures&md ...
. Run that unit test as part of a standard build from that moment on. This ensure that the bug will not recur.
* Time-specific bug pattern – Expose the bug by writing a continuous test that runs continuously and fails when an expected error occurs. This is useful for transient bugs.
See also
*
Design pattern
A design pattern is the re-usable form of a solution to a design problem. The idea was introduced by the architect Christopher Alexander and has been adapted for various other disciplines, particularly software engineering. The "Gang of Four" boo ...
*
Architectural pattern (computer science)
An architectural pattern is a general, reusable solution to a commonly occurring problem in software architecture within a given context. The architectural patterns address various issues in software engineering, such as computer hardware perf ...