Wat is verkennend testen? Technieken met voorbeelden

Inhoudsopgave:

Anonim

Wat is verkennend testen?

EXPLORATORY TESTING is een soort softwaretest waarbij testcases niet van tevoren worden gemaakt, maar testers het systeem ter plekke controleren. Ze kunnen ideeën noteren over wat ze moeten testen voordat ze de test uitvoeren. De focus van verkennend testen ligt meer op testen als een "denk" -activiteit.

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

Bij scripttesten ontwerpt u eerst testcases en gaat u later verder met het uitvoeren van de test. Integendeel, verkennend testen is een gelijktijdig proces van testontwerp en testuitvoering die allemaal tegelijkertijd worden uitgevoerd.

Scripted Test Execution is meestal een niet-denkende activiteit waarbij testers de teststappen uitvoeren en de werkelijke resultaten vergelijken met de verwachte resultaten. Dergelijke testuitvoering kan worden geautomatiseerd en vereist niet veel cognitieve vaardigheden.

Hoewel de huidige trend bij het testen van software is om te streven naar automatisering , is verkennende testen een nieuwe manier van denken. Automatisering kent zijn grenzen

Verschillen tussen Scripted en Exploratory Testing

Scripted testen Verkennende toetsing
Geregisseerd vanuit vereisten Geregisseerd vanuit requirements en verkenning tijdens testen
Bepaling van testcases ruim van tevoren Bepaling van testgevallen tijdens het testen
Bevestiging van testen met de vereisten Onderzoek van systeem of applicatie
Benadrukt voorspelling en besluitvorming Benadrukt aanpassingsvermogen en leren
Betreft bevestigde testen Betreft onderzoek
Gaat over het controleren van tests Gaat over Verbetering van het testontwerp
Alsof je een toespraak houdt - 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 toetsing -

  • Het is geen willekeurige test, maar het is ad-hoc testen met als doel bugs te vinden
  • Is gestructureerd en rigoureus
  • Is cognitief (denkend) gestructureerd in vergelijking met de procedurele structuur van scripttesten. Deze structuur is afkomstig van Charter, time boxing enz.
  • Is zeer leerzaam en beheersbaar
  • Het is geen techniek, maar het is een benadering. Welke acties u vervolgens uitvoert, wordt bepaald door wat u momenteel doet

Hoe verkennend testen te doen

Hieronder volgt een stapsgewijs proces over het uitvoeren van verkennende tests , ook wel sessie-gebaseerd testbeheer (SBTM-cyclus) genoemd:

  1. Maak een bugtaxonomie (classificatie)
    • Categoriseer veelvoorkomende soorten fouten die in eerdere projecten zijn aangetroffen
    • Analyseer de oorzaakanalyse van de problemen of fouten
    • Zoek de risico's en ontwikkel ideeën om de applicatie te testen.
  2. Testhandvest
    • Test Charter zou moeten suggereren
      1. wat te testen
      2. hoe het kan worden getest
      3. Wat moet worden gekeken
    • Testideeën zijn het startpunt van exploratietesten
    • Testcharter helpt te bepalen hoe de eindgebruiker het systeem zou kunnen gebruiken
  3. Time Box
    • Deze methode omvat een paar testers die niet minder dan 90 minuten samenwerken
    • Er mag geen onderbroken tijd zijn in die 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 het juiste resultaat
  4. Resultaten beoordelen:
    • Evaluatie van de gebreken
    • Leren van het testen
    • Analyse van dekkingsgebieden
  5. Nabespreking:
    • Compilatie van de outputresultaten
    • Vergelijk de resultaten met het charter
    • Controleer of er aanvullende tests nodig zijn

Tijdens de verkennende uitvoering moet bijvoorbeeld het volgende worden gedaan:

  • De missie van testen moet heel duidelijk zijn
  • Noteer wat er moet worden getest, waarom het moet worden getest en de beoordeling van de productkwaliteit
  • Bijhouden 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 testcases 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 - opnamen van de testuitvoering
  • Problemen / vragen - Maak aantekeningen over de vraag en problemen op het systeem

Slimmer verkennend testen vindt meer fouten in minder tijd.

Voors en tegens van verkennende tests

Pro Con
  • Deze test is handig wanneer vereiste documenten niet of gedeeltelijk beschikbaar zijn
  • Het omvat een onderzoeksproces dat helpt bij het vinden van meer bugs dan bij normaal testen.
  • Ontdek bugs die normaal gesproken worden genegeerd door andere testtechnieken
  • Helpt de verbeeldingskracht van testers uit te breiden door steeds meer testcases uit te voeren, wat uiteindelijk ook de productiviteit verbetert
  • Deze test dringt door tot in het kleinste deel van een applicatie en dekt alle vereisten
  • Dit testen omvat alle soorten testen en omvat verschillende scenario's en gevallen
  • Moedigt creativiteit en intuïtie aan
  • Genereren van nieuwe ideeën tijdens testuitvoering
  • 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 die worden hieronder toegelicht:

  • Het leren gebruiken van de applicatie of het softwaresysteem is een uitdaging
  • Replicatie van mislukking is moeilijk
  • Bepalen of er tools moeten worden gebruikt, kan een uitdaging zijn
  • Bepalen welke testcases het beste zijn om uit te voeren, kan moeilijk zijn
  • Het rapporteren van de testresultaten is een uitdaging omdat het rapport geen geplande scripts of cases heeft om te vergelijken met het werkelijke resultaat of resultaat
  • Documentatie van alle gebeurtenissen tijdens de uitvoering is moeilijk vast te leggen
  • Weet niet wanneer u het testen moet stoppen, want verkennend testen heeft duidelijke testgevallen om uit te voeren.

Wanneer verkennend toetsen gebruiken?

Exploratory testing kan uitgebreid worden gebruikt wanneer

  • Het testteam heeft ervaren testers
  • Een vroege iteratie is vereist
  • Er is een kritische toepassing
  • Er kwamen nieuwe testers in het team

Gevolgtrekking:

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