Wat is het automatiseren van testen?
In de meeste tools wordt veelal voorbijgegaan aan de wetenschap van testen, waarmee in feite de uitkomst wordt gecontroleerd aan de hand van wat je van te voren hebt gedefinieerd. Helaas focust geen van bovenstaande methodieken op deze kern. We automatiseren om het automatiseren en niet om te testen of de kwaliteit van de applicatie aan de eisen en verwachtingen blijft voldoen wanneer er wijzigingen zijn doorgevoerd. Veel toepassingen van het automatiseren van testen zijn omslachtig en tijdrovend als je een goede dekkingsgraad wilt behalen. Het uitwerken van bijvoorbeeld de scripts om de verschillende varianten van waarden voor invoervelden te testen, kan tijdrovend en foutgevoelig zijn. Het beheer van deze scripts vraagt om veel afstemming en is een secure en tijdrovende klus, omdat testwaarden en uitkomstvoorspellingen hard-coded zijn opgenomen in de scripts. Doordat er veel tijd en aandacht wordt besteed aan de technische oplossing, blijft er weinig tijd over voor het verlagen en beheersen van de risico’s voor de organisatie, wat eigenlijk het beoogde doel is. De toegevoegde waarde van het automatiseren van het testen dreigt dan af te nemen. Met onze oplossing ontstaat er meer tijd voor het bepalen en opstellen van de benodigde scenario’s. De gegenereerde testscripts kunnen vervolgens geïmporteerd worden in een bestaand framework.
De basis: framework en testscenario’s
Bij het automatiseren van het testen moet de aandacht dus verschuiven van de techniek naar het optimaal en efficiënt volgen van de business logica. Belangrijk hierbij is om onderscheid te maken tussen het bouwen van het framework en het ontwikkelen van de testscripts.
Het framework is de omgeving die ervoor zorgt dat de testscripts kunnen worden uitgevoerd. Het technisch platform waarbinnen de testscripts geïmporteerd en uitgevoerd kunnen worden. Dit framework wordt vaak samen met een ontwikkelaar opgezet.
Het testscenario is een omschrijving van een situatie die je wilt testen. Onder het scenario kun je een testcase hangen. Een testcase bevat specifieke waarden voor een scenario dat onder bepaalde condities wordt uitgevoerd en een verwacht resultaat oplevert. De uiteindelijke technische uitvoering wordt gedaan in een testscript, wat een resultaat oplevert. In de mix van testscripts en functionele testscenario’s ligt de toegevoegde waarde van een tester. Het is zijn of haar expertise om de juiste testscenario’s en testcases op te stellen.
Wat is data gedreven testen?
Een van de technieken die bij het geautomatiseerd testen goed toegepast kan worden, is data gedreven testen. Bij data gedreven testen is de in de applicatie gebruikte data de basis voor de testcases. Eenduidigheid en herbruikbaarheid zijn hierin belangrijk.
De technische gegevens van de objecten in de applicatie (pagina’s, (invoer)velden, knoppen, etc.) worden eenmalig vastgelegd in een database. Hierdoor weet je hoe deze objecten vanuit het script moeten worden aangesproken en kun je dat herhaaldelijk uitvoeren.
De testwaarden worden ook in de database vastgelegd. Door deze testwaarden en applicatie-objecten te combineren kun je flexibel en snel verschillende testscenario’s automatiseren en uitvoeren. Nadat de basis testscripts zijn ontwikkeld, kan de aandacht volledig worden gericht op de testwaarden en de workflow binnen de applicatie. Je kan niet alle testwaarden en combinaties van testwaarden testen. Het is de uitdaging om zoveel als mogelijk op een efficiënte manier te testen. In eerste instantie zorg je ervoor dat je alle datacombinaties in kaart hebt gebracht en de juiste test dataobjecten hebt samengesteld. Dit voelt als een brute aanval op het systeem met enorm lange testen. Maar diverse testtechnieken maken daar een einde aan. Met pairwise-testen kun je al een enorm aantal testcases verminderen, waarna je deze testen kunt prioriteren of categoriseren. Per oplevering kun je dan bepalen welke testen je wilt uitvoeren en welke strategie je wilt hanteren.
Hiermee wordt de dekkingsgraad verhoogd en draagt het testen ook echt bij aan het beheersbaar maken van de bedrijfsrisico’s door een kwalitatief betere applicatie.
Iedereen moet het toepassen!
Zeker in een organisatie en in een periode waarin de toegevoegde waarde van het testen ter discussie staat, is het belangrijk het testen aan te laten sluiten bij het verminderen van de bedrijfsrisico’s. Vanuit de door Ventus Test Professionals voorgestelde aanpak verschuift de aandacht van de techniek naar de business-analyse en het aantonen van de kwaliteit van de applicatie. Als er eenmaal een stabiel framework is en de basis testscripts zijn ontwikkeld, kan de tester zich volledig richten op de ondersteuning van de business bij het accepteren van de nieuwe of aangepaste applicatie.
Op deze manier data gedreven testen implementeren, plaatst de tester weer in een rol die veel waarde toevoegt bij het aantonen van de stabiliteit en kwaliteit van een applicatie.
In ons volgende artikel delen we onze visie op het nog verder optimaliseren van het geautomatiseerd testen. We dagen je uit jouw ervaringen over geautomatiseerd testen en data gedreven testen, met ons te delen. Discussie hierover en aanvullingen op bovenstaand artikel zijn van harte welkom.
Ventus Test Professionals (www.ventus.nl)
Om te kunnen beoordelen moet u ingelogd zijn: