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.

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
  • 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

  • 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

    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.

    Opsummer dette indlรฆg med: