Title: Exploratory Testing
1Exploratory Testing
Harry Storimans
2Introductie
- Wie ben ik Harry Storimans
- Functie Testconsultant IT-Zamna
- E-Mail h.storimans_at_caiway.nl
- Web www.IT-Zamna.com
- Mobiel IT-Zamna 06-43498737
- Mobiel H. Storimans 06-29573633
2
3Agenda
- Kennismaking introductie
- Wat is ET?
- Verschil met
- Error guessing
- Scripted testen
- Ervaren testers
- ET procedure Voorbereiding
- Koffie en thee
- Case Testcharter
- ET procedure Uitvoering
- Toepassen van ET in de praktijk
- Afronding en evaluatie
3
4Doel van de workshop
- Inzicht verkrijgen in ontstaan en procedures van
ET - Inzicht verkrijgen in het verschil tussen ET en
andere testtechnieken (informele- en formele
testtechnieken) - Inzicht verkrijgen in wanneer ET te gebruiken en
wanneer ET niet te gebruiken - Inzicht verkrijgen in de benodigde skills
- Tester waar dient deze aan te voldoen
(materiedeskundige zijn) - Benodigdheden minimaal nodig
- Kunnen toepassen van ET in de praktijk
- Niet de gouden oplossing
4
5Wat is de workshop niet
- Gaat niet over testtechnieken/welke/wanneer.
- Hoe een product testen/testaanpak/teststrategie
- Gaat alleen over ET
- Wanneer wel/niet toepassen (toepasbaarheid)
- Voordelen/nadelen
- Skills (tester, materiedeskundige)
- procedure
5
6Wat is testen
- In zon kort mogelijke tijd zoveel mogelijk
fouten vinden - Oordeel kunnen geven over de kwaliteit van het
product - Tussenfasen van ene testsoort naar andere
testsoort - Onderbouwd eind oordeel over kwaliteit product
- Testen bestaat uit activiteiten die uitgevoerd
worden om een of meer kenmerken van een product,
proces of dienst vast te stellen volgens een
gespecificeerde procedure - Testen is een proces dat inzicht geeft inzicht en
adviseert over de kwaliteit en de daaraan
gerelateerde risicos
6
7Wat is Exploratory Testing
- Bij ET geen gedetailleerde testgevallen die
worden gespecificeerd voorafgaand aan de fase
testuitvoering. - Bij ET worden de fasen testspecificatie en
testuitvoering in principe parallel uitgevoerd. - ET biedt veel meer vrijheden aan de tester en
lijkt in sommige aspecten op informele
technieken, zoals ad-hoc testen of
error-guessing. - Bij ET sprake van een gedetailleerde procedure
waarin specifieke taken, een aanpak,
doelstellingen en producten zijn vastgelegd. - Door de algemene procedure goed te definiëren en
te volgen wordt ET een systematisch proces.
7
8Exploratory Testing
- Wat is ET en wanneer te gebruiken
- Kennis opdoen
- Diepgang
- Inzicht krijgen in
8
9Error guessing vs ET
- Testtechniek waarbij de ervaring van de tester
een zeer grote rol speelt. - Materiedeskundigheid tester is een must
- Informele techniek,
- Tester werkt vanuit kennis en ervaring met
systeem - Bevindingen vaak moeilijk na te spelen (geen
testscript aanwezig) - Gevaar oplossen van de gedane bevindingen wordt
bemoeilijkt - Monkey test
- Alleen uitvoeren als er eerst formele testen
zijn uitgevoerd - FAT, GAT, PAT
9
10ET volgens Cem Kraner
- Exploratory testen is elke vorm van testen
waarbij de tester zijn testontwerp opstelt
tijdens de testuitvoering, en de informatie die
wordt verkregen tijdens het testen wordt gebruikt
om nieuwe en betere testgevallen te ontwerpen. - Daarnaast geldt dat
- de tester geen gebruik hoeft te maken van
testscripts of specifieke (test)procedures - de tester geen testware hoeft te vervaardigen
die kan worden hergebruikt door andere testers
en/of - de basis vormt voor het kunnen aantonen van de
kwaliteit (dekkingsgraad) van de uitgevoerde
test.
10
11Error guessing
- Gissen naar fouten
- Uitvoeren van tests die anders niet aan bod komen
- Zeer informele techniek
- Tip kan ook gebruikt worden om bijvoorbeeld
gebruikers of beheerders vertrouwen te laten
krijgen in een systeem.
11
12Error guessing
- Geen plan, geen documentatie
- Doe maar wat en zie wat er gebeurd
- Domeinkennis dient aanwezig te zijn
- Alleen gebruiken in LOW Risk Areas
- Risicos en impact minimaal
- Kijk maar wanneer het gedaan wordt
- Vrijdagmiddag aanpak
12
13Error guessing - nadelen
- Geen duidelijk testdoel
- Niet van te voren vastgelegd wat het doel is van
de testen - Dekking kan niets over gezegd worden
- Herhaalbaarheid bevindingen erg moeilijk
- Vinden van bevindingen is gebaseerd op geluk
- Moeilijk te beheren/managen
13
14Verschillen Error guessing vs ET
Error guessing Exploratory testing
Maakt geen gebruik van de basistechnieken Maakt afhankelijk van de situatie gebruik van de meest passende basistechnieken
Geschikt voor testers, gebruikers, beheerders Geschikt voor ervaren testers met kennis van de basistechnieken
Testgevallen worden in de fase specificatie of tijdens testuitvoering ontworpen De testgevallen worden tijdens testuitvoering ontworpen
Richt zich op de uitzonderingen en moeilijke situaties Richt zich op het totaal van een te testen aspect (scherm, functie)
Niet systematisch, geen enkele zekerheid over dekking Enigszins systematisch
14
15ET - aanpak
- Gebaseerd op traditionele technieken, test worden
eerst opgesteld en daarna uitgevoerd. - ET test worden gedurende de uitvoeringsfase
opgesteld - Opstellen, gelijk uitvoeren.
- Fase Specificatie volgens TMap wordt overgeslagen
- Besparing van 40/45 (tijd/geld)
15
16Exploratory testing (1)
- Door James Bach als begrip en aanpak neergezet en
beschreven - het simultaan leren, ontwerpen en uitvoeren van
tests, met andere woorden elke vorm van testen
waarbij de tester zijn testen ontwerpt tijdens de
testuitvoering en de informatie die wordt
verkregen tijdens het testen wordt gebruikt om
nieuwe en betere testgevallen te ontwerpen. - Geld, tijd en resource besparing.
16
17ET
- Tester steeds een stukje van het te testen
systeem verkent (exploreert), nadenkt over wat
getest moet of kan worden (testontwerp) en dit
vervolgens ook doet (testuitvoering) - Exploreert-Testontwerp-Testuitvoering
17
18Exploratory testing (2)
- Geen pure test specificatietechniek
- Geen formele testtechniek
- Tester maakt tijdens de testuitvoering telkens
een keuze over welke test hij wil uitvoeren - Tester ontwerpt ter plekke een test,
gebruikmakend van zijn kennis van test
specificatietechnieken, zonder deze te
documenteren - Geen plaats in de fase specificatie, (kosten
besparen) - Leren van het systeem
- Waar liggen de sterke punten van het systeem
- Waar liggen de zwakke punten van het systeem
18
19Specificatie fase
- Opstellen van logische testgevallen
- Duidelijk testdoel
- Opstellen fysieke testgevallen
- Hoe gaan we dit testen
- Met welke waarden (valid, invalid)
- Specificatie fase is een vrij dure en drukke fase
- Testbasis dient van zeer goede kwaliteit te zijn
(reviews, definitieve versies, geaccordeerde
versies) - Fase wordt bij exploratory testen overgeslagen
- Tijd gewin
- Budget gewin
- 35 totale testtijd gaat op aan specificatiefase
19
20Exploratory testing (3)
- Elementen van Exploratory testing
- wat ga je testen (binnen de scope, testopdracht)
- wat gaan we niet testen (buiten de scope)
- waarom gaan we dit testen
- Wat willen we aantonen
- hoe gaan we dit testen
- Techniek (semantisch, syntactisch)
- verwachte problemen (waar denk je dat het mis
gaat) - referentie gegevens
20
21Exploratory testing (4)
- Tester verkent steeds een stukje van het te
testen systeem - Tester denkt na over wat er getest moet of kan
worden (testontwerp) - Tester brengt dit ter uitvoering (testuitvoer)
- Hierdoor doet de tester gelijk weer nieuwe kennis
op over het systeem, en denkt na over wat er
vervolgens getest moet worden
21
22Exploratory testing (5)
- Ontwerpen en uitvoeren van de tests gebeurt
daarmee zeer dicht op elkaar - Vastleggen van het testgeval is niet nodig
- Er vindt dus wel testontwerp plaats in
tegenstelling tot ad-hoc of ongestructureerd
testen
22
23ET versus scripted testing
- Volledig gespecificeerde manier
- Exploratory testing
- Ad-hoc testen
- Exploratory
testing Error guessing
Specificatie Fase LT, FT
Ad-Hoc
23
24Wat is gespecificeerd testen
- Testen inlogscherm (alleen functioneel)
- Username
- Passworduttons Logon, cancel
- Start inlogscherm
Test 1 Test 2 Test 3 Test 4
User-id Xyz Xyz Xyz
Password Zyx Zyx Zyx
Actie ltentergt Login ltentergt Etc
Resultaat Login ok Login ok rejected etc
24
25Eenvoudig testpatroon
- Invoer velden
- Valid/juiste data
- Invalid/onjuiste data
- Lengte max
- Lengte gtmax
- Lengte max1
- Acties
- Keyboard
- Buttons
- Mogelijkheden CRUD opstellen/uitvoeren
- Toevoegen (C)
- Wijzigen (U)
- Verwijderen (D)
- Raadplegen (R) (controleren wijzigingen,
verwijderen
25
26Vaardigheden tester
- Benodigde vaardigheden van de tester
- testontwerp vaardigheden
- observatievermogen
- kritisch kunnen denken
- terug kunnen vallen op ervaringen
- juiste vragen kunnen stellen
- verder kunnen denken dan gewenst
- Materiedeskundigheid
- ET dus niet toepassen als je niet beschikt over
ervaren testers binnen testteam en of organisatie
26
27Hoe kundig ben jij
- Oefening the Triangle program
- Specificaties
- This program takes three numbers as an input
- The numbers represent the dimension of a triangle
- When you click on the check button, the program
tells you what kind of triangle the sides
represent - Scalene (no side equal to any other)
- Isosceles (two sides are equal)
- Equilateral (all sides are equal)
- Please test this program!!!!
- 5-10 minutes
27
28Example of tests The Triangle Program
- Test case for a valid equilateral triangle
- At least three test cases that represent valid
isosceles triangles - (3,3,4 3,4,3 4,3,3)
- Test case in which one side has zero value
- What about the inputs.???????
- High numbers (what is a high number)
- Long numbers (cant see all the input)
- Various syntax tests
- See Myers answer
- Note the average score is 7.8 (out of the basic
13)
28
29Exploratory testing (6)
- Moeilijk op één lijn te plaatsen met de overige
testontwerp technieken - Niet gebaseerd op een van de basis technieken
- Laat keuze te gebruiken techniek vrij aan de
tester - Geeft geen gegarandeerde dekking
- Veel gebruikte testtechnieken zijn
- Semantische testtechniek (relatie controles)
- Syntactische testtechniek (waarden, lengtes)
- CRUD
29
30Exploratory testing (7)
- Testen zonder formele testbasis zoals een
functioneel ontwerp - Legt minder nadruk op een beschreven testbasis en
meer op andere manieren om te beoordelen of het
testobject voldoet - Materiedeskundigheid is een MUST
- Ervaring tester is een MUST
30
31Exploratory testing (8)
- Toe te passen als
- ervaren testers met materiekennis beschikbaar
zijn waarin men voldoende vertrouwen heeft - zo goedkoop mogelijk testen verreweg de
belangrijkste overweging is - er onvoldoende gedocumenteerde testbasis is
- aanvulling op het testen volgens formele
technieken met als doel creatief testen te
stimuleren - er geen tijd beschikbaar is om de tests voor te
bereiden
31
32Exploratory testing (8)
- Toe te passen als
- Wanneer de testers snel willen leren hoe het
systeem werkt - Om een snelle eerste indruk te krijgen van de
kwaliteit van het systeem - Om de kwaliteit van andermans testen met een
korte test te beoordelen
32
33Exploratory testing (9)
- Niet toe te passen als
- er hogere eisen aan de aantoonbaarheid/verslaglegg
ing van testen worden gesteld, bijvoorbeeld door
opgelegde standaards - er sprake is van kritische functionaliteit
waarvan het falen grote schade kan veroorzaken - het testteam bestaat uit onervaren testers
- de testgevallen moeten kunnen worden uitgevoerd
door een andere tester - de testgevallen herbruikbaar moeten zijn
33
34Exploratory testing (10)
- Niet toe te passen als
- er geen rechtstreekse feedback van testuitvoering
is, zodat de resultaten niet direct beschikbaar
zijn - er sprake is van testen die veel voorbereiding
vergen - testen zo kort mogelijk op het kritieke pad van
het project moeten zitten - De tester begint bij ET laat, pas nadat het
testobject is opgeleverd - Acceptatie testen reeds zijn uitgevoerd
- Te veel nadruk op de fase testuitvoering
- Door het ontbreken van resultaatvoorspellingen
worden fouten niet ontdekt - Exploratory testen eist ervaren testers
34
35Conclusie
- ET een complementaire techniek is, die je als
tester in je bagage moet meenemen. (ET maakt
overigens onderdeel uit van de ISEB Practitioner
Certificate in Software Testing opleiding, en
diverse opleidingsinstituten bieden inmiddels een
Workshop Exploratory Testen aan.) Het is zeker
geen informele techniek zoals error- guessing,
maar een gestructureerde techniek die voor- en
nadelen heeft.
35
36Conclusie
- Afhankelijk van de situatie, bijv. ervarenheid
testteam, soort product, belang testware, etc,
kan worden overwogen ET wel of niet in te zetten.
ET is ook uitermate geschikt bij bepaalde stappen
van minder traditionele ontwikkelmethodieken
zoals DSDM en RuP. Uiteraard blijft de
belangrijkste overweging om - ET al dan niet toe te passen de business risicos
van het product. Testen is en blijft immers
risk-based. - Al met al is ET een interessante toevoeging aan
het testvakgebied. Redenen genoeg voor testers om
hier eens gedegen naar te gaan kijken.
36
37Elementen van ET
- Opstellen testcharter lijst met risicos,
dekking, to do list - Product onderzoek wat moet het doen
- Testontwerp hoe gaan we de problemen aanpakken,
testideeën ipv formele testscripts - Testuitvoering
- Reviewen
- Heuristics guideliness/regels/checklisten over
hoe en waarom
37
38Test charter
- Wat ga je testen (Scope)
- Definieer eenduidig de testopdracht / scope
- Wat gaan we niet testen
- Definieer eenduidig wat buiten de scope valt
- Waarom gaan we dit testen
- Beschrijf hier het doel van de test
- Hoe gaan we dit testen (brainstormen)
- Beschrijf hier de manieren om dit te bereiken
- Verwachte problemen (waar denk je dat het mis
gaat) - Beschrijf hier de te verwachten problemen
/ervaring, materiedeskundigheid - Referentie gegevens
38
39Charter Search Engine (Company internal)
- What engine to look up other sources of
information in the company - Why to test the search feature with single
information sources and multiple sources, to see
that the retrieved information is presented
consistently and according to standards, and that
the retrieved information is correct - How search from the WEB portal as well as
continue searching in the result list - Expected problems
- Some information not found
- Not possible to navigate to information found
(jumping between information found) - Information found not presented consistently
39
40Test mogelijkheden
- Probeer alle foutmeldingen naar voren te halen
- Middels invoer in systeem verifiëren of de juiste
melding wordt gegeven (bruikbaar voor gebruiker) - Zorg dat defaults worden getoond
- Zorg ervoor dat default waarden worden getoond
middels invoer - Onjuiste output verkrijgen
- Laat systeem onjuiste output genereren middels
invoer - Overflow input buffer
- Refresh screen
- Input constraint attacks
- Output constraint attacks
- Storage constrains attacks
- Computation attacks
40
41Team gebaseerd werken
- Twee personen testen gezamenlijk (paar)
- Uitvoerder, observator
- Reguliere bevindingen overleggen plannen/houden
- Bevindingenbeheer is wel duidelijk aanwezig
- Bevindingen procedure aanwezig
- Gezamenlijk leren, motiveren
- Zorg voor een juiste/ werkbare samenstelling van
het team
41
42Heuristics
- Bekendste manier om usability te testen.
- Systematisch onderzoek gedaan naar de uasbility
van het ontwerp van de gebruikersinterface - Doel om problemen in het design van de
gebruikersinterface te ontdekken - Door dit al te doen in de ontwerpstadium kunnen
deze tijdig opgelost worden - Groep van 3-5 experts hun mening over de
gebruikersinterface conform een aantal usability
principes (heuristics genoemd)
42
43Heuristics
- Men onderkent 10 heuristics
- Zichtbaarheid van de systeemstatus
- Site moet aan gebruiker duidelijk maken wat er
gebeurt, door het geven van feedback - Site moet aan gebruiker duidelijk maken wat er
gebeurt, door het geven van feedback - Overeenkomst tussen systeen en echte wereld
- Controle en vrijheid voor de gebruiker
- Laat gebruiker zelf kiezen waar ze heen willen
gaan (Home-Button) - Consistentie van standaards
- Foutpreventie
- Herkenning in plaats van herinnering
- Flexibiliteit en efficiëntie van gebruik
- Gebruiker zou geen informatie hoeven te onthouden
om de weg door de site te vinden - Esthetisch en minimalistisch ontwerp
- Geef niet te veel informatie
- Hulp aan gebruiker om fouten te herkennen,
oorzaak te achterhalen en te herstellen - Help en documentatie
43
44Voordelen Pair Testing
- Genereren van meer ideeën
- Flip-over voor het noteren van opgedane ideeën,
stroomlijnen - Meer werk plezier
- Beter bevindingen beheer
- Leren van elkaar (training)
44
45ET teams
- Zorg ervoor dat je een goed team samenstelt
- Enkele belangrijke skills die aanwezig dienen te
zijn - Technische kennis
- Domeinkennis
- Testervaring
- Projectervaring
45
46Maken van notities
- Testdekking
- Naam tester, naam observator
- Test executie log
- Bevindingen gedaan
- Kwaliteit indicator
- Aantal major defects gevonden per uur
- Risicos
46
47Debriefing
- Aan het einde testdag
- Beheren risicos, evt nieuwe risicos
- Prioriteren gedane bevindingen
- Verspreiden informatie aan relevante personen
- Coaching en training van testers
47
48Exploratory testing (13)
- Samenvatting voordelen Exploratory testing
- Snel schakelen
- Adequaat reageren
- Snel kunnen starten
- Teamwork
- Bredere kennisontwikkeling tussen ontwikkelaar en
tester - Snel resultaat
- Geschikt voor kleine projecten
48
49Exploratory testing (14)
- Nadelen Exploratory testing
- Gezelligheid binnen team/balans zien te vinden
- Veredelde error guessing
- Charter moeten opstellen
- Specificatie fase ?????
- Kosten aspect
- Kritische/risicovolle delen
- Worden niet meegenomen ivm impact
49
50Waar ET gebruiken
- Nauwelijks specificaties aanwezig zijn
- Vinden van de meest kritische bevindingen in een
redelijk kort tijdsbestek - Er geen tijd is voor specificeren testgevallen
(Fase specificatie) - Veel domeinkennis aanwezig
- Formele testen zijn reeds uitgevoerd (FAT, GAT)
50
51Waar niet gebruiken
- Testen van batch systemen
- Testware belangrijk is om op te leveren
- Testers met relatief nog weinig skills
- Risicovolle onderdelen van het systeem
51
52ET discussie oefening
- ET in eigen team
- Benoem drie voordelen en drie nadelen van ET
- Benoem een aantal real-life situaties waar ET
gebruikt zou kunnen worden binnen eigen project.
52
53Het optimale halen uit ET
- Bekend zijn met het logische van testen
- Training in kritisch lezen en interviewen
- Gebruik maken van mensen
- Werk in paren (team based aanpak)
- Opstellen van notes die in review kunnen genomen
worden
53
54Exploratory testing (15)
- Status van Exploratory testing
- Er is nog geen eenduidige aanpak
- Informele testtechniek
- Bekendheid klein
- Goeroes
- James Bach
- Cem Kaner
- Stale Almland
- James Whittaker
54
55Key learning points
- ET maakt testers bekend met product
- Gebaseerd op opgestelde testcharters
- Een techniek, geen methode
- Goed te combineren met Tmap (fasering,
testtechnieken) - Te gebruiken na formele testen zoals FAT, GAT
55
56Session based test management
- Variant op ET
- Nadeel ET onbeheersbaarheid
- Ondervangen door session based test management
- Jonathan Bach
- Het te testen systeem verdeeld in een aantal
testcharters - Functie, scherm, menu, gebruikershandleiding,
gebruikersvriendelijkheid - Criteria aan charter
- Het heeft een te behalen testdoel
- Het stelt een eenheid van werk voor, die ongeveer
tussen een half uur en vier uur in beslag neemt - Het is onafhankelijk testbaar, ofwel een tester
kan met elke testcharter beginnen of eindigen.
56
57Session based test management
- Testcharters worden getest in zogenaamde
testsessies - Tijdsperiode (half uur vier uur)
- Tijdens testen legt tester acties (op
hoofdlijnen) vast in de vorm van notities op het
sessieblad (herbruikbaar)
57
58Als je gebruik gaat maken van ET
- Dienen de onderstaande vragen met JA te worden
beantwoord - Worden tijdens de testvoorbereidingsfase
testcharters opgesteld ten behoeve van de
testsessies? - Wordt het testcharter uitgebreid gereviewed met
de belanghebbende, ontwikkelaars en collega
testers? - Is er ter ondersteuning van de fase
testuitvoering een uitgebreide lijst met
testideeën (heuristics) en meest voorkomende
fouten, beschikbaar? - Worden de ET activiteiten deels uitgevoerd door
ervaren testers die reeds ruime
58
59Als je gebruik gaat maken van ET
- Worden de testsessies uitgevoerd in teams van 2
personen? - Hebben de testsessies een maximale lengte van 1
dag (bij voorkeur minder)? - Worden er in de testsessies testverslagen
gemaakt, o.a. in het kader van aantoonbaarheid, - reproduceerbaarheid en eventueel ter opbouw van
testware? - Worden in deze testverslagen ook de nieuwe
productrisicos en issues beschreven? - Vindt er dagelijks een overleg plaats binnen het
testteam om de ervaringen van die dag te
bespreken?
59
60Als je gebruik gaat maken van ET
- Wordt op basis van het dagelijkse overleg bepaald
wat de meest interessante testgebieden zijn voor
de komende testperiode? - Kwaliteit aantonen is dit mogelijk bij ET
- Ja door in de testcharters expliciet de af te
dekken requirements op te nemen, is een redelijke
uitspraak over requirement dekking te geven. - Goede indicator kan zijn aantal fouten per
testuur
60
61Overal conclusie
- SILVER BULLET NO
- USEFUL YES
61
62Einde workshop ET