Hvad er Exploratory Testing?

⚡ Smart opsummering

Exploratory Testing er en testmetode, hvor testere designer og udfører testcases samtidigt uden at scripte dem på forhånd. Der lægges vægt på undersøgelse, læring og testerintuition for at afdække defekter, som scriptet testning ofte overser, og som er meget anvendt i agil udvikling.

  • 🔍 Defineret udforskende testning: Testere designer og kører tests on-the-fly i stedet for at scripte dem på forhånd.
  • 🆚 vs. scriptet testning: Scriptbaseret testning bekræfter krav; udforskende testning undersøger og tilpasser sig under testning.
  • 🧠 Tænkeaktivitet: Det lægger vægt på læring, kreativitet og testers intuition for at finde skjulte fejl.
  • 🗂️ SBTM-proces: Fejltaksonomi, testcharter, tidsboks, gennemgangsresultater og debriefing.
  • Bedst for: Manglende krav, tidlige iterationer, kritiske applikationer og erfarne testere.
  • ⚖️ Afvejning: Finder flere fejl og opfordrer til kreativitet, men afhænger i høj grad af testerens færdigheder.

Hvad er Exploratory Testing

Hvad er Exploratory Testing?

Undersøgende test er en type softwaretest, hvor testcases ikke er oprettet på forhånd, men testere tjekker systemet på farten. De noterer muligvis ideer om, hvad de skal teste før testudførelse. Fokus i udforskende test er mere på test som en "tænke" aktivitet.

Exploratory Testing er meget brugt i agile modeller og handler om opdagelse, undersøgelse og læring. Det lægger vægt på personlig frihed og ansvar for den enkelte tester.

Hvorfor Exploratory Testing?

Under scriptet testning designer du først testcases og fortsætter senere med testeksekvering. Tværtimod er eksplorativ testning en simultan proces med testdesign og testudførelse, alt sammen udført på samme tid.

Scriptet testudførelse er normalt en ikke-tænkende aktivitet, hvor testere udfører testtrinnene og sammenligner de faktiske resultater med forventede resultater. Sådan testudførelse kan automatiseres, da den ikke kræver mange kognitive færdigheder.

Undersøgende test

Selvom den nuværende trend inden for softwaretest er at presse på automatisering, er udforskende test en ny måde at tænke på. Automatisering har sine grænser

Undersøgende test

Forskelle mellem scripted og Exploratory testing

Scriptet test Undersøgende test
Ledet ud fra krav Ledet fra krav og udforskende under test
Fastlæggelse af testcases i god tid Bestemmelse af testcases under test
Bekræftelse af test med kravene Undersøgelse af system eller applikation
Lægger vægt på forudsigelse og beslutningstagning Lægger vægt på tilpasningsevne og læring
Indebærer bekræftet test Indebærer efterforskning
Handler om at kontrollere tests Handler om Forbedring af testdesign
Som at holde en tale – du læser fra et udkast Som at lave en samtale – det er spontant
Scriptet er i kontrol Testerens sind er i kontrol

Udforskende testteknikker

  • Er ikke tilfældig test, men det er ad hoc test med det formål at finde fejl
  • Er struktureret og stringent
  • Er kognitivt (tænkende) struktureret sammenlignet med den proceduremæssige struktur af scripted test. Denne struktur kommer fra charter, tidsboksning osv.
  • Er meget lærenem og overskuelig
  • Det er ikke en teknik, men det er en tilgang. Hvilke handlinger du derefter udfører, er styret af, hvad du gør i øjeblikket

Sådan udføres sonderende tests

Følgende er en trin for trin proces om, hvordan man udfører Exploratory Testing, som også kaldes sessionsbaseret teststyring (SBTM Cycle):

Trin 1) Opret en fejltaksonomi (klassificering)

  • Kategoriser almindelige typer af fejl fundet i tidligere projekter
  • Analyser årsagsanalysen af ​​problemerne eller fejlene
  • Find risiciene og udvikle ideer til at teste applikationen.

Trin 2) Test Charter

  • Test Charter bør foreslå
    1. hvad man skal teste
    2. hvordan det kan testes
    3. Hvad skal der kigges på
  • Testideer er udgangspunktet for udforskningstestning
  • Testcharter hjælper med at bestemme, hvordan slutbrugeren kan bruge systemet

Trin 3) Tid Box

  • Denne metode inkluderer et par testere, der arbejder sammen ikke mindre end 90 minutter
  • Der bør ikke være nogen afbrudt tid i disse 90 minutters session
  • Timebox kan forlænges eller reduceres med 45 minutter
  • Denne session opfordrer testere til at reagere på responsen fra systemet og forberede sig på det korrekte resultat

Trin 4) Review resultater

  • Vurdering af manglerne
  • At lære af testen
  • Analyse af dækningsområder

Trin 5) Debriefing

  • Kompilering af outputresultaterne
  • Sammenlign resultaterne med charteret
  • Kontroller, om der er behov for yderligere test

Bedste praksis Exploratory Testing

Under sonderende udførelse skal følgende gøres:

  • Missionen med test bør være meget klar
  • Før noter om, hvad der skal testes, hvorfor det skal testes og vurdering af produktkvaliteten
  • Tracking af spørgsmål og problemstillinger, der blev rejst under den indledende testning
  • Bedre at parre testerne for effektiv test
  • Jo mere vi tester, er der større sandsynlighed for at udføre de rigtige testcases for de nødvendige scenarier

Det er meget vigtigt at tage et dokument og overvåge følgende

  • Testdækning – Om vi ​​har taget noter om dækningen af ​​testsager og forbedrer kvaliteten af ​​softwaren
  • Risici – Hvilke risici skal dækkes, og hvilke er alle vigtige?
  • Testudførelseslog – Optagelser på testudførelsen
  • Problemer/forespørgsler – Tag noter om spørgsmålet og problemer på systemet

Smartere udforskende test finder flere fejl på kortere tid.

Fordele og ulemper ved Exploratory Testing

Fordele

  • Denne test er nyttig, når kravdokumenter ikke er tilgængelige eller delvist tilgængelige
  • Det involverer undersøgelsesproces, som hjælper med at finde flere fejl end normal test-
  • Afdække fejl, som normalt ignoreres af andre testteknikker
  • Hjælper med at udvide testernes fantasi ved at udføre flere og flere testcases, hvilket endelig også forbedrer produktiviteten
  • Denne test bore ned til den mindste del af en applikation og dækker alle kravene
  • Denne test dækker alle typer af test, og den dækker forskellige scenarier og tilfælde
  • Opmuntrer til kreativitet og intuition
  • Generering af nye ideer under testudførelse

Ulemper

  • Denne test afhænger udelukkende af testerens færdigheder
  • Begrænset af testerens domænekendskab
  • Ikke egnet til lang udførelsestid

Udfordringer ved Exploratory Testing

Der er mange udfordringer ved eksplorativ testning, og dem er forklaret nedenfor:

  • At lære at bruge applikationen eller softwaresystemet er en udfordring
  • Replikering af fejl er vanskelig
  • Det kan være udfordrende at afgøre, om værktøjer skal bruges
  • Det kan være svært at bestemme de bedste testcases at udføre
  • Rapportering af testresultaterne er en udfordring, da rapporten ikke har planlagte scripts eller cases til at sammenligne med det faktiske resultat eller resultat
  • Dokumentation af alle hændelser under udførelsen er vanskelig at registrere
  • Udforskende test har ikke bestemte testcases at udføre, hvilket gør det svært at beslutte, hvornår man skal stoppe.

Hvornår bruger man eksplorativ test?

Udforskende test kan bruges i vid udstrækning, når

  • Testteamet har erfarne testere
  • Tidlig iteration er påkrævet
  • Der er en kritisk ansøgning
  • Nye testere kom ind i holdet

Ofte Stillede Spørgsmål

Udforskende testning er struktureret, målrettet og bruger skemaer og timeboxing til at finde fejl, mens ad-hoc-testning er uformel og uplanlagt. Udforskende testning er dokumenteret og kan gentages; ad-hoc-testning er det normalt ikke.

Udforskende testning er primært en manuel, tankedrevet aktivitet, fordi den er afhængig af testers intuition og beslutninger i realtid. Værktøjer kan dog optage sessioner, indsamle logfiler og understøtte dokumentation under testning.

SBTM er en struktureret måde at udføre udforskende testning på i tidsbegrænsede, charterdrevne sessioner. Testere dokumenterer deres resultater og gennemgår derefter dækning, defekter og om der er behov for mere testning.

AI understøtter udforskende testning ved at foreslå testidéer, generere chartre, analysere logs for anomalier og identificere utestede områder. Det forstærker testerens intuition snarere end at erstatte den udforskende tankeproces.

Nej. Udforskende testning er afhængig af menneskelig kreativitet, nysgerrighed og domænedømmekraft, som AI ikke fuldt ud kan replikere. AI hjælper ved at håndtere gentagne analyser, men dygtige testere er fortsat afgørende for opdagelse.

Opsummer dette indlæg med: