Exploratory testing
Van Wikipedia
In Europa kennen we sinds een aantal jaar een nieuw begrip als het om (software)testen gaat, Exploratory Testing (ET). Een begrip waar veel discussie over is. De voor –en nadelen worden op een rijtje gezet
Inhoud |
[bewerk] De visies
[bewerk] Ongestructureerd
![]() |
De neutraliteit van dit gedeelte wordt betwist. Zie de bijbehorende overlegpagina voor meer informatie. |
ET is op verschillende manier te bekijken. Sommige mensen misbruiken de naam van ET, door onder die naam ongestructureerd en zonder documentatie te gaan testen. Dat is een onverantwoorde manier om testen uit te voeren en zet daarmee ET in een kwaad daglicht.
[bewerk] Gestructureerd
ET is gestructureerd testen aan de hand van testcharters; deze bevatten een beschrijving van het beoogde resultaat, een motivatie waarom er getest moet worden op dat specifieke onderdeel, wat niet te testen, wat de testaanpak is en wat de verwachte problemen zijn. De testers moeten zelf bedenken hoe ze gaan testen, waarbij het beoogde resultaat centraal staat.
[bewerk] Denkwijze
Naast een testtechniek is ET ook een denkwijze; het denken “beyond the obvious” en het denken vanuit het resultaat. Met ET worden fouten gevonden die met formele testen (gedefinieerd in ISTQB en te lezen in TestGoal en TMap) niet gevonden zullen worden. Ook wordt er uit verschillende standpunten gekeken naar een applicatie. Niet alleen vanuit de ontwikkelkant, maar ook vanuit de gebruikers -en businesskant. Een ET-tester test altijd aan de hand van een vooraf gesteld doel, deze wordt beschreven in een testcharter.
[bewerk] Voordelen
[bewerk] Korter testproject
Door de toename van ontwikkelmethodes als RUP en DSDM komt het steeds vaker voor dat gedetailleerde documentatie te laat wordt opgeleverd, waardoor er minder tijd is voor de testvoorbereiding. Bij ET worden in de voorbereiding geen gedetailleerde testen opgesteld, waardoor meteen begonnen kan worden met de uitvoering. De testbasis van de tester is zijn creativiteit, domeinkennis, ervaring en logisch denkvermogen.
[bewerk] Kostenbesparing
In de meeste testprojecten zijn de voorbereiding -en specificatiefase ongeveer ..% van het gehele project. Vooral het uitschrijven van logische en fysieke testgevallen kost veel tijd. Een ander bijkomend voordeel van ET is de kostenbesparing, doordat die testgevallen niet gedetailleerd worden uitgeschreven wordt veel tijd en dus ook geld uitgespaard.
[bewerk] Dynamisch
Het grootste voordeel van ET ligt in het feit dat het testtraject volledig dynamisch is; testgevallen worden aangepast op de eerdere bevindingen en verandering van de wensen en behoeften van gebruikers. Die veranderingen kunnen ontstaan door nieuwe features op technologisch gebied. Bij scripted testen kunnen veranderingen vele malen lastiger worden doorgevoerd, omdat alle opgestelde testgevallen moeten worden nagekeken en eventueel worden aangepast.
[bewerk] “Beyond the obvious”
Formele testtechnieken met gedetailleerde testgevallen dekken een deel van het systeem, de logische delen. Bij ET testen wordt ook getest “beyond the obvious”, op niet voor de hand liggende plekken/onderdelen.
[bewerk] Nadelen
[bewerk] Kritische onderdelen
ET maakt zich minder geschikt als kritische onderdelen en/of applicaties getest moeten worden, omdat deze een goede doordachte voorbereiding nodig hebben. Scripted testen is daarom beter geschikt. Toch kan ET altijd naast scripted testen gebruikt worden om snel inzicht te krijgen in een functie of om een minder kritische functie te testen.
[bewerk] Communicatie
Erg belangrijk is de communicatie met het testteam en met de projectleider/testcoördinator. Dagelijks moet de voortgang besproken worden om zo nodig de testcharters aan te passen. Zodra deze feedbackloop wegvalt, vervalt de kracht van ET en daarmee is het project gedoemd te falen.
[bewerk] Testproject
Net als bij alle testprojecten worden eerst de functies opgedeeld en bestempeld met prioriteiten. In plaats van het bedenken van testtechnieken per functie en het uitschrijven van logische en fysieke testen, worden er bij ET testcharters opgesteld. Dit wordt bij voorkeur gedaan door het gehele testteam en later nog eens besproken. Het grootste kostenbesparende voordeel ligt in het feit dat de logische en vooral fysieke testen niet worden uitgeschreven. Dit is een tijdrovende bezigheid die ook veel denkwerk vereist. Dit denkwerk wordt nu tijdens het testen verricht.
Nadat alles testcharters zijn opgesteld en goed zijn gekeurd door het testteam, kan begonnen worden met testen. De testers krijgen per testcharter een vooraf bepaalde tijd. Binnen die tijd moet de testcharter zijn afgerond. Als tijdens een charter een grote fout worden gevonden, of blijkt dat er langer getest moet worden op een onderdeel, wordt dit aan het einde van de dag met het testteam besproken en wordt er eventueel een nieuwe testcharter aangemaakt.
Tijdens de dagelijkse vergaderingen van het testteam wordt als eerste de vraag gesteld: wat is de grootste fout die je gevonden hebt? Er wordt verder niet ingegaan op foutjes met lage impact. Ook wordt er besproken of er extra charters worden aangemaakt, geschrapt en/of gewijzigd.