Those who visit the Washington D.C. Smithsonian Museum would get an opportunity to see the first ‘bug’ that was documented! That was a real bug, and the first system bug found and documented. Here is the juicy history pertaining the origins of Software Testing! Let’s talk about the differences between bug and defect.
From that point on, any external influencing factor that creates an anomaly in a system was called a ‘bug’. Because, like a real bug which is an external factor that affects the operation of a system, any factor that’s not introduced by the engineers who are working on the system, was a ‘bug‘. On the other hand, anything that’s introduced by the engineers working on the system was a ‘defect‘. This includes programming mistakes, configuration mistakes, and such.
To have superior product Quality, we should prevent a ‘defect’ from happening by taking precautions while designing and implementing the system. ‘Bugs’ are not in the control of the people who work on the system, but care can be taken to prevent a bug from affecting the system – for example, if 0 result is not supposed to happen, but happens because of an unexpected external factor, which leads to a ‘divide-by-zero‘ condition, it can be prevented by checking for zero before dividing. Thus, both ‘bugs’ and ‘defects’ can be prevented from affecting the systems by defensive design and implementation mechanisms.
Albert Einstein, my favorite geek, once said, “A Clever Person Solves A Problem. A Wise Person Avoids It.” I think that sums up how we should approach product Quality.
Hope this article gave you some clarity about bug and defect. What do you think? Contact Me through the contact form!