Vad är Exploratory Testing?

Vad är Exploratory Testing?

Utforskande testning är en typ av mjukvarutestning där testfall inte skapas i förväg utan testare kontrollerar systemet i farten. De kan anteckna idéer om vad de ska testa innan testkörning. Fokus för utforskande tester är mer på testning som en "tänkande" aktivitet.

Exploratory Testing används ofta i agila modeller och handlar om upptäckt, undersökning och lärande. Den betonar personlig frihet och ansvar för den individuella testaren.

Varför utforskande testning?

Under skripttestning designar du testfall först och fortsätter sedan med testkörning. Tvärtom är utforskande testning en simultan process av testdesign och testexekvering som allt görs 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.

Utforskande testning

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

Utforskande testning

Skillnader mellan skriptbaserad och utforskande testning

Skripttestning Utforskande testning
Riktad från krav Riktad från krav och utforskande under testning
Fastställande av testfall i god tid Fastställande av testfall under provning
Bekräftelse av provning med kraven Utredning av system eller applikation
Betona förutsägelser och beslutsfattande Betona anpassningsförmåga och lärande
Innebär bekräftad testning Innebär 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 föra en konversation – det är spontant
Manuset är i kontroll Testarens sinne har kontroll

Utforskande provningstekniker

  • Är inte slumpmässig testning men det är ad hoc-testning med syftet att hitta buggar
  • Är strukturerad och noggrann
  • Är kognitivt (tänkande) strukturerad jämfört med den procedurmässiga strukturen för manustestning. Denna struktur kommer från Charter, timeboxning etc.
  • Är mycket lärorik och hanterbar
  • Det är ingen teknik utan ett tillvägagångssätt. Vilka åtgärder du utför härnäst styrs av vad du gör just nu

Hur man utför utforskande tester

Följande är en steg-för-steg-process om hur man utför Exploratory Testing som också kallas sessionsbaserad testhantering (SBTM Cycle):

Steg 1) Skapa en Bug Taxonomy (klassificering)

  • Kategorisera vanliga typer av fel som hittats i tidigare projekt
  • Analysera grundorsaksanalysen av problemen eller felen
  • Hitta riskerna och utveckla idéer för att testa applikationen.

Steg 2) Test Charter

  • Test Charter bör föreslå
    1. vad man ska testa
    2. hur det kan testas
    3. Vad behöver tittas på
  • Testidéer är utgångspunkten för utforskningstestning
  • Testcharter hjälper till att avgöra hur slutanvändaren kan använda systemet

Steg 3) Tid Box

  • Denna metod inkluderar ett par testare som arbetar tillsammans inte mindre än 90 minuter
  • Det bör inte vara någon avbruten tid i dessa 90 minuters sessioner
  • Timebox kan förlängas eller minskas med 45 minuter
  • Den här sessionen uppmuntrar testare att reagera på responsen från systemet och förbereda sig för det korrekta resultatet

Steg 4) Revse resultat

  • Utvärdering av defekterna
  • Att lära sig av testerna
  • Analys av täckningsområden

Steg 5) Debriefing

  • Sammanställning av utdataresultaten
  • Jämför resultaten med stadgan
  • Kontrollera om ytterligare tester behövs

Bästa praxis Exploratory Testing

Under utforskande utförande måste följande göras:

  • Uppdraget med att testa bör vara mycket tydligt
  • Föra anteckningar om vad som behöver testas, varför det behöver testas och bedömningen av produktkvaliteten
  • Spårning av frågor och frågeställningar som tagits upp under explorativa tester
  • Bättre att para ihop testarna för effektiva tester
  • Ju mer vi testar, desto mer sannolikt kommer vi att utföra rätt testfall för de scenarier som krävs

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

  • Testtäckning – Om vi ​​har tagit anteckningar om täckningen av testfall och förbättrar kvaliteten på programvaran
  • Risker – Vilka risker måste täckas och vilka är alla viktiga?
  • Testexekveringslogg – Inspelningar på testkörningen
  • Frågor/Frågor – Ta anteckningar om frågan och problem i systemet

Smartare utforskande testning hittar fler fel på kortare tid.

För- och nackdelar med utforskande tester

Fördelar

  • 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 normala tester-
  • Upptäck buggar som normalt ignoreras av andra testtekniker
  • Hjälper till att utöka testarnas fantasi genom att köra fler och fler testfall som slutligen också förbättrar produktiviteten
  • Denna test borrar ner till den minsta delen av en applikation och täcker alla krav
  • Denna testning täcker alla typer av testning och den täcker olika scenarier och fall
  • Uppmuntrar kreativitet och intuition
  • Generering av nya idéer under testutförande
  • Nackdelar

    • Denna testning beror enbart på testarens färdigheter
    • Begränsad av domänkännedom hos testaren
    • Inte lämplig för lång utförandetid

    Utmaningar med Exploratory Testing

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

    • Att lära sig använda applikationen eller mjukvarusystemet är en utmaning
    • Replikering av misslyckanden är svårt
    • Att avgöra om verktyg behöver användas kan vara utmanande
    • Att bestämma de bästa testfallen att utföra kan vara svårt
    • Rapportering av testresultaten är en utmaning eftersom rapporten inte har planerade skript eller fall att jämföra med det faktiska resultatet eller resultatet
    • Det är svårt att dokumentera alla händelser under utförandet
    • Undersökande tester har inga bestämda testfall att utföra, vilket gör det svårt att bestämma när man ska sluta.

    När använder man utforskande tester?

    Utforskande testning 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 mjukvaruteknik utförs utforskande testning för att övervinna begränsningarna med skripttestning. Det hjälper till att förbättra Testfall svit. Den har empati för lärande och anpassningsförmåga.