Vad är Exploratory Testing?

⚡ Smart sammanfattning

Explorativ testning är en testmetod där testare designar och exekverar testfall samtidigt utan att skripta dem i förväg, med betoning på undersökning, inlärning och testarens intuition för att upptäcka defekter som skriptad testning ofta missar, och används ofta inom agil utveckling.

  • 🔍 Definition av utforskande testning: Testare designar och kör tester direkt istället för att skriva ett skript i förväg.
  • ???? kontra skripttestning: Skriptbaserad testning bekräftar krav; utforskande testning undersöker och anpassar sig under testningen.
  • 🧠 Tankeaktivitet: Det betonar lärande, kreativitet och testarens intuition för att hitta dolda buggar.
  • 🗂️ SBTM-processen: Buggtaxonomi, teststadga, tidsram, granskningsresultat och avrapportering.
  • Bäst för: Saknade krav, tidiga iterationer, kritiska applikationer och erfarna testare.
  • ⚖️ Avvägning: Hittar fler buggar och uppmuntrar kreativitet men är starkt beroende av testarens skicklighet.

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.

Skriptbaserad testkörning är vanligtvis en aktivitet där testare utför teststegen och jämför de faktiska resultaten med förväntade resultat. Sådan testkörning kan automatiseras eftersom den inte kräver 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
  • Tracking av frågor och problem som uppstod under utforskande 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

Vanliga frågor

Explorativ testning är strukturerad, målinriktad och använder sig av scheman och tidsramar för att hitta buggar, medan ad hoc-testning är informell och oplanerad. Explorativ testning är dokumenterad och repeterbar; ad hoc-testning är det vanligtvis inte.

Utforskande testning är huvudsakligen en manuell, tankedriven aktivitet eftersom den förlitar sig på testarens intuition och beslut i realtid. Verktyg kan dock spela in sessioner, samla in loggar och stödja dokumentation under testning.

SBTM är ett strukturerat sätt att genomföra utforskande tester i tidsbegränsade, charterstyrda sessioner. Testare dokumenterar sina resultat och genomför sedan en sammanfattning för att granska täckning, defekter och om mer testning behövs.

AI stöder utforskande testning genom att föreslå testidéer, generera dokument, analysera loggar för avvikelser och identifiera otestade områden. Det förstärker testarens intuition snarare än att ersätta den utforskande tankeprocessen.

Nej. Utforskande testning bygger på mänsklig kreativitet, nyfikenhet och domänbedömning som AI inte helt kan replikera. AI hjälper till genom att hantera repetitiv analys, men skickliga testare är fortfarande avgörande för upptäckter.

Sammanfatta detta inlägg med: