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.
Ä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
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å
- vad man ska testa
- hur det kan testas
- 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
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.