Gray Box-testen
Gray Box Testing of Gray box testing is een softwaretesttechniek om een softwareproduct of applicatie te testen met gedeeltelijke kennis van de interne structuur van de applicatie. Het doel van het testen van de grijze doos is om de defecten te zoeken en te identificeren die te wijten zijn aan een onjuiste codestructuur of oneigenlijk gebruik van applicaties.
In dit proces worden vaak contextspecifieke fouten geïdentificeerd die verband houden met websystemen. Het vergroot de testdekking door zich te concentreren op alle lagen van elk complex systeem.
Gray Box Testing is een softwaretestmethode, die een combinatie is van zowel de White Box Testing- als de Black Box Testing-methode.
- In White Box is het testen van de interne structuur (code) bekend
- In Black Box is het testen van de interne structuur (code) onbekend
- In Gray Box Testing is de interne structuur (code) gedeeltelijk bekend
In Software Engineering biedt Gray Box Testing de mogelijkheid om beide kanten van een applicatie, de presentatielaag en het codegedeelte te testen. Het is vooral nuttig bij integratietests en penetratietests.
Voorbeeld van Gray Box Testing: als de tester tijdens het testen van functies zoals links of verweesde links een probleem met deze links tegenkomt, kan hij de wijzigingen direct in HTML-code aanbrengen en in realtime controleren.
Waarom Gray Box Testing
Gray Box Testing wordt uitgevoerd om de volgende reden:
- Het biedt gecombineerde voordelen van zowel black-box-testen als white-box-testen
- Het combineert de input van ontwikkelaars en testers en verbetert de algehele productkwaliteit
- Het vermindert de overhead van een lang proces van het testen van functionele en niet-functionele typen
- Het geeft een ontwikkelaar voldoende vrije tijd om defecten op te lossen
- Het testen gebeurt vanuit het oogpunt van de gebruiker in plaats van vanuit het oogpunt van een ontwerper
Gray Box-teststrategie
Om Gray box-tests uit te voeren, is het niet nodig dat de tester toegang heeft tot de broncode. Een test is ontworpen op basis van de kennis van algoritmen, architecturen, interne toestanden of andere beschrijvingen op hoog niveau van het programmagedrag.
Gray box testen uitvoeren
- Het past een eenvoudige techniek van black box-testen toe
- Het is gebaseerd op het genereren van een vereiste testcase, als zodanig stelt het alle voorwaarden in voordat het programma wordt getest door middel van een assertiemethode.
Technieken die worden gebruikt voor Gray Box Testing zijn-
- Matrix testen: deze testtechniek omvat het definiëren van alle variabelen die in hun programma's voorkomen.
- Regressietesten : om te controleren of de wijziging in de vorige versie andere aspecten van het programma in de nieuwe versie heeft teruggedrongen. Het zal worden gedaan door strategieën te testen zoals alles opnieuw testen, risicovolle use-cases opnieuw testen, opnieuw testen binnen een firewall.
- Orthogonal Array Testing of OAT : het biedt maximale codedekking met een minimum aan testgevallen.
- Patroontest: deze test wordt uitgevoerd op de historische gegevens van de vorige systeemdefecten. In tegenstelling tot black box testing graaft grey box testing binnen de code en bepaalt waarom de fout is opgetreden
Meestal gebruikt de Gray box-methodologie geautomatiseerde softwaretesttools om de tests uit te voeren. Stubs en module-stuurprogramma's worden gemaakt om de tester te ontlasten om de code handmatig te genereren.
Stappen om Gray Box Testing uit te voeren zijn:
- Stap 1 : Identificeer ingangen
- Stap 2 : Identificeer de outputs
- Stap 3 : identificeer de belangrijkste paden
- Stap 4 : Identificeer subfuncties
- Stap 5 : Ontwikkel inputs voor subfuncties
- Stap 6 : Ontwikkel outputs voor subfuncties
- Stap 7 : Voer een testcase uit voor de subfuncties
- Stap 8 : Controleer het juiste resultaat voor subfuncties
- Stap 9 : Herhaal stap 4 en 8 voor andere subfuncties
- Stap 10 : Herhaal stappen 7 en 8 voor andere subfuncties
De testcases voor het testen van de grijze doos kunnen GUI-gerelateerd, Security-gerelateerd, Database-gerelateerd, Browser-gerelateerd, Operationeel systeem-gerelateerd, etc. zijn.
Gray Box Testing-uitdagingen
- Wanneer een onderdeel dat wordt getest een storing ondervindt, kan dit leiden tot het stopzetten van de lopende operatie
- Wanneer de test volledig wordt uitgevoerd, maar de inhoud van het resultaat is onjuist.
Overzicht:
- De totale kosten van systeemdefecten kunnen worden verlaagd en voorkomen dat ze verder gaan met Gray-box-tests
- Gray box testing is meer geschikt voor GUI, Functional Testing, security assessment, webapplicaties, webservices, etc.
- Technieken die worden gebruikt voor het testen van grijze dozen
- Matrix testen
- Regressietesten
- OAT- of orthogonale array-testen
- Patroontesten