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.
Scripted Test Execution er normalt en ikke-tรฆnkende aktivitet, hvor testere udfรธrer testtrinene og sammenligner de faktiske resultater med forventede resultater. Sรฅdan testudfรธrelsesaktivitet kan automatiseres krรฆver ikke mange kognitive fรฆrdigheder.
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
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รฅ
- hvad man skal teste
- hvordan det kan testes
- 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
- Sporing af spรธrgsmรฅl og problemstillinger rejst under udforskende test
- 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
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
Konklusion
I Software Engineering udfรธres Exploratory tests for at overvinde begrรฆnsningerne ved scripted test. Det hjรฆlper med at forbedre Test sag suite. Den har empati for lรฆring og tilpasningsevne.


