Blog - Mr Suricate

FIFTY SHADES OF BUGS

Written by Mr Suricate | March 21, 2022 09:20:55

404 error. There's nothing like a bug to make you angry, is there? But what exactly is a bug? And what is the difference with an anomaly, an error, a defect, a failure? If you too are a bit lost, we offer you a small guide to better understand all the nuances of bugs. 

Do you know where the word " bug " comes from? If this English word meaning " insect " in French was chosen to designate a computer problem, it is not by chance. It was inventor Thomas Edison who first used the term. According to the computer scientist Isabelle Collet (The forgotten ones of the digital world), Thomas Edison would have discovered a breakdown in his phonograph, which he would have compared to an imaginary insect hidden inside his device, responsible for the problem. 

Sixty years later, while scientists are working on the Mark II, the electromechanical computer that succeeds the Mark I (IBM's first digital computer created in the United States), an incident occurs. Grace HopperThe incident was reported in the computer's logbook by a female engineer who was part of the team. "On the date of September 9, 1947, you can see, stuck on the page, the corpse of an insect that had flown into a switch and got stuck," she explains. On the page, under the insect, a small handwritten note mentions "the first recorded case of a bug".

But what exactly is a bug? 

At the very beginning, the bug was a technical failure, a computer breakdown, caused by a short circuit, for example. But since then, its meaning has evolved a lot. 

Nowadays, a bug is mainly a malfunction. In other words, we can consider that there is a bug as soon as the behavior of the program or the software does not correspond to the expected result. It can be due to a computer problem, as well as to an error in the writing of the program. 

For example, in the context of an application or a site, we speak of a bug when a button does not appear or when nothing happens when you click on it, when the application stops abruptly, when the color of the text is not the right one, when the price of the product displayed is not the same as the one in the shopping cart, or when the shopping cart empties when you log into your account. 

And this is only a small sample of the bugs that can be encountered.

Bug, defect, anomaly, failure, same boat? 

But what is the difference between a bug, an anomaly, a defect, a failure? In fact, one could say that the term bug is a generic term, which encompasses several levels, depending on the consequence introduced. 

>> A defect : This is usually a simple deviation from the specifications determined upstream. It can be a graphic defect, when the color displayed is not the right one or when there is a shift in the visual blocks. But it can also be a drafting defect, when a word is misspelled or does not correspond to the one chosen to designate a particular button. Be careful, a defect does not necessarily lead to an anomaly or a failure and this article from The Tester's Tavern explains it very well!

>> An anomaly: It is a defect that negatively affects the functioning of the software and can therefore affect its use. The latter may not react as it is supposed to according to the requirements of the specifications, the design documents, etc., which can be problematic. A button that doesn't work or goes to the wrong page, a shopping cart that empties, an inability to log in to one's account can be designated as an anomaly.

>> A failure : This is the highest level of bug. It implies that a part of the software or its totality is unusable, either because it does not work, or because its behavior differs too much from what is expected and this makes it unusable.

And what about incidents? What about mistakes? 

In the world of testing, you may also hear the term incident or error sometimes. What's the difference with bugs, you may ask? 

It is simple. An incident is a problem that was found during the execution of a test. In other words, the test failed because it found a discrepancy in the expected behavior (defect), but it is not yet known why. This can be an anomaly or a failure as well as a false positive, i.e. when a defect is reported when in fact it does not exist in the tested item. Then you have to go and reproduce the path by hand to check what caused the incident and determine if it is a real bug. 

As for the error, we could say that it is what generates the defect. In the sense that it is a poorly performed human action, such as an error in the design of an application, in the writing of the code, which means that the software does not finally have the expected result. It is then enough to correct this error to correct the defect or to modify the specifications so that this defect is finally taken into account as an evolution. 

In reality, no matter the level of the bugs or their meaning, the credo to keep in mind is that they must be spotted and corrected as soon as possible, because it can have a direct impact on your business, whether in terms of image, financial or legal. As an example, 86% of French people give up a purchase on an e-commerce site because of a bug, according to our 2020 survey

This is why it is so important to test your application or website before putting it online and to continue to do so regularly thanks to the automation of functional tests!