Testgevallen zijn erg belangrijk voor een project . Het zijn de eerste stappen in een testcyclus en als testgevallen niet voldoende kwaliteit hebben, heb je daar het gehele project 'last' van. Het schrijven van 'goede' testgevallen is een vaardigheid die mede door het gewoon te doen in praktijk wordt vormgegeven. Maar het is wel handig om een paar handvatten te hebben die je helpen. Met deze blog wil ik jullie handreikingen geven om het makkelijker, leuker en beter te maken. De tips die worden gegeven hebben met name betrekking op de testgevallen bij het acceptatietesten van ERP systemen.
Wat zijn testgevallen?
Omdat er binnen de testwereld nogal wat definities zijn is het van belang om onze definitie te benoemen. In onze filosofie is een testgeval (gebaseerd op IEEE610):
“Een verzameling van testinstructies, welke in specifieke omstandigheden worden uitgevoerd, verwachte resultaten opleveren van een vooraf bepaald doel.”
Weten hoe je goede testgevallen schrijft is uiterst handig voor iedereen die wil gaan testen. Of je nu een functionele test of een gebruikersacceptatietest gaat uitvoeren of een webapplicatie gaat testen, een module van een ERP-systeem of een mobiele applicatie, in alle situaties bepalen de testgevallen in welke mate de resultaten een oordeel kunnen geven over het vooraf gestelde doel.
Waarom is het schrijven van testgevallen dan zo moeilijk?
Zoals in de definitie al omschreven zijn testgevallen een verzameling van testinstructies die een doel moeten bewerkstelligen. Het uitvoeren van testgevallen helpt ons dus informatie te ontdekken om dat bepaalde doel te realiseren.
Het eerste probleem waar we nu al tegenaan lopen is de diversiteit aan mogelijke doelen. En omdat er verschillende soorten testen en doelen zijn heb je dus ook navenant verschillende soorten testgevallen.
Een tweede probleem heeft betrekking op de inhoud van de daadwerkelijke testinstructies of -stappen. Het niveau van het uitschrijven van deze instructies is weer afhankelijk van de type tester die deze informatie moet interpreteren en een oordeel moet geven. Een professionele tester zal andere instructies nodig hebben dan een eindgebruiker die betrokken wordt bij het acceptatietesten van een ERP-systeem.
Het laatste probleem heeft betrekking op de definitie van “goed”. Het bepalen van “goed” is nogal discutabel. Geen enkel testgeval zal “goed” zijn voor alle situaties. Het is van belang om dit in de context van het project vast te stellen en hier consensus over te krijgen.
Tip 1: Bepaal je doel en wat je wil rapporteren
Denk na over wat je wilt rapporteren, zodat je het afgeleide doel kunt vaststellen. Op basis daarvan heb je de contouren van de testgevallen in beeld. Er zijn verschillende doelen, waarbij we telkens onszelf de vraag moeten stellen wat we proberen te leren of te bereiken als we de test gaan uitvoeren. Hier zijn enkele voorbeelden:
De testresultaten als afgeleide van de testgevallen geven direct relevante informatie over het doel.
Tip 2: Reserveer voldoende ontwerptijd
Reserveer voldoende tijd om je testgevallen te ontwerpen, zodat deze aansluiten bij je doelstellingen. Slechte testgevallen blijven je in het gehele testtraject achtervolgen. Het vergelijken van testresultaten, het rapporteren over meerdere testrondes, e.d. worden in essentie bepaald door de kwaliteit van je testgevallen.
Mocht je nu echt te weinig tijd hebben voor het ontwerpen, maar wil je toch beginnen met testen, zorg dan dat je de belangrijkste risicogebieden in ieder geval hebt omschreven. Indien 10 testers ieder 5 testgevallen met 1 teststap moeten beoordelen ontstaan er 50 testresultaten. Deze 50 testresultaten geven in ieder geval al meer informatie over de kwaliteit dan helemaal niks doen. Waarschijnlijk niet uitputtend, maar wel een eerste aanzet. Van daaruit kan de detaillering voor bepaalde onderdelen dan worden bepaald.
Onze voorkeur is dat je vooraf goed nadenkt over hoe de test vormgegeven moet worden en dat de resultaten van de test ook daadwerkelijk antwoord geven op de gestelde doelstelling. Maar de praktijk is soms weerbarstiger.
Tip 3: Naam testgeval
De benaming van een testgeval is belangrijk. Bij een beetje ERP test heb je al snel meer dan 500 testgevallen. Je zult begrijpen dat een logische benaming de terugvindbaarheid bevorderd. In de literatuur wordt vaak verwezen naar een zo compleet mogelijke naam, waarbij het te testen proces , module, object, e.d. allemaal in de naam worden verwerkt. Je kunt je voorstellen dat 500 testgevallen voorzien van zo’n complete titel een behoorlijke onoverzichtelijke administratie oplevert. Met een simpel Excel lijstje raak je dan ook al gauw het overzicht kwijt. Testmanagement tools bieden hiervoor een structuur, waarmee je testgevallen kan relateren aan herbruikbare objecten, zonder dat deze de naam “vervuilen”. Maar omdat testen met MsExcel of MsWord niet meer van deze tijd is (blogje Thijs), heb je hiervoor ook testregistratietools die deze relaties op een andere manier organiseren.
Binnen TestMonitor bijvoorbeeld is daar een andere oplossing voor bedacht. Daarin kun je labels definiëren die je vervolgens kunt koppelen aan de testgevallen. Binnen TestMonitor zijn de testgevallen dus aan een of meerdere bedrijfsproces-, risico-, requirement- of applicatie labels gekoppeld. Hierdoor kunnen testgevallen vanuit verschillende perspectieven gegroepeerd en teruggevonden worden.
De benaming van een testgeval binnen TestMonitor volstaat met een duidelijke omschrijving van het doel van het testgeval. Simpel gezegd omschrijf je een activiteit met een impliciete verwachting.
Voorbeeld benaming testgeval:
“Opzeggen huurcontract – zelfstandige woning “
”Aanmaken klant”“Voorlopige ontvangstboeking”
etc.
Voorbeeld van testgeval “voorlopige ontvangstboeking” welke gekoppeld is aan enkele labels:
Belangrijk is om per testgeval het verwachte resultaat te omschrijven. De tester weet dan in welke richting het “antwoord” moet liggen en heeft dan direct een expliciet toetsingskader.
Tip 4: Omschrijving teststappen
Zoals in de definitie al omschreven zijn testgevallen een verzameling van testinstructies die ons helpen informatie te ontdekken om een bepaalde doel te realiseren.
Een testgeval moet een duidelijk begin en einde hebben om vast te stellen of het testgeval geslaagd of niet-geslaagd is. Daarnaast bestaat een testgeval uit één of meerdere testinstructies of -stappen, waarbij ook meerdere paden mogelijk zijn om het gewenste resultaat te bereiken. Het alleen testen van het succespad is vaak onvoldoende. Voor bepaalde situaties kunnen juist verschillende niet-succespaden het verschil maken.
Het is belangrijk om de teststappen zo duidelijk mogelijk te omschrijven zodat eindgebruikers voor een gebruikersacceptatietest precies weten wat ze moeten doen. Natuurlijk zijn hier ook pré-condities bij te verzinnen, zoals functieniveau tester, opgedane kennis van het nieuwe systeem, opgedane kennis van de mogelijk aangepaste bedrijfsprocessen, e.d. maar in essentie zal iedereen alle teststappen moeten begrijpen.
Stel dat we het testgeval “opzeggen huurcontract – zelfstandige woning ” verder uitschrijven voor een simpel succespad:
Wat valt je op?
In het bovenstaande voorbeeld wordt de aanname gedaan dat een specialist van een bepaald vakgebied de teststap gaat beoordelen. En omdat het een specialist is, worden geen input-condities meegegeven of expliciete verwachting geschetst, omdat de specialist zijn eigen cases zo uit zijn mouw schut en ook de verwachting glashelder in beeld heeft.
Mocht je nu geen specialist hebben, kun je de teststappen uitbreiden met input-condities en expliciete verwachtingen.
Bijvoorbeeld teststap 1 bij testgeval “huuropzegging – zelfstandige woning” met meer detaillering.
Tip 5: Niet meer dan 10 testinstructies in 1 testgeval
Wij komen nogal eens testtrajecten tegen waar >50 teststappen worden ontworpen bij één testgeval. Dit is teveel om een paar redenen:
Daarnaast heb je testregistratietools die de testgevallen in verschillende vormen kunnen presenteren aan de tester. TestMonitor bijvoorbeeld heeft twee verschillende weergaves. TestMonitor heeft een weergave waarin alle teststappen afzonderlijk worden weergegeven per pagina en een weergave waarin de testgevallen worden gepresenteerd per pagina met daaronder alle teststappen. Het voordeel van de eerste weergave is dat elke tester meer informatie kan verkrijgen per teststap. Het nadeel is dat indien deze meer ervaren is bij elke teststap op “volgende” moet klikken om naar de volgende teststap te gaan. Bij de andere weergave per testgeval zijn de voor- en nadelen vice versa.
Test uitvoering per test geval
Test uitvoering per test stap
Tip 6: Review door een niet-ontwerper/ leverancier
In de praktijk zien we regelmatig testscripts die opgesteld zijn door de programmeurs van de softwareleverancier. Bij het reviewen van deze testscripts door de uiteindelijke testers blijken er meer vragen dan antwoorden te zijn. Andersom werkt dit hetzelfde dat indien de testscripts door de eigen medewerkers zijn opgesteld het een echte meerwaarde geeft om deze te laten reviewen door de softwareleverancier. Zij bekijken het opgeleverde met andere ogen en komen altijd met zinvolle toevoegingen of aanpassingen.
Met een beetje brainstormen met de specialisten van de softwareleverancier en de klantorganisatie heb je snel de essentie van hetgeen getest moet worden in beeld. Neem daarna de tijd om de testgevallen, niet-succes scenario’s te overwegen en je zult zien dat je testmodel snel uitgebreider en gedetailleerder wordt. Daarnaast krijg je meer informatie over de kwaliteit die je voor mogelijk had gehouden.
Tip 7: TestMonitor
Maak daarnaast gebruik van een professioneel testplatform en maak kwaliteit echt inzichtelijk. Vraag een gratis proefversie van TestMonitor vandaag en zie en ervaar het verschil voor jezelf.
Bron: CEPO
Klik hier om de bedrijfsprofielpagina van CEPO de CorporatieGids 2017 te bekijken
Zoals ieder jaar was het een voorrecht om CorporatiePlein te mogen organiseren. En de 2024-editie, de veertiende van het…
www.corporatieplein.nlCorporatieGids Magazine - November 2024 Inhoud Ferry van der Pal (Wonen Wateringen): Fusie leidt tot betere bijdrage aan de volkshuisvestelijke opgave…
Zoek en vind leveranciers en adviesbureaus die IT-diensten en oplossingen aanbieden aan woningcorporaties.