Het uitvoeren van nauwkeurige en correcte softwaretests volgt talrijke principes. De International Software Testing Qualifications Board onderscheidt zeven fundamentele principes, die we vandaag gaan bespreken. Benieuwd om erachter te komen? Lees een artikel over de belangrijkste ISTQB-testprincipes!
ISTQB-testprincipes – inhoudsopgave:
- Testen onthult defecten, maar kan hun afwezigheid niet bewijzen
- Grondig testen is onmogelijk
- Vroegtijdig testen bespaart tijd en geld
- Sneeuwbaleffect van storingen
- Pesticideparadox
- Het hangt af van de context
- Het adverteren van foutloze software is een no-go
- Samenvatting
Testen onthult defecten, maar kan hun afwezigheid niet bewijzen
Testen verhoogt de kans op het vinden van fouten, wat op zijn beurt de kansen vergemakkelijkt om ze te verhelpen. Het kan echter niet volledig garanderen dat software vrij is van alle defecten, zelfs niet als de overgrote meerderheid wordt opgemerkt en verholpen. Vanwege de onmogelijkheid om foutloze software te creëren, beschouwen velen het proces als negatief bij ontwerp, omdat je nooit een positief resultaat zult krijgen en altijd wat “vuil” in de programma’s zult vinden.
Grondig testen is onmogelijk
De bovenstaande vuistregel stelt dat het detecteren van alle storingen in software zinloos is. Dit geldt echter niet voor eenvoudige korte programma’s. Dit geeft aan dat er een kans is om alle combinaties van invoer en voorwaarden te zien om sommige programma’s volledig te testen. Bij het evalueren van geavanceerde software kan zelfs de beste AI niet alle noodzakelijke metingen uitvoeren, laat staan handmatige testers. Geautomatiseerde beoordelaars zullen apps efficiënter en nauwkeuriger doorlopen, maar ze kunnen nog steeds geen foutloze prestaties garanderen. Om dit te doen, moet je extra taken ondernemen, zoals prioriteren, risicoanalyse, evenals het vinden en uitvoeren van andere testtechnieken.
Vroegtijdig testen bespaart tijd en geld
Veel professionals noemen dit principe ook “shifting left.” Hoe eerder je defecten opmerkt, hoe gemakkelijker je ze kunt verhelpen, daarom moeten statische en dynamische tests zo snel mogelijk beginnen. In een notendop:
- Statische testing – het beoordelen van het product zonder de code uit te voeren.
- Dynamische testing – evaluatie van de code van een module of systeem tijdens de uitvoering
Het detecteren van defecten in de eerste fasen van implementatie vergemakkelijkt verdere diagnose. Maar wanneer twee gebieden van software met elkaar interageren, wordt het corrigeren van defecten problematisch vanwege de onmogelijkheid om degene met de fout aan te wijzen. In dergelijke gevallen kost het extra tijd, moeite en mankracht om dit aan te pakken. Al met al is het de snelle reactie op opduikende obstakels die kan voorkomen dat scheuren zich vermenigvuldigen.
Sneeuwbaleffect van storingen
De meeste glitches hebben de neiging om te clusteren in de meest kritieke modules, zodat hun grondige onderzoek de meeste onthult en voldoende elimineert. Deze groepen worden de belangrijkste focus van het uitvoeren van risico analyses om de toekomstige handelwijze in kaart te brengen en vast te stellen. De meeste fouten komen aan het licht na het volgen van de paden die de gebruikers nemen, maar in deze gevallen maakt kennis alleen de modules niet onberispelijk.
Het Pareto-principe zegt dat 80% van de resultaten voortkomen uit slechts 20% van de oorzaken. Met andere woorden, 80% van de bugs bestaat in 20% van de modules. Als je talrijke storingen in een module tegenkomt, blijf dan graven, want ze zullen daar zijn.
Pesticideparadox
Het herhaaldelijk uitvoeren van dezelfde tests kan falen omdat ze in de eerste plaats mogelijk verkeerd zijn ontworpen en nooit effectief zullen blijken te zijn. Je moet de tests aanpassen en upgraden om de kans te vergroten om nieuwe fouten in de software te vinden.
Het creëren van een volledig nieuw systeem van diagnose zal ook niet helpen. Het volgen van de vorige combinaties kan het beoordelingsproces op hetzelfde niveau stoppen. Dit principe wordt ‘pesticideparadox’ genoemd omdat pesticiden die plagen bestrijden ook na een bepaalde hoeveelheid gebruik in effectiviteit afnemen.
Het hangt af van de context
De manier van uitvoeren van testen hangt af van de onderwerpen die worden onderzocht. Zo verschilt het testen van een boekhoudprogramma, een videogame of een sociale netwerkaanvraag aanzienlijk. Het hangt ook af van de situatie, bijvoorbeeld, een analyse die zich richt op de praktische toepasbaarheid van een app, zoals het controleren van de aantrekkelijkheid voor gebruikers, gebruiksgemak, visuele laag, enz., verschilt ook van die evaluaties die gericht zijn op functionele eigenschappen van het programma, bijv. het uitvoeren van correcte berekeningen.
Het adverteren van foutloze software is een no-go
Het toepassen van verschillende soorten diagnostische tools kan geen foutloze apps garanderen. Velen die hun apps als zodanig claimen en adverteren, hebben ongelijk, maar waarschijnlijk is het alleen vanwege de marketinginspanningen dat ze deze claim maken. Je kunt meerdere handmatige en geautomatiseerde tests uitvoeren om de kans te vergroten om zoveel mogelijk fouten te ontdekken en te verhelpen, maar toch is er geen garantie voor perfecte prestaties. In sommige gevallen hebben de obstakels betrekking op de operationele software, bijv. het programma voldoet mogelijk niet aan alle gebruikersverwachtingen.
ISTQB-testprincipes – samenvatting
Dit is hoe ISTQB, op een basisniveau, zeven ISTQB-testprincipes presenteert die een softwaretester zou moeten volgen. Ten eerste geven ze de onhaalbaarheid van volledige softwarediagnose aan, daarom is het cruciaal, naast andere dingen, om tests aan te passen, evenals om een grondige zoektocht in de belangrijkste modules uit te voeren. Deze acties verbeteren de zoektocht en het opruimen van de meeste defecten, waardoor de kans op toekomstige fouten afneemt.
Wat is softwaretesten? Nu weet je het antwoord! Bekijk onze andere series over Python en Javascript!
Als je onze inhoud leuk vindt, sluit je dan aan bij onze drukke bijengemeenschap op Facebook, Twitter, LinkedIn, Instagram, YouTube, Pinterest.
Robert Whitney
JavaScript-expert en instructeur die IT-afdelingen coacht. Zijn belangrijkste doel is om de productiviteit van het team te verhogen door anderen te leren hoe ze effectief kunnen samenwerken tijdens het coderen.