Blackbox testing en Whitebox testing zijn termen die veel gebruikt worden in een SDLC (Software Delivery Lifecycle) Hoewel ze vaak in één adem worden genoemd, vertegenwoordigen ze twee totaal verschillende benaderingen van kwaliteitsborging. In een recente aflevering van de Quality Podcast doken Cynthia Maes, Jürgen Meheus en Günter Himschoot diep in deze materie.
Wat is het precies? Wanneer zet je welke techniek in? En waarom is de grens tussen beide soms grijzer dan we denken? In dit artikel vatten we de belangrijkste inzichten samen voor de professionele tester en de nieuwsgierige stakeholder.
Bij Blackbox testing beschouw je de software als een ‘zwarte doos’. Je weet wat je erin stopt (input) en je weet wat eruit moet komen (output), maar hoe de code binnenin precies werkt, is voor jou als tester irrelevant.
Focus op specificaties
Het startpunt voor Blackbox testing is de analyse. Jurgen Meheus legt uit:
“Je gaat functioneel nagaan of een applicatie voldoet aan de specificaties. Wat de analist heeft gecapteerd van de eindgebruiker en vertaald naar user stories, is onze input. We kijken of wat de ontwikkelaar heeft gebouwd, klopt met de werkelijkheid van de klant.”
Stel dat een requirement stelt dat een gebruiker geblokkeerd moet worden na drie foutieve inlogpogingen.
Tegenover de zwarte doos staat de Whitebox testing (ook wel Glass Box of Structural testing genoemd). Hierbij is de interne structuur, het design en de code van de software wél zichtbaar en vormt het de basis voor de tests.
Terwijl Blackbox testing zich richt op wat de software doet, richt Whitebox testing zich op hoe de software het doet. Hier kijken we naar zaken als:
Hoewel pure QA-engineers zich vaak focussen op Blackbox, wordt Whitebox testing meestal uitgevoerd door ontwikkelaars (bijvoorbeeld via Unit Tests) of door technische testers die tools zoals SonarQube gebruiken om de codekwaliteit te monitoren.
In de praktijk zijn de grenzen tussen Blackbox en Whitebox soms vaag. Dit komt omdat softwarekwaliteit geen zwart-wit verhaal is. Volgens de experts van M2Q is het essentieel dat er een solide teststrategie of een testplan klaarligt.
Je kunt nooit alles testen. De keuze voor een bepaalde techniek hangt vaak af van een risicoanalyse.
Om Blackbox testing gestructureerd aan te pakken, zijn er verschillende technieken beschikbaar. Tijdens de podcast kwamen er enkele belangrijke aan bod:
Wanneer een applicatie veel complexe combinaties van regels heeft, biedt een beslistabel uitkomst. Je schrijft alle mogelijke combinaties van inputs uit om te zien of de output telkens correct is.
Hierbij deel je inputdata op in groepen (partities) waarvan je verwacht dat de software ze op dezelfde manier behandelt.
De verschuiving naar Agile werken heeft de dynamiek van testen veranderd. Er wordt minder gedocumenteerd (“zo weinig mogelijk, maar niet nul”), wat kansen én uitdagingen biedt.
Een veelgehoorde term bij Whitebox testing is Code Coverage. Tools kunnen precies vertellen dat je bijvoorbeeld 80% van de code hebt geraakt tijdens je tests. Maar let op:
“Code coverage zegt alles over welke regels code zijn aangeraakt, maar niets over de kwaliteit van de code of de kwaliteit van je tests,” waarschuwt Jurgen.
Je kunt 100% coverage hebben en toch een bug missen omdat de code simpelweg niet doet wat de klant gevraagd heeft. Daarom is de combinatie van functioneel (Blackbox) en structureel (Whitebox) testen zo krachtig.
De vraag “Wanneer zijn we klaar?” is misschien wel de moeilijkste in het vak. Het antwoord is zelden “als alle bugs eruit zijn”, want 100% bugvrije software bestaat niet. Je stopt wanneer de vooraf bepaalde acceptatiecriteria zijn behaald en het restrisico acceptabel is voor de business.
Of je nu kiest voor Blackbox, Whitebox, of een hybride vorm: het doel blijft hetzelfde. Je wilt aantonen dat de applicatie klaar is voor productie en de risico’s voor de eindgebruiker minimaliseren.
Wil je dieper in de wereld van Blackbox en Whitebox testing duiken? Bij M2Q bieden we gespecialiseerde opleidingen aan, zoals de ISTQB-gebaseerde trainingen, waarin hoofdstukken volledig gewijd zijn aan deze technieken. Je leert niet alleen de theorie, maar vooral ook welke techniek je in welke situatie het beste toepast.
Meer weten? Bekijk onze opleidingspagina of beluister de volledige aflevering van de Quality Podcast!
Ga met ons in overleg over de juiste aanpak voor uw onderneming tijdens een gratis online consult. Registreer uw consult met de CEO hier.