Een bug in je software; wat nu?

HELLPPP, er zit een bug in mijn software!

Als je met software werkt kan het altijd voorkomen dat er een bug in je software zit, maar wat is een bug eigenlijk? Maar nog belangrijker is het om te weten wat je in zo’n geval juist wel moet doen en wat juist niet?

Wat is een bug?

Een bug is een fout in je computerprogramma, website of app. Door een bug werkt je software niet zoals je dat zou verwachten. Er gaat iets mis. Er is een foutmelding of een bepaalde handeling geeft een ander resultaat dan had gemoeten.

Bijna alle programma’s bevatten bugs, maar niet alle bugs worden als storend ervaren of ze treden alleen op in niet vaak voorkomende situaties. Het is dan vaak niet duidelijk dat ze er zijn.

Allereerste bug

De ontdekking van de allereerste computerbug wordt toegeschreven aan Grace Hopper. Grace werkte in 1947 op de Harvard University. Zij zocht naar de oorzaak van een storing in de Mark II Aiken Relay Calculator. Een van de operators vond een nachtvlinder op een paneel. De nachtvlinder, het insect, werd in het logboek geplakt en kreeg als bijschrift ‘’first actual case of bug being found’’ (bron: Wikipedia).

Hoe ontstaat een bug?

Vandaag de dag wordt er met een bug een fout in de software bedoeld. Als software niet werkt zoals dat zou moeten, is de oorzaak vaak een schrijffout van de programmeur. Schrijffout?! Ja een schrijffout, software wordt namelijk geschreven. Wanneer een schrijffout wordt gevonden kan het aangepast worden en is de bug uit de software.

Naast een schrijffout zijn er nog meer oorzaken die verantwoordelijk zijn voor het ontstaan van een bug:

-het verkeerd begrijpen van constructies of functies van de programmeertaal

-het verkeerd begrijpen van de bedoelingen van een andere ontwikkelaar die eerder aan hetzelfde onderdeel werkte als er onvoldoende rekening gehouden wordt met alle voorkomende (normale)invoer en omstandigheden door het overnemen van fragmenten uit een ander programma zonder de noodzakelijke aanpassingen

-tikfouten; als de ontwikkelaar door het snelle typen een andere toets indrukt en natuurlijk de bekende lees - en schrijffouten; bijvoorbeeld het verwisselen van letters die op elkaar lijken of een verkeerde schrijfwijze waardoor er een andere dan de bedoelde functie ontstaat

Niet alleen schrijffouten en bovengenoemde situaties kunnen zorgen voor bugs.

Als je je software een tijdje hebt gebruikt kom je erachter dat een bepaalde functie niet naar behoren werkt of op een andere manier moet worden opgebouwd, maar het kan ook gaan om een uitbreiding. We hebben het hier dan niet over een bug in je software, maar om een aanpassing of uitbreiding van de functionaliteiten. Hiervoor kan je een RfC, ofwel een Request for Change, doorgeven. Bij het aanpassen of uitbreiden naar aanleiding van een Request for Change is het heel belangrijk om te kijken hoe de rest van de software hierop reageert. Of deze aanpassing wellicht zorgt voor een bug. Het kan namelijk zijn dat de wijziging van bepaalde delen van je software gevolgen heeft voor de werking van andere delen, als je deze delen niet aanpast zal er dus een bug ontstaan. Bij de Request for Change is het dus belangrijk om te kijken naar de mogelijke impact voor de rest van de software zodat je al in kan schatten welke bugs je kan verwachten.

Maar wat moet je doen als er een bug in je software zit en wat juist niet

Het allerbelangrijkste is niet in paniek raken! Het is erg vervelend dat je programma, website of app niet werkt zoals dat zou moeten, maar het is ook een deel van het proces. In de ontwikkelfase bijvoorbeeld zijn ontwikkelaars aan het bouwen aan jouw software en tijdens de testfase kunnen er fouten naar voren komen. Het is beter daar nu achter te komen, voordat je het product in de markt zet. Bij het ontwikkelen van software zal je altijd een aantal bugs gaan ontdekken. Hier moet je dus niet van schrikken. Daar is een testfase voor; bugs ontdekken, verklaren en oplossen. Maar toch kan het voorkomen dat er na de ontwikkelfase alsnog een bug in de software zit.

Er zijn verschillende soorten browsers, versies en natuurlijk heel veel verschillende soorten devices. Gebruik jij Chrome, Internet Explorer of Safari? Welke versie gebruik je hiervan? Gebruik je die op mobiel, tablet of laptop? Zoals je ziet zijn hier heel veel combinaties in mogelijk. Het kan zijn dat een bepaalde browser, versie en device samen een bug kan ontwikkelen.

Het is belangrijk voor de ontwikkelaars om te weten wat je op het moment deed dat er zich een bug voordeed. Als je een bug ontdekt schrijf dan de volgende gegevens op;

- op welke browser was je aan het werk?

- welke versie wat het?

- op een mobiel, tablet of laptop?

- probeer te achterhalen welke acties jij hebt uitgevoerd die hebben geleid tot de fout

Met die gegevens kunnen de ontwikkelaars de fout reproduceren en kunnen zo tot de bron van bug komen.

Het oplossen van bugs wordt ook wel debuggen genoemd. Veel van de bugs hoeven we gelukkig niet zelf te vinden. Tegenwoordig kunnen wij ook gebruik maken van software die automatisch test en bugs opspoort. Loop jij tijdens het ontwikkelen van je software aan tegen bugs raak dan niet in paniek, dit hoort bij het proces!

Als je software al enige tijd in gebruik is kan het ook nog voorkomen dat er bugs in je software zitten, raak ook dan niet in paniek! Beschrijf dan de 4 bovengenoemde punten zodat onze ontwikkelaars snel tot de bron van de bug kunnen komen.

Heb jij jouw software door ons laten ontwikkelen dan lossen wij de bugs gratis op tot een half jaar na oplevering. Mochten er een half jaar na oplevering nog bugs in jouw software zitten, neem dan contact op met onze helpdesk!

helpdesk@softwarevoorjou.nl

vragen@softwarevoorjou.nl