Een bug is een fout in software waardoor die zich gedraagt zoals het niet hoort. Hij kan piepklein zijn, een knop net iets verkeerd geplaatst, of ernstig, een factuur die verkeerd optelt of een functie die helemaal kapotgaat. Het woord gaat terug op een echte mot die in 1947 vastgeklemd zat in een vroege computer, en betekent sindsdien een softwarefout.

Een handige manier om het te zien: een bug is een typfout in een heel lang, heel letterlijk recept. De kok volgt elke instructie precies, dus als stap 12 ‘voeg zout toe’ zegt waar je ‘voeg suiker toe’ bedoelde, komt het gerecht elke keer verkeerd uit de oven, zonder er ooit aan te twijfelen. Computers zijn zo gehoorzaam, en daarom kan één verkeerde regel herhaalbaar, verwarrend gedrag veroorzaken. Dat opsporen heet debugging, en goede error handling voorkomt dat een kleine bug uitgroeit tot een complete crash.

Bugs horen bij het bouwen van software, het is geen teken van falen. Wat een sterk team onderscheidt, is hoe snel ze die vinden, reproduceren en oplossen. Daar verdienen quality assurance en een snelle weg naar een patch zich terug.

Niet alle bugs zijn gelijk, en een goed team weegt ze. Een typfout op een helppagina kan wachten tot de volgende release. Een afrekenscherm dat het verkeerde bedrag in rekening brengt, kan geen uur wachten. De lastigste zijn de wisselvallige soort: de fout die alleen opduikt bij één klant, op één browser, op de derde dinsdag van de maand. Die hebben een heldere, herhaalbare manier nodig om het probleem op te roepen voordat iemand het kan oplossen, en daarom is ‘eerst reproduceren’ de gouden regel. Het moeilijkste aan het oplossen van een bug is meestal niet de correctie schrijven. Het is precies begrijpen wat er misging en zorgen dat de fix niet stilletjes iets anders kapotmaakt.

Bij TopDevs behandelen we elke gemelde bug als een aanwijzing, reproduceren hem, lossen de onderliggende oorzaak op en voegen een test toe zodat hetzelfde probleem niet stilletjes terug kan komen.