Test variëteiten: wat zijn het en waarom heb je ze nodig?

Er bestaat voor software testing geen one-size-fits-all. Iedere software is anders, projecten zijn anders, systemen zijn anders, mensen zijn anders. Je hebt dus variaties in je tests nodig om in iedere specifieke situatie de juiste te kiezen. Zeker wanneer je werkt in een DevOps team of cross functioneel team wil je overzichtelijk hebben welke tests moeten worden gedaan. Dit kun je doen met test variëteiten. Maar hoe zorg je voor deze zogenoemde test variëteiten? En wat zijn het eigenlijk precies? In deze blog vertellen we je er alles over.

schedule 23 jan 2023
bookmark_border TMap® Quality for cross-functional teams
create

Wat zijn test variëteiten?

Test variëteiten zijn de verschillende varianten van testen die er zijn, die samen worden georganiseerd om voor iedere specifieke situatie de juiste testvarianten te kiezen.

Binnen het software testen is er, zoals we in de inleiding van deze blog al benoemde, geen one-size-fits-all. Omdat iedere software, ieder project en ieder systeem anders is, vraagt iedere situatie om een ander soort test. Je hebt dus variaties in je tests nodig voor iedere specifieke situatie. Daar zorg je voor met test variëteiten.

De term is ook bedoeld om iedereen die betrokken is bij software testing ervan bewust te maken dat er altijd verschillende behoeften aan testen zijn. Dat je per situatie verschillende varianten van testen moeten organiseren. Alleen dan weet je zeker dat alles op de juiste wijze is getest en dat het eindproduct hoge kwaliteit heeft.

Test variëteiten worden gedefinieerd op basis van de relevante kwaliteitskenmerken

Test variëteiten worden gebaseerd op relevante kwaliteitskenmerken. Kwaliteitskenmerken zijn bijvoorbeeld:

  • Betrouwbaarheid
  • Gebruiksvriendelijkheid
  • Efficiëntie
  • Onderhoudbaarheid
  • Veiligheid

Dit zijn slechts enkele kwaliteitskenmerken. Het kan zijn dat een bepaalde situatie vraagt om andere kwaliteitskenmerken. Je kunt je voorstellen dat wanneer je software test voor een chatbot dat ‘persoonlijkheid’ waarschijnlijk ook een belangrijk kenmerk moet zijn.

Waar heb je test variëteiten voor nodig?

Als je software gaat testen, is het hoofddoel als volgt: alle testactiviteiten moeten alle belangrijke gebieden en aspecten van het systeem testen. Test variëteiten zijn hierbij nodig om overzicht hebben van de behoeften en verwachtingen van iedereen binnen jouw team en van de relevante testactiviteiten om hieraan te voldoen. Zeker binnen een DevOps of cross functioneel team is dit van groot belang. Alleen dan kun je per cycli in het ontwikkelingsproces de juiste stappen nemen om zo tot een eindproduct van hoge kwaliteit te komen.

Hoe bepaal je test variëteiten?

Als softwaretester moet je dus binnen een cross functioneel team of DevOps team test variëteiten bepalen. Je volgt dan de volgende stappen:

  1. Bekijk je testgebieden. Wat moet er precies getest worden? Gaat dat om het testen of een numerieke waarde in een numeriek veld kan worden gezet en een alfabetische waarde niet in een numeriek veld? Of moet er meer worden getest zoals het testen of een bestelling kan worden geplaatst en betaald in een online-winkelsysteem
  2. Kijk vervolgens naar de niveaus in een zogenoemde testpiramide om te beslissen welk soort testen je gaat automatiseren
  3. Kijk tot slot of de testkwadranten extra variatie toevoegen aan je testen. Bij het testen van een paar kleine modules heb je waarschijnlijk de meeste testkwadranten al behandeld. Het kan wel zijn dat je bijvoorbeeld wat beveiligingstesten moet toevoegen om er zeker van te zijn dat het IT-systeem voldoet aan de veiligheidsvoorschriften.

Wat is een testpiramide?

Een testpiramide bestaat uit drie niveaus: Het eerste niveau bevat kleine individuele tests. Het tweede niveau richt zich op de integratie van modules of systemen. Deze tests hebben vaak betrekking op de interfaces, bijvoorbeeld de application programming interfaces (API's). Het derde niveau gebruikt meestal de grafische gebruikersinterface om de tests uit te voeren. Deze tests worden het langzaamst uitgevoerd omdat deze tests gericht zijn op complete bedrijfsprocessen, bijvoorbeeld een complete gebruikerstransactie.

Hieronder zie je zo'n piramide geïllustreerd.

Wat zijn testkwadranten?

Testkwadranten helpen softwaretesters bij het bepalen van testvarianten. Er zijn hierin veel verschillende soorten maar wij houden de oorspronkelijke versie van Brian Marick [Marick 2003] en de aanpassing van Lisa Crispin en Janet Gregory [Crispin 2008] aan. Deze wordt ook gebruikt in het boek ‘Quality for DevOps teams’.

Er zijn vier testkwadranten:

  1. Hier ligt de nadruk op technologie en op de punten waar de testactiviteiten het team begeleiden in de creatie van het product. De testvarianten die hier worden uitgevoerd, moeten worden geautomatiseerd.
  2. Deze is gericht op de business en gaat ook over het begeleiden van het team. Het gaat dan bijvoorbeeld om het testen van een bedrijfsproces. Als het mogelijk is, kun je deze ook het best automatiseren.
  3. Hierbij ligt de focus op het beoordelen van een product. Deze tests worden voornamelijk handmatig uitgevoerd.
  4. De vierde is gericht op technologie en beoordeelt de niet-functionele aspecten van een product. Dit is vooral gericht op het nagaan of de software geschikt is voor zijn doel en het achterhaalt hoe de software reageert op onverwacht gedrag. Vandaar dat dit pas kan worden gevalideerd als het product klaar is. De performance test is hier een goed voorbeeld van.

De teststrategie

Met je test variëteiten duidelijk, kan het handig zijn om een teststrategie op te stellen. Hierin beschrijf je hoe alle tests worden uitgevoerd. Dit is echter niet altijd heel uitgebreid nodig. In een klein team kan de teststrategie bijvoorbeeld bestaan uit slechts enkele afspraken die onder de teamleden zijn besproken en niet zijn gedocumenteerd. Werk je in een groot en complex proces? Dan moet de teststrategie wellicht uitgebreid worden gedocumenteerd.

TMap® Quality for cross-functional teams: leer alles over test variëteiten

Met test variëteiten maak je dus duidelijk welke testactiviteiten er nodig zijn om aan de behoeften en verwachtingen van iedereen binnen jouw team te voldoen. Wil je hier alles over leren? Dan is onze e-learning TMap® Quality for cross-functional teams iets voor jou. Hierin wordt alles over test variëteiten behandeld.

Meer weten over Testlearning?

Lijkt het je leuk om op de hoogte te blijven van ontwikkelingen rondom onze testopleidingen? Volg ons dan op LinkedIn, schrijf je in voor de maandelijkse nieuwsbrief of lees onze blogs!