Wat is verkennend testen?

Xray verkennende app (XEA)

Wat is verkennend testen?

Verkennend testen is een vorm van softwaretesten waarbij testgevallen niet van tevoren worden gemaakt, maar waarbij testers het systeem ter plekke controleren. Ze kunnen ideeën noteren over wat ze moeten testen voordat de test wordt uitgevoerd. De focus van verkennend testen ligt meer op testen als een ‘denkactiviteit’.

Exploratory Testing wordt veel gebruikt in Agile-modellen en draait helemaal om ontdekken, onderzoeken en leren. Het benadrukt de persoonlijke vrijheid en verantwoordelijkheid van de individuele tester.

Waarom verkennend testen?

Bij scripted testing ontwerpt u eerst testcases en gaat u later over tot testuitvoering. Exploratory testing is daarentegen een gelijktijdig proces van testontwerp en testuitvoering, allemaal tegelijkertijd.

Testuitvoering via scripts is meestal een niet-nadenkende activiteit waarbij testers de teststappen uitvoeren en de daadwerkelijke resultaten vergelijken met de verwachte resultaten. Dergelijke testuitvoeringsactiviteiten kunnen worden geautomatiseerd en vereisen niet veel cognitieve vaardigheden.

Verkennend testen

Hoewel de huidige trend bij het testen van software erop gericht is om aan te dringen automatisering, verkennend testen is een nieuwe manier van denken. Automatisering heeft zijn grenzen

Verkennend testen

Xray verkennende app (XEA)
Xray verkennende app (XEA)

Verschillen tussen scripttests en verkennende tests

Scripttesten Verkennend testen
Gestuurd vanuit eisen Gestuurd vanuit eisen en verkennend tijdens het testen
Bepaling van testgevallen ruim vooraf Bepaling van testgevallen tijdens het testen
Bevestiging van testen met de vereisten Onderzoek van systeem of applicatie
Benadrukt voorspellingen en besluitvorming Benadrukt aanpassingsvermogen en leren
Betreft bevestigde tests Betreft onderzoek
Gaat over het controleren van tests Gaat over het verbeteren van testontwerp
Net als bij het houden van een toespraak: je leest voor uit een concept Alsof je een gesprek voert – het is spontaan
Het script heeft de controle De geest van de tester heeft de controle

Verkennende testtechnieken

  • Het zijn geen willekeurige tests, maar ad-hoctests met als doel bugs te vinden
  • Is gestructureerd en nauwgezet
  • Is cognitief (denkend) gestructureerd vergeleken met de procedurele structuur van gescripte tests. Deze structuur komt van Charter, time boxing etc.
  • Is zeer leerzaam en beheersbaar
  • Het is geen techniek maar een aanpak. Welke acties u vervolgens uitvoert, wordt bepaald door wat u momenteel doet

Hoe u verkennende tests uitvoert

Hieronder volgt een stapsgewijs proces voor het uitvoeren van exploratief testen, ook wel sessiegebaseerd testmanagement (SBTM-cyclus) genoemd:

Stap 1) Maak een bugtaxonomie (classificatie)

  • Categoriseer veelvoorkomende soorten fouten die in eerdere projecten zijn aangetroffen
  • Analyseer de oorzaakanalyse van de problemen of fouten
  • Vind de risico's en ontwikkel ideeën om de applicatie te testen.

Stap 2) Testcharter

  • Test Charter zou moeten suggereren
    1. wat te testen
    2. hoe het getest kan worden
    3. Waar moet naar gekeken worden
  • Testideeën vormen het startpunt van verkenningstesten
  • Testcharter helpt bepalen hoe de eindgebruiker het systeem kan gebruiken

Stap 3) Tijd Box

  • Bij deze methode werken twee testers minimaal 90 minuten samen
  • Er mag geen onderbroken tijd zijn tijdens deze sessie van 90 minuten
  • Timebox kan met 45 minuten worden verlengd of verkort
  • Deze sessie moedigt testers aan om te reageren op de reactie van het systeem en zich voor te bereiden op de juiste uitkomst

