De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

Exploratory Testing Harry Storimans.

Verwante presentaties


Presentatie over: "Exploratory Testing Harry Storimans."— 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: 2

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 Bij error guessing niets op papier, herhaalbaarheid zeer moeilijk Bij ET heb je de gemaakte testcharters, hierin staat wat en hoe je gaat testen, herhaalbaarheid minder moeilijk 13

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

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) Besparing is gebasseerd op het kunnen overslaan van de fase specificatie (Tmap norm) 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 Specificatie Fase LT, FT Ad-Hoc 23

24 Wat is gespecificeerd testen
Testen inlogscherm (alleen functioneel) Username Passworduttons: Logon, cancel Start inlogscherm Test 1 Test 2 Test 3 Test 4 User-id Xyz “ ” Password Zyx “” Actie <enter> Login Etc Resultaat Login ok rejected etc 24

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) Antwoorden Myers meegeven in map 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) Wat gaan we niet testen
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? De gemaakte testcharters dienen aan het einde geupdate worden en opgeslagen voor hergebruik Worden er gedurende de ET nieuwe productrisico’s gevonden ,dienen deze opgenomen te worden in het verslag 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."

Verwante presentaties


Ads door Google