Elk softwareproduct bevat enkele fouten. Een softwarebug is zo’n systeemgedrag dat niet aan de eisen voldoet en de verkeerde resultaten oplevert. Het is onmogelijk om een bugvrij systeem te ontwikkelen.
De storingen van softwareproducten kunnen van verschillende aard zijn. Hier zijn er een paar.
- Functionele bugs – het onjuiste systeemgedrag of ingeschakelde productfuncties.
- Communicatieproblemen – het proces van communicatie van de gebruiker met het product kan onmogelijk zijn vanwege dit soort fouten, bijvoorbeeld omdat de handleiding niet beschikbaar is of de meldingen niet worden weergegeven.
- Ontbrekende opdrachten – sommige verwachte opdrachten zijn weggelaten in het systeem.
- Syntactische fouten – de grammaticafouten of verkeerd gespelde woorden en zinnen die in de product-GUI worden gebruikt. Dergelijke fouten kunnen verband houden met de lokalisatieprocedure.
- Onjuiste afhandeling van de fouten – als er iets misgaat, moet de gebruiker de juiste en duidelijke melding krijgen. De tekst moet kort zijn en alle noodzakelijke informatie bevatten over de aard van de fout en de manieren om deze mogelijk te verwijderen.
- Berekeningsfouten – onjuiste logica voor berekening. Het heldere voorbeeld van een dergelijke fout is de verloren Mars Climate Orbiter. Een dergelijke situatie deed zich voor omdat er Engelse eenheden in het metrieke stelsel werden gebruikt.
- Controle stroom bugs – de schending van de volgorde van acties.
De bovengenoemde fouten kunnen worden gedetecteerd tijdens verschillende soorten softwaretests, bijvoorbeeld functionele, systeem-, integratiecontrole, enz. Daarnaast zijn er verschillende ongebruikelijke bugs die problemen kunnen veroorzaken tijdens het ontdekken en oplossen ervan.
Wat zijn de ongebruikelijke softwarefouten?
- Heisenbug – de fouten van een dergelijk type kunnen hun eigenschappen wijzigen. Het is nogal moeilijk om deze problemen te detecteren, omdat ze nooit zullen worden ontdekt in de debug-modusversie van het product.
- Bohrbug verschijnt onder unieke omstandigheden. Soms wordt het ‘spook’ genoemd.
- Mandelbug – het falen van de chaotische natuur. Het is erg moeilijk om de werkelijke redenen van deze bug te definiëren. Het heeft zeer complexe oorzaken.
- Schroedinbug verschijnt vanwege ongebruikelijk gebruik van het product.
- Phase of the Moon-bug – vrij zeldzame fout, maar veroorzaakt veel problemen. Het kan verschijnen omdat het systeem kwetsbaar is voor bepaalde storingen in een bepaalde periode en onder bepaalde omstandigheden.
- Statistische bug – het probleem dat typisch is voor aggregaten. Het schendt de willekeurige productie van de specifieke output.
Deze bugs zijn nogal ernstig en het ontwikkelteam zou hard moeten werken om de problemen op te lossen. En testers moeten ook verschillende technieken en methodologieën toepassen om de meeste ernstige bugs te detecteren. Ze gebruiken bijvoorbeeld white box-testtechniek om de systeemlogica beter te begrijpen.