‘Exploratory testing met behulp van test tours’ Een introductie
Algemene informatie, door SYSQA B.V.
Inhoud 1
INLEIDING............................................................................................................................... 3 1.1
2
ALGEMEEN ......................................................................................................................... 3
TEST TOURS .......................................................................................................................... 4 2.1 ZAKELIJK DISTRICT ............................................................................................................. 4 De gidstour .............................................................................................................................. 4 De geldtour .............................................................................................................................. 4 De herkenningspuntentour ....................................................................................................... 4 Intellectuele tour ...................................................................................................................... 4 De FedExtour........................................................................................................................... 5 Buiten kantoorurentour ............................................................................................................ 5 De vuilnis ophaaltour ............................................................................................................... 5 2.2 HISTORISCH DISTRICT ......................................................................................................... 5 Slechte buurtentour.................................................................................................................. 5 Museumtour ............................................................................................................................. 5 De vorige versietour ................................................................................................................. 5 2.3 ENTERTAINMENT DISTRICT .................................................................................................. 5 De actor ondersteunende tour ................................................................................................. 5 Steegjestour............................................................................................................................. 6 De nachtelijke tour ................................................................................................................... 6 2.4 TOERISTISCH DISTRICT ....................................................................................................... 6 De verzamelaarstour................................................................................................................ 6 De eenzame zakenmantour ..................................................................................................... 6 De supermodeltour .................................................................................................................. 6 De TOGOF (test one get one for free) tour .............................................................................. 6 De Schotse pubtour ................................................................................................................. 6 2.5 HOTELDISTRICT .................................................................................................................. 6 De verregende tour .................................................................................................................. 7 De bankhangtour ..................................................................................................................... 7 2.6 LOUCHE WIJKEN ................................................................................................................. 7 De saboteur ............................................................................................................................. 7 De antisociaaltour .................................................................................................................... 7 De obsessieve compulsieve tour.............................................................................................. 7
3
DE TOEGEVOEGDE WAARDE VAN TEST TOURS .............................................................. 8
4
CONCLUSIE............................................................................................................................ 8
5
LITERATUURVERWIJZINGEN ............................................................................................... 9
Organisatie Titel Onderwerp
SYSQA B.V. Test tours Een introductie
Pagina Versie Datum
3 van 9 1.0 25-01-2013
1 Inleiding 1.1
Algemeen
Binnen het testen van software is exploratory testing een van de mogelijke testaanpakken. Exploratory testing is het gelijktijdig leren kennen van de applicatie, ontwerpen van de test, uitvoeren van de test en analyseren van de uitkomst. Exploratory testing heeft drie hoofddoelen: - Het verkrijgen van inzicht in hoe de applicatie werkt, hoe de interface er uitziet en welke functionaliteiten de applicatie heeft; - Om de mogelijkheden van de software te onderzoeken en te tonen; - Om fouten te vinden. Exploratory testing gaat uit van het principe dat men al doende leert; tijdens het testen leert de tester de werking van de applicatie en komt zo tot betere testgevallen. Het biedt veel vrijheid aan de tester maar vraagt ook veel vaardigheden. Ook binnen exploratory testing zijn er nog verschillende manieren om het testproces aan te pakken. In deze intro wordt ingegaan op test tours. Bij het toepassen van test tours ‘wandelt’ de tester als een toerist met een reisgids onder zijn arm, door de software. In zijn boek ‘Exploratory Software Testing’ gebruikt James Whittaker de metafoor van de toerist om test tours te verduidelijken. Door gebruik te maken van de verschillende ‘toeristische’ routes kan er structuur aangebracht worden in het testen en is het gemakkelijker een inschatting te maken wat er getest wordt, hoe lang dat gaat duren en wat voor soort fouten er gevonden kunnen worden. Test tours brengt structuur aan in het exploratory testproces. Doordat de routes afgesproken worden, wordt de vrijheid van de tester zelf ingeperkt. Het heeft als voordeel dat deze vorm van exploratory testing ook door minder ervaren testers kan worden uitgevoerd. In deze intro wordt niet ingaan op de analogie met toeristen, de namen van de verschillende tours verwijzen er wel naar. Omdat de namen wel de essentie van de testbenadering in zich hebben, worden de namen die James Whittaker geeft aangehouden.
Almere © 2013
Proud of it
Organisatie Titel Onderwerp
SYSQA B.V. Test tours Een introductie
Pagina Versie Datum
4 van 9 1.0 25-01-2013
2 Test tours Test tours benadert het testen van software als een toerist die een nieuwe stad verkent. Het doel is om in zo kort mogelijke tijd bepaalde zaken gezien of gedaan te hebben. In steden zijn verschillende districten aan te wijzen, elk met een eigen functionaliteit. Kunnen in de fysieke stad deze districten gescheiden zijn, in software is dit niet het geval. Juist de overlap van de verschillende functionaliteiten zijn belangrijk om te testen.
2.1
Zakelijk district
Het zakelijke district is het deel van de software die van belang is voor de business. Het is de reden waarom mensen de software kopen; de functionaliteiten en de user interface. Zakelijk district tours zijn gericht op deze belangrijke functionaliteiten en sturen testers langs de punten waar de software gebruik maakt van deze functionaliteiten. De gidstour Aan de hand van de handleiding worden de verschillende functionaliteiten van het systeem doorlopen. Het is hierbij de bedoeling dat de tester letterlijk volgt wat de handleiding aangeeft. Op deze manier worden twee vliegen in een klap geslagen; enerzijds wordt de handleiding getest, anderzijds worden de belangrijkste functionaliteit van de software getest. Varianten op de guidebook tour zijn de blogger tour, waarin op basis van advies van derden (bloggers) het systeem wordt doorlopen, of de expert tour, waarbij klachten of niet positieve reviews de basis vormen voor de test. De geldtour De geldtour heeft als basis de functionaliteiten waarom klanten een bepaald systeem kopen. Demo´s van salesmedewerkers kunnen hier een goed beeld van geven. In deze demo´s wordt de focus gelegd op de meerwaarde van het systeem en waarom klanten het systeem zouden moeten kopen. In de tour doorloopt de tester simpelweg de route die in de demo´s gevolgd wordt. Een variant hierop is de kritische klant-tour, bij elke stap van de demo moet de tester zich dan de vraag stellen wat als… De fouten die in deze tour gevonden worden zijn belangrijk omdat de kans heel groot is dat de consument ze tegen komt. De herkenningspuntentour Het doel van deze test is om van herkenningspunt naar herkenningspunt te testen. De herkenningspunten zijn de belangrijkste punten van de software. Bijvoorbeeld op basis van de geldtour en de guidebooktour kan de tester een aantal belangrijke punten in de software aanwijzen, daarna moet de testen een volgorde kiezen om de herkenningspunten te doorlopen. Variatie kan aangebracht worden door na het bereiken van een herkenningspunt pas te besluiten wat de volgende stap is. Intellectuele tour In de intellectuele tour is het de bedoeling dat de tester de software moeilijke vragen stelt. Moeilijke vragen zijn bijvoorbeeld vragen over de performance van de software. De tegenovergestelde van de intellectuele tour is de arrogante amerikanen tour, waarin geen moeilijke vragen worden gesteld maar barrières worden opgeworpen om te kijken hoe de software reageert. Door erg voor de handliggende vragen te stellen en de software acties te laten uitvoeren ‘gewoon omdat het kan’; kan een breed scala aan fouten ontdekt worden.
Almere © 2013
Proud of it
Organisatie Titel Onderwerp
SYSQA B.V. Test tours Een introductie
Pagina Versie Datum
5 van 9 1.0 25-01-2013
De FedExtour Het doel van deze tour is om data (als een pakketje) rond te sturen door de applicatie en te zien op welke manier deze data steeds behandeld wordt. Probeer hierbij alle functionaliteiten die gebruik maken van de data langs te gaan en te kijken op welke manier deze functionaliteit de data behandelt. Buiten kantoorurentour In deze tour is het doel om de processen te testen die in werking treden op het moment dat de functionaliteiten niet (meer) werken, het archiveren van data, het doen van onderhoudstaken en het maken van back ups. De tegenhanger is de ochtend tour waarbij het opstarten van de procedures en scripts centraal staat. De vuilnis ophaaltour Bij de vuilnis ophaaltour gaat het er om alle verschillende velden een keer langs te gaan, zonder er te blijven hangen, maar wel via de snelste route. Alleen kijken of het veld aanwezig is en daarna doorgaan naar de volgende.
2.2
Historisch district
Het historisch district in software testen is het testen van de bestaande software (legacy software). Het doel is het testen van de functionaliteit van de bestaande software en het verifiëren of de fouten hersteld zijn. Slechte buurtentour De slechte buurten van software zijn die delen die bekend zijn om het grote aantal fouten. Deze delen van de al bestaande software verdienen extra aandacht omdat de fouten ook invloed kunnen hebben op de nieuwe software. Museumtour In de museumtour is het doel om de al bestaande software te identificeren en te zorgen dat ook deze software aandacht krijgt tijdens het testen. De vorige versietour Als software wordt gebouwd als update van een al bestaande software is het goed om alle scenario’s en testcases, nogmaals, te doorlopen die bij de eerdere versies ook zijn doorlopen. In deze tour wordt ook gekeken of de functionaliteiten uit het stuk software dat vervangen wordt niet verloren gaan.
2.3
Entertainment district
Het entertainment district in applicaties zijn ondersteunde functionaliteiten, en niet de hoofdfunctionaliteiten. Een voorbeeld hiervan bij een tekstverwerker is dat het verwerken van de tekst de hooffunctionaliteit terwijl het opmaken van de tekst een ondersteunende functionaliteit is. Ondersteunende functionaliteiten zijn functionaliteiten die het geheel kunnen ‘opleuken’. De actor ondersteunende tour Het doel van deze tour is om de functionaliteiten die zich op dezelfde schermen bevinden als de hoofdfunctionaliteiten te testen. Het feit dat deze functionaliteiten in de nabijheid verkeren van de hoofdfunctionaliteiten maakt het belangrijk om ook aan deze functionaliteiten aandacht te besteden tijdens het testen.
Almere © 2013
Proud of it
Organisatie Titel Onderwerp
SYSQA B.V. Test tours Een introductie
Pagina Versie Datum
6 van 9 1.0 25-01-2013
Steegjestour De steegjes tour test de minst gebruikte en minst favoriete functionaliteiten van de software. Een variatie hierop is de gemixte bestemmingen tour, waarin de tester zowel herkenningspunten als de minst favoriete functionaliteiten bezoekt. De nachtelijke tour De centrale vraag in de nachtelijke tour is hoe lang de applicatie door kan gaan zonder om te vallen. Door het applicatie niet te sluiten, maar ook door bestanden te openen zonder deze ook weer te sluiten, kan gekeken worden hoelang de applicatie dit aankan. Het belang van deze test verschilt per device waarop de applicatie moet draaien; een telefoon, bijvoorbeeld, staat vaak dagen of weken achter elkaar aan, zonder opnieuw opgestart te worden.
2.4
Toeristisch district
De tours in het toeristisch district zijn gericht op korte tripjes die niet ingaan op de inhoud. Het snel bezoeken van de functionaliteiten is het doel, niet het de werking van de software beoordelen. De verzamelaarstour Wordt overal waar het moet output gecreëerd? In de verzameltour gaat het er om zoveel mogelijk output te verzamelen, alles wat mogelijk is. Dit is een vrij grote test, aangeraden wordt dan ook om deze tour met een groepje testers te doen en de applicatie te verdelen in delen en dan per deel alle output te verzamelen. De eenzame zakenmantour De eenzame zakenmantour ziet toe op het testen van de langst mogelijke paden door de applicatie. Welke functionaliteiten is het meest ver weg gelegen van de hoofdfunctionaliteiten? Voor welke functionaliteit kost het de meeste muisklikken om er te komen? Verkies bij deze tour altijd de langste weg boven de kortere. De supermodeltour Bij de supermodeltour ligt de focus op de user interface en niet op de functionaliteit of de interactie. De eigenlijke centrale vraag is: ziet het er goed uit? ‘software that passes this test may still be buggy in many other ways, but just like the supermodel…it is going to look really good standing at your side.’ De TOGOF (test one get one for free) tour Op welke manier reageert de applicatie op het gelijktijdig draaien van verschillende kopieën? Het doel van deze tour is te kijken naar de reactie van de applicatie als er op twee verschillende pc’s tegelijk in wordt gewerkt. Wat is de reactie van de applicatie als er op PC 1 iets wordt opgeslagen en hoe wordt dat verwerkt op PC 2? De Schotse pubtour Deze tour is vooral bedoeld voor grote en gecompliceerde applicaties. Het doel is om de functionaliteiten te vinden waarvan je niet wist dat die er waren. Het vinden van deze functionaliteiten is niet gemakkelijk, het kan door met gebruikers te spreken, blogs van kenners te lezen en vooral eindeloos door de applicatie te struinen en te zoeken of je iets nieuws kan vinden.
2.5
Hoteldistrict
In het hoteldistrict laat de tester de primaire functionaliteiten van het systeem achter zich. Het doel is om de secundaire en ondersteunende functionaliteiten te testen, die vaak genegeerd of ondervertegenwoordigd zijn in het testplan. Almere © 2013
Proud of it
Organisatie Titel Onderwerp
SYSQA B.V. Test tours Een introductie
Pagina Versie Datum
7 van 9 1.0 25-01-2013
De verregende tour Wat gebeurt er als je elke keer dat er een cancel-button in beeld verschijnt daar op klikt? Maar ook de variaties van de cancel-button, zoals [x]. Het opstarten van een functionaliteit en deze dan gelijk weer sluiten, of het opstarten van een tweede functionaliteit zonder de eerste te sluiten, zijn manieren om dit aan te pakken. Een laatste stap van deze tour is om na te gaan of er na het cancellen het alsnog mogelijk is om de applicatie succesvol te doorlopen. De bankhangtour De bankhang tour is de tour van het zo min mogelijk werk doen. Bij het testen van software betekent dit het aannemen van alle mogelijke default waardes, invulvelden leeg laten, zo weinig data in vullen als maar mogelijk is, nooit op een advertentie klikken, door pagina’s scrollen zonder op iets te klikken of iets in te vullen, enzovoort. Dat de tester zo min mogelijk doet betekent niet dat het systeem ook weinig doet, kloppen de reacties die het systeem geeft?
2.6
Louche wijken
Het doel van deze tours is het opzoeken van de grenzen van de applicatie. Wanneer breekt de applicatie, hoeveel ‘pijn’ kan de applicatie lijden? De saboteur Deze tour ziet toe op de reactie van het systeem als er gesaboteerd wordt. Hoe reageert de applicatie als de toegang wordt ontzegd tot gegevens die nodig zijn voor een verdere verwerking? Het concept van deze tour is samen te vatten in drie stappen: 1. Laat de software een bepaalde actie ondernemen 2. Begrijp welke bronnen er nodig zijn om die actie succesvol uit te voeren en af te ronden 3. Verwijder of beperk de toegang tot deze bronnen in verschillende mate. Op welke manier reageert de applicatie op deze restricties? De antisociaaltour In de antisociaal test tour vult de tester de meest onlogische gegevens is, neemt de meest onlogische beslissingen. De antisociaal tour heeft drie varianten: 1. De tegenovergestelde tour: het invullen van de meest onlogische input (min getallen, veel getallen achter de komma, enz.). 2. Misdaadgolf tour: de applicatie niet toegestane input laten verwerken. Op welke manier reageert de applicatie? Hou hierbij de foutberichten van de applicatie bij. 3. Wrong turn tour: doe verschillende handelingen in de verkeerde volgorde. Hierbij gaat het vooral om te proberen of de handelingen ook in een verkeerde volgorde te doen zijn. De obsessieve compulsieve tour In deze tour gaat het er om handelingen tot in het dwangmatige te herhalen. Gegevens invoeren, opslaan, terug gaan, opnieuw invoeren, enz. Dit is van belang omdat gebruikers ook niet altijd de meest logische stappen nemen, fouten maken, terug willen kijken of alles goed ingevuld is, in tegenstelling tot wat ontwikkelaars denken.
Almere © 2013
Proud of it
Organisatie Titel Onderwerp
SYSQA B.V. Test tours Een introductie
Pagina Versie Datum
8 van 9 1.0 25-01-2013
3 De toegevoegde waarde van test tours Test tours heeft een aantal voordelen. Test tours biedt de mogelijkheid om juist de verbindingen tussen functionaliteiten te testen. De verschillende tours geven opties om op verschillende manieren door de applicatie heen te testen. Doordat de applicatie steeds met een andere focus of met een ander doel benaderd wordt, worden zoveel mogelijk bugs gevonden. Binnen exploratory testing biedt test tours als voordelen het aanbrengen van focus en van herhaalbaarheid. De manier en doel van de benadering van de applicatie liggen vooraf vast, de testers worden met een boodschap op pad gestuurd. Hierdoor kan bij het herhalen van tests de tester met dezelfde boodschap op pad gestuurd worden. Door het structureren van het exploratory testing aan de hand van de verschillende tours kan het testen opgedeeld worden. Elke tester kan een paar verschillende tours door de applicatie doen.
4 Conclusie De verschillende test tours bieden een hulpmiddel om zowel het denken van de tester over het benaderen van de applicatie, als het testen zelf te structureren. De bovenstaande lijst met verschillende tours dient vooral als een ‘heb je hieraan gedacht’-checklist. Door het volgen van de tours wordt het aantal keuzes dat een tester moet nemen beperkt, en gemakkelijker. Deze benadering wijkt wel enigszins af van de gedachte van exploratory testing, die er van uit gaat dat de testscripts pas tijdens het testen geschreven worden. Door te kiezen voor een tour wordt de te volgen route vastgelegd.
Almere © 2013
Proud of it
Organisatie Titel Onderwerp
SYSQA B.V. Test tours Een introductie
Pagina Versie Datum
9 van 9 1.0 25-01-2013
5 Literatuurverwijzingen Whittaker, J. A. (2010) Exploratory software testing. Boston: Pearson education
Almere © 2013
Proud of it