Wat is een (software) bug?

In dit artikel ga je een simpele uitleg vinden op de bovenstaande vraag. Interessant is ook om te lezen hoe de naam “Bug” eigenlijk ontstaan is. Aan de hand voorbeelden begrijp je drie veelvoorkomende bugs beter. Bugs kunnen veel problemen veroorzaken voor computerprogramma’s, daarom is het handig om te weten hoe bugs worden verholpen en hoe je ze voorkomt. Als het je interessant lijkt om op een leuke en makkelijke manier te leren programmeren, dan geven we daar in het laatste hoofdstuk een gouden tip voor om mee te beginnen. Lees lekker verder!

Wat is een bug in software?

Een bug is een fout in de code van een software programma, zoals een computerprogramma, app of een website. Computerprogramma is een algemeen bekende term, dus dat zullen we vooral gebruiken in de rest van het artikel.

Een bug kan heel vervelend zijn voor een computerprogramma en gebruikers kunnen er last van hebben, maar dat is niet altijd het geval. Soms worden bugs geen eens opgemerkt, omdat het computerprogramma gewoon goed blijft werken.

Of bugs kunnen bijvoorbeeld voorkomen in bepaalde functionaliteiten in een computerprogramma die zelden worden gebruikt, dan zal een bug ook niet snel opvallen.

Vooral in complexe computerprogramma’s zitten er altijd wel bugs. Het is natuurlijk wel de bedoeling om de bugs eruit te halen, zodat gebruikers daar geen hinder van ondervinden en (toekomstige) programmeurs van een computerprogramma daar in de toekomst geen last van hebben.

Bug lieveheersbeestje laptop

Hoe is de naam “Bug” ontstaan?

Volgens verhalen op het internet is de naam “Bug” ontstaan op 9 september 1947. Op deze dag werd er namelijk een nachtvlinder gevonden in een relais van een Mark II computer. Dit was één van de eerste computers.

Grace Hopper werkte op de Harvard University en ze zochten naar een oorzaak van de technische issues waar de Mark II computer mee kampte. Eén van de operators vond de nachtvlinder.

Grace Hopper plakte de nachtvlinder in een logboek met de volgende notitie: “First actual case of bug being found”.

Eerste bug Grace Hopper logboek

Echter gaf Grace Hopper aan dat de term “Bug” al langer bestond. Volgens haar werd de term ook al gebruikt in de Tweede Wereldoorlog, als er een storing in de radar was.

Maar vanaf de notitie van Grace Hopper in het logboek werd het een meer algemene term. Vroeger waren computerruimtes warm en daardoor werden er insecten aangetrokken.

Sommige insecten nestelden zich in bepaalde componenten in een computer en dat zorgde voor storingen. Er vonden controles plaats en insecten moesten verwijderd worden. Daar komt de naam “Debuggen” vandaan.

Tegenwoordig bedoelen we met “Debuggen” het verwijderen van fouten in de code van een software programma. Je hoeft geen controles meer uit te voeren om te checken of er insecten (Bugs) te vinden zijn in je computer.

Drie voorbeelden van bugs

Er zijn verschillende soorten bugs die kunnen voorkomen in de code van een computerprogramma. Hieronder staan drie veelvoorkomende bugs, zodat je daar een beter beeld bij hebt.

Typos

Als programmeur kan je nooit altijd 100% scherp zijn en vaak komt er ook tijdsdruk bij kijken als je voor je werk of bijvoorbeeld een klant programmeert, dus een spellingsfoutje is zo gemaakt.

Eén spellingsfoutje kan er al voor zorgen dat het hele computerprogramma niet werkt. Bijvoorbeeld ontbrekende of verkeerd getypte symbolen en wiskundige operators komt ook vaak voor.

Calculation error

Bij veel computerprogramma’s zijn berekeningen erg belangrijk. Stel je voor dat je naar de bank gaat en je wil 20 euro pinnen. Vervolgens komt er maar 10 euro uit, terwijl je 20 euro hebt ingetoetst. Dan is er een calculation error opgetreden en ben je niet blij.

