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.