De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

Exploratory Testing Harry Storimans. Introductie  Wie ben ik: Harry Storimans  Functie: Testconsultant IT-Zamna 

Verwante presentaties


Presentatie over: "Exploratory Testing Harry Storimans. Introductie  Wie ben ik: Harry Storimans  Functie: Testconsultant IT-Zamna "— Transcript van de presentatie:

1 Exploratory Testing Harry Storimans

2 Introductie  Wie ben ik: Harry Storimans  Functie: Testconsultant IT-Zamna   Web:  Mobiel IT-Zamna:  Mobiel H. Storimans:

3 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

4 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

5 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

6 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

7 Wat 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

8 Exploratory Testing •Wat is ET en wanneer te gebruiken • Kennis opdoen • Diepgang • Inzicht krijgen in… 8

9 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

10 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/of  de basis vormt voor het kunnen aantonen van de kwaliteit (dekkingsgraad) van de uitgevoerde test”. 10

11 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

12 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

13 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

14 Verschillen Error guessing vs ET 14 Error guessingExploratory 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

15 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

16 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

17 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

18 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

19 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

20 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

21 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

22 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

23 ET versus scripted testing •Volledig gespecificeerde manier • Exploratory testing •Ad-hoc testen  Exploratory testing Error guessing 23 SpecificatieFase LT, FT Ad-Hoc

24 Wat is gespecificeerd testen •Testen inlogscherm (alleen functioneel) •Username •Passworduttons: Logon, cancel •Start inlogscherm 24 Test 1Test 2Test 3Test 4 User-idXyz “ ”Xyz PasswordZyx “” Actie Login Etc ResultaatLogin ok rejectedetc

25 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

26 Vaardigheden 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

27 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

28 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

29 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

30 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

31 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

32 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

33 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

34 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

35 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

36 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

37 Elementen van ET  Opstellen testcharter: lijst met risico’s, 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

38 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

39 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

40 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

41 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

42 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

43 Heuristics •Men onderkent 10 heuristics • Zichtbaarheid van de systeemstatus •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

44 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

45 ET teams •Zorg ervoor dat je een goed team samenstelt •Enkele belangrijke skills die aanwezig dienen te zijn: • Technische kennis • Domeinkennis • Testervaring • Projectervaring 45

46 Maken van notities •Testdekking •Naam tester, naam observator •Test executie log •Bevindingen gedaan •Kwaliteit indicator • Aantal major defects gevonden per uur •Risico’s 46

47 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

48 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

49 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

50 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

51 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

52 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

53 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

54 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

55 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

56 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

57 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

58 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

59 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

60 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

61 Overal conclusie •SILVER BULLET = NO •USEFUL = YES 61

62 Einde workshop ET ®


Download ppt "Exploratory Testing Harry Storimans. Introductie  Wie ben ik: Harry Storimans  Functie: Testconsultant IT-Zamna "

Verwante presentaties


Ads door Google