Een nog extremer voorbeeld is dat van de NASA in 1999. De NASA verloor in dat jaar een ruimtevaartuig van 125 miljoen dollar, onmiddellijk nadat het op Mars aankwam, door een calculation error.

Door engineers werden Engelse eenheden gebruikt, terwijl er gebruik moest worden gemaakt van universele metrische systeemeenheden. Dit is achteraf gezien een dure fout geweest.

Mars Climate Orbiter

Functional error

Deze error ontstaat als bepaalde code uit de software niet werkt zoals het zou moeten werken. Stel dat je een contactformulier op een website invult en je klikt op een knop om het formulier te verzenden.

Normaal gesproken wordt het formulier dan verzonden en krijgt de eigenaar van de website de mail. Maar stel dat je bijvoorbeeld via de “Verzenden” knop wordt doorgestuurd naar de homepage, dan is dit een functional error.

Hoe worden bugs verholpen?

Je hoeft gelukkig geen insecten meer te verwijderen uit je computer. Maar nu moeten bugs uit de code van computerprogramma’s gehaald worden. Hoe wordt dat gedaan?

Er zijn verschillende manieren om dat te doen voor programmeurs. We gaan er drie kort bespreken. Veel programmeurs gebruiken een debugger. Op deze manier kan je in stappen de werking van de code testen en vinden waar het probleem ligt.

Ook de geschiedenis in een versiebeheersysteem kan worden doorgespit om te kijken waar het probleem in de code zit en wanneer de bug is ontstaan.

Als de bug er bijvoorbeeld nog niet was in de vorige versie van een computerprogramma, wordt het al makkelijker om de bug te achterhalen in de code en op te lossen.

Simpelweg door te zoeken op Google kom je meestal ook al een heel eind als programmeur. Daarvoor heb je wel een foutmelding nodig. De kans is aanwezig dat velen deze foutmelding al eerder hebben gekregen en de oplossing op internet staat.

Hoe voorkom je bugs in computerprogramma’s?

Voorkomen is beter dan genezen, daarom is het belangrijk om daar eerst de focus op te leggen. De volgende manieren worden vaak gebruikt om bugs te voorkomen in computerprogramma’s:

  • Regelmatig zelf testen
  • Het inzetten van software testers
  • Programmeerstandaarden hanteren
  • De code zo simpel mogelijk houden
  • Waarschuwingen van de compiler serieus nemen
  • Duidelijke documentatie opstellen en regelmatig bijwerken, zodat het duidelijk is voor alle (toekomstige) programmeurs

Leer zelf op een makkelijke en leuke manier programmeren

Je weet nu beter wat een (software) bug is. Een bug kan veel schade aanrichten bij een computerprogramma. Bugs oplossen en voorkomen is niet de leukste bezigheid van programmeurs, maar het hoort er wel bij en is belangrijk.

Gelukkig bestaat het werk van programmeurs uit veel meer dan alleen maar bugs oplossen en voorkomen, zoals je ook leest in “Wat doet een programmeur/developer?”. Het beroep programmeur is heel leuk en uitdagend. Ook zijn de baankansen uitstekend. Misschien lijkt het nu nog een ver-van-mijn-bed-show voor je?

Met het e-book “Snelcursus Leren Programmeren” kan je op een makkelijke en leuke manier de basis van het programmeren leren. Je hoeft helemaal geen voorkennis te hebben om ermee aan de slag te gaan.

Snelcursus Leren Programmeren cover 2.3 3D

Het e-book is ideaal om je eerste stappen in de programmeerwereld te zetten en je zal er zeker geen spijt van krijgen! De kennis die je opdoet is goud waard.

Heb je nog vragen en/of opmerkingen? Laat dan hieronder een reactie achter of neem contact op.

Plaats een reactie