Stap 4) Revbekijk resultaten

  • Evaluatie van de gebreken
  • Leren van de testen
  • Analyse van dekkingsgebieden

Stap 5) Nabespreking

  • Compilatie van de uitvoerresultaten
  • Vergelijk de resultaten met het charter
  • Controleer of er aanvullende tests nodig zijn

Best practice verkennend testen

Tijdens de verkennende uitvoering moet het volgende gebeuren:

  • De missie van het testen moet heel duidelijk zijn
  • Houd aantekeningen bij over wat er getest moet worden, waarom het getest moet worden en de beoordeling van de productkwaliteit
  • Het volgen van vragen en problemen die tijdens verkennende tests naar voren zijn gekomen
  • Het is beter om de testers te koppelen voor effectief testen
  • Hoe meer we testen, hoe groter de kans dat we de juiste testgevallen uitvoeren voor de vereiste scenario's

Het is erg belangrijk om een ​​document te nemen en het volgende te controleren

  • Testdekking – Of we aantekeningen hebben gemaakt over de dekking van testgevallen en de kwaliteit van de software hebben verbeterd
  • Risico’s – Welke risico’s moeten worden afgedekt en welke zijn allemaal belangrijk?
  • Testuitvoeringslogboek – Opnames over de testuitvoering
  • Problemen/query's – Maak aantekeningen over de vraag en problemen op het systeem

Slimmer verkennend testen ontdekt meer fouten in minder tijd.

Voor- en nadelen van verkennend testen

Voordelen

  • Dit testen is nuttig wanneer vereistedocumenten niet of gedeeltelijk beschikbaar zijn
  • Het omvat een onderzoeksproces dat helpt meer bugs te vinden dan bij normaal testen.
  • Ontdek bugs die normaal gesproken worden genegeerd door andere testtechnieken
  • Helpt de verbeeldingskracht van testers te vergroten door steeds meer testgevallen uit te voeren, wat uiteindelijk ook de productiviteit verbetert
  • Deze tests gaan door tot het kleinste onderdeel van een applicatie en dekken alle vereisten
  • Deze tests omvatten alle soorten tests en omvatten verschillende scenario's en gevallen
  • Stimuleert creativiteit en intuïtie
  • Genereren van nieuwe ideeën tijdens testuitvoering
  • Nadelen

    • Dit testen is puur afhankelijk van de vaardigheden van de tester
    • Beperkt door domeinkennis van de tester
    • Niet geschikt voor Lange uitvoeringstijd

    Uitdagingen van verkennend testen

    Er zijn veel uitdagingen bij verkennend testen en deze worden hieronder uitgelegd:

    • Het leren gebruiken van de applicatie of het softwaresysteem is een uitdaging
    • Replicatie van een mislukking is moeilijk
    • Het kan een uitdaging zijn om te bepalen of er hulpmiddelen moeten worden gebruikt
    • Het kan moeilijk zijn om te bepalen welke testgevallen het beste kunnen worden uitgevoerd
    • Het rapporteren van de testresultaten is een uitdaging, omdat het rapport geen geplande scripts of cases bevat om te vergelijken met het daadwerkelijke resultaat of de uitkomst
    • Documentatie van alle gebeurtenissen tijdens de uitvoering is moeilijk vast te leggen
    • Bij verkennend testen zijn er geen vaste testcases om uit te voeren, waardoor het lastig is om te bepalen wanneer je moet stoppen.

    Wanneer verkennend testen gebruiken?

    Verkennend testen kan op grote schaal worden gebruikt wanneer

    • Het testteam bestaat uit ervaren testers
    • Vroege iteratie is vereist
    • Er is een kritische toepassing
    • Er kwamen nieuwe testers bij het team

    Conclusie

    Bij Software Engineering worden verkennende tests uitgevoerd om de beperkingen van scripttests te overwinnen. Het helpt bij het verbeteren Testgeval suite. Het leeft in op leren en aanpassingsvermogen.