Vad är Exploratory Testing? Tekniker med exempel

Innehållsförteckning:

Anonim

Vad är Exploratory Testing?

EXPLORATORY TESTING är en typ av programvarutestning där testfall inte skapas i förväg men testare kontrollerar systemet i farten. De kan anteckna idéer om vad man ska testa innan testkörningen. Fokus för utforskande testning ligger mer på testning som en "tänkande" aktivitet.

Exploratory Testing används ofta i Agile-modeller och handlar om upptäckt, undersökning och lärande. Det betonar den individuella testarens personliga frihet och ansvar.

Under skripttest designar du testfall först och senare med testkörning. Tvärtom, utforskande testning är en samtidig process för testdesign och testkörning, allt gjort samtidigt.

Scripted Test Execution är vanligtvis en icke-tänkande aktivitet där testare utför teststegen och jämför de faktiska resultaten med förväntade resultat. Sådan testkörningsaktivitet kan automatiseras kräver inte många kognitiva färdigheter.

Även om den nuvarande trenden inom programvarutestning är att driva på automatisering , är utforskande testning ett nytt sätt att tänka. Automation har sina gränser

Skillnader mellan skript och utforskande testning

Skriftlig testning Exploratory Testing
Riktad från krav Riktad från krav och utforskning under testning
Fastställande av testfall i god tid i förväg Bestämning av testfall under test
Bekräftelse av testning med kraven Undersökning av system eller applikation
Betonar förutsägelse och beslutsfattande Betonar anpassningsförmåga och lärande
Innehåller bekräftad testning Involverar utredning
Handlar om att kontrollera tester Handlar om förbättring av testdesign
Som att hålla ett tal - du läser från ett utkast Som att prata - det är spontant
Manuset är i kontroll Testarens sinne är i kontroll

Explorerande testning -

  • Är inte slumpmässig testning men det är ad hoc-testning med syftet att hitta buggar
  • Är strukturerad och rigorös
  • Är kognitivt (tänkande) strukturerad jämfört med procedurstrukturen för skripttestning. Denna struktur kommer från stadga, tidsboxning etc.
  • Är mycket lärbar och hanterbar
  • Det är inte en teknik men det är ett tillvägagångssätt. Vilka åtgärder du utför nästa styrs av vad du gör för närvarande

Hur man gör Exploratory Testing

Nedan följer en steg för steg-process om hur man gör Exploratory Testing som också kallas sessionsbaserad testhantering (SBTM Cycle):

  1. Skapa en bug-taxonomi (klassificering)
    • Kategorisera vanliga typer av fel som hittats i tidigare projekt
    • Analysera orsaken till analysen av problemen eller felen
    • Hitta riskerna och utveckla idéer för att testa applikationen.
  2. Teststadga
    • Teststadgan bör föreslå
      1. vad man ska testa
      2. hur det kan testas
      3. Vad måste ses
    • Testidéer är utgångspunkten för prospekteringstestning
    • Testcharter hjälper till att avgöra hur slutanvändaren kan använda systemet
  3. Time Box
    • Denna metod inkluderar ett par testare som arbetar tillsammans inte mindre än 90 minuter
    • Det borde inte finnas någon avbruten tid under de 90 minuters sessionen
    • Timebox kan förlängas eller minskas med 45 minuter
    • Denna session uppmuntrar testare att reagera på svaret från systemet och förbereda sig för rätt resultat
  4. Granska resultat:
    • Utvärdering av bristerna
    • Lära av testningen
    • Analys av täckningsområden
  5. Debriefing:
    • Sammanställning av resultat
    • Jämför resultaten med stadgan
    • Kontrollera om ytterligare tester behövs

Till exempel, under explorativ körning, måste följande göras:

  • Testets uppdrag bör vara mycket tydligt
  • Anteckna vad som behöver testas, varför det behöver testas och bedömningen av produktkvaliteten
  • Spårning av frågor och frågor som tas upp under utforskande tester
  • Bättre att para ihop testarna för effektiv testning
  • Ju mer vi testar, mer sannolikt att vi utför rätt testfall för de nödvändiga scenarierna

Det är mycket viktigt att ta ett dokument och övervaka följande

  • Testtäckning - Oavsett om vi har antecknat täckningen av testfall och förbättrat programvarans kvalitet
  • Risker - Vilka risker måste täckas och vilka är alla viktiga?
  • Testkörningslogg - Inspelningar på testkörningen
  • Frågor / frågor - Anteckna frågan och frågorna i systemet

Smartare utforskande tester hittar fler fel på kortare tid.

För- och nackdelar med Exploratory Testing

Proffs Lura
  • Denna testning är användbar när kravdokument inte är tillgängliga eller delvis tillgängliga
  • Det involverar utredningsprocess som hjälper till att hitta fler buggar än normalt test-
  • Avtäck fel som normalt ignoreras av andra testtekniker
  • Hjälper till att utöka fantasin hos testare genom att utföra fler och fler testfall som äntligen förbättrar produktiviteten också
  • Denna testning går ner till den minsta delen av en applikation och täcker alla krav
  • Denna testning täcker alla typer av test och den täcker olika scenarier och fall
  • Uppmuntrar kreativitet och intuition
  • Generering av nya idéer under testutförande
  • Denna testning beror helt enkelt på testarens färdigheter
  • Begränsad av domänkunskap om testaren
  • Inte lämplig för lång exekveringstid

Utmaningar med utforskande testning:

Det finns många utmaningar med utforskande testning och de förklaras nedan:

  • Att lära sig att använda applikationen eller mjukvarusystemet är en utmaning
  • Replikering av misslyckande är svårt
  • Att avgöra om verktyg behöver användas kan vara utmanande
  • Bestäm de bästa testfall som ska utföras kan vara svåra
  • Rapportering av testresultaten är en utmaning eftersom rapporten inte har planerade manus eller fall att jämföra med det faktiska resultatet eller resultatet
  • Dokumentation av alla händelser under utförandet är svårt att registrera
  • Vet inte när du ska stoppa testningen eftersom utforskande testning har bestämda testfall att utföra.

När använder undersökande testning?

Exploratory testing kan användas i stor utsträckning när

  • Testteamet har erfarna testare
  • Tidig iteration krävs
  • Det finns en kritisk applikation
  • Nya testare kom in i laget

Slutsats:

Inom programvaruteknik utförs undersökande test för att övervinna begränsningarna för skripttestning. Det hjälper till att förbättra Test Case-sviten. Det har empati för inlärning och anpassningsförmåga.