View
212
Download
0
Category
Tags:
Preview:
Citation preview
Exploratory TestingHarry Storimans
Introductie
Wie ben ik: Harry Storimans Functie: Testconsultant IT-Zamna E-Mail: h.storimans@caiway.nl Web: www.IT-Zamna.com Mobiel IT-Zamna: 06-43498737 Mobiel H. Storimans: 06-29573633
2
Agenda
• 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
Doel 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
Wat 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
Wat is testen
• In zo’n 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 risico’s
6
Wat is Exploratory TestingBij 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
Exploratory Testing
• Wat is ET en wanneer te gebruiken• Kennis opdoen• Diepgang• Inzicht krijgen in…
8
Error 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
ET 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/ofde basis vormt voor het kunnen aantonen van de kwaliteit
(dekkingsgraad) van de uitgevoerde test”.
10
Error 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
Error guessing
• Geen plan, geen documentatie• Doe maar wat en zie wat er gebeurd• Domeinkennis dient aanwezig te zijn• Alleen gebruiken in LOW Risk Areas:
• Risico’s en impact minimaal• Kijk maar wanneer het gedaan wordt
• Vrijdagmiddag aanpak
12
Error 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
Verschillen Error guessing vs ET
14
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
ET - 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
Exploratory 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
ET
• 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
Exploratory 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
Specificatie 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
Exploratory 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
Exploratory 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
Exploratory 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
ET versus scripted testing
• Volledig gespecificeerde manier• Exploratory testing
• Ad-hoc testen Exploratory testing Error
guessing
23
SpecificatieSpecificatieFaseFase
LT, FTLT, FT Ad-HocAd-Hoc
Wat is gespecificeerd testen
• Testen inlogscherm (alleen functioneel)• Username• Passworduttons: Logon, cancel
• Start inlogscherm
24
Test 1 Test 2 Test 3 Test 4
User-id Xyz Xyz “ ” Xyz
Password Zyx Zyx Zyx “”
Actie <enter> Login <enter> Etc
Resultaat Login ok Login ok rejected etc
Eenvoudig testpatroon• Invoer velden:
• Valid/juiste data• Invalid/onjuiste data• Lengte: max• Lengte >max• Lengte =max+1
• Acties• Keyboard• Buttons
• Mogelijkheden: CRUD opstellen/uitvoeren• Toevoegen (C)• Wijzigen (U)• Verwijderen (D)• Raadplegen (R) (controleren wijzigingen, verwijderen
25
Vaardigheden testerBenodigde 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
Hoe 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
Example 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 (can’t see all the input)• Various syntax tests
• See Myers answer • Note: the average score is 7.8 (out of the basic 13)
28
Exploratory 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
Exploratory 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
Exploratory 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
Exploratory 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
Exploratory testing (9)
Niet toe te passen als: er hogere eisen aan de aantoonbaarheid/verslaglegging
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
Exploratory 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
Conclusie 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
Conclusie 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 risico’s 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
Elementen van ET Opstellen testcharter: lijst met risico’s, dekking, to do listProduct onderzoek: wat moet het doenTestontwerp: hoe gaan we de problemen aanpakken,
testideeën ipv formele testscriptsTestuitvoeringReviewen Heuristics: guideliness/regels/checklisten over hoe en
waarom
37
Test 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
Charter: 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
Test 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
Team 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
Heuristics
• 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
Heuristics
• 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
Voordelen 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
ET teams
• Zorg ervoor dat je een goed team samenstelt• Enkele belangrijke skills die aanwezig dienen te zijn:
• Technische kennis• Domeinkennis• Testervaring• Projectervaring
45
Maken van notities
• Testdekking • Naam tester, naam observator• Test executie log• Bevindingen gedaan• Kwaliteit indicator
• Aantal major defects gevonden per uur• Risico’s
46
Debriefing
• Aan het einde testdag• Beheren risico’s, evt nieuwe risico’s• Prioriteren gedane bevindingen• Verspreiden informatie aan relevante personen• Coaching en training van testers
47
Exploratory 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
Exploratory 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
Waar 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
Waar 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
ET 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
Het 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
Exploratory 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
Key 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
Session 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
Session 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
Als 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
Als 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 productrisico’s en issues
beschreven?• Vindt er dagelijks een overleg plaats binnen het testteam om de ervaringen van
die dag te bespreken?
59
Als 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
Overal conclusie
• SILVER BULLET = NO
• USEFUL = YES
61
Einde workshop ET ®
Recommended