Hva er utforskende testing?

โšก Smart oppsummering

Utforskende testing er en testmetode der testere designer og utfรธrer testtilfeller samtidig uten รฅ skripte dem pรฅ forhรฅnd, med vekt pรฅ undersรธkelse, lรฆring og testerintuisjon for รฅ avdekke feil som skriptet testing ofte overser, og er mye brukt i smidig utvikling.

  • ๐Ÿ” Utforskende testing definert: Testere designer og kjรธrer tester pรฅ sparket i stedet for รฅ skrive dem pรฅ forhรฅnd.
  • ๐Ÿ†š vs. skripttesting: Skriptbasert testing bekrefter krav; utforskende testing undersรธker og tilpasser seg under testing.
  • ๐Ÿง  Tenkeaktivitet: Det vektlegger lรฆring, kreativitet og testerintuisjon for รฅ finne skjulte feil.
  • ๐Ÿ—‚๏ธ SBTM-prosess: Feiltaksonomi, testcharter, tidsboks, gjennomgangsresultater og debriefing.
  • โœ… Beste for: Manglende krav, tidlige iterasjoner, kritiske applikasjoner og erfarne testere.
  • ๐Ÿ‡ง๐Ÿ‡ท Avveining: Finner flere feil og oppmuntrer til kreativitet, men er sterkt avhengig av testernes ferdigheter.

Hva er utforskende testing

Hva er utforskende testing?

Utforskende testing er en type programvaretesting der testtilfeller ikke opprettes pรฅ forhรฅnd, men testere sjekker systemet i farten. De kan notere ned ideer om hva de skal teste fรธr testutfรธrelse. Fokus for utforskende testing er mer pรฅ testing som en "tenke" aktivitet.

Utforskende testing er mye brukt i smidige modeller og handler om oppdagelse, etterforskning og lรฆring. Den legger vekt pรฅ personlig frihet og ansvar for den enkelte tester.

Hvorfor utforskende testing?

Under skripttesting designer du testcaser fรธrst og fortsetter senere med testkjรธring. Tvert imot, utforskende testing er en samtidig prosess med testdesign og testutfรธrelse, alt gjort pรฅ samme tid.

Skriptbasert testutfรธrelse er vanligvis en ikke-tenkende aktivitet der testere utfรธrer testtrinnene og sammenligner de faktiske resultatene med forventede resultater. Slik testutfรธrelse kan automatiseres, da den ikke krever mange kognitive ferdigheter.

Utforskende testing

Selv om den nรฅvรฆrende trenden innen programvaretesting er รฅ presse pรฅ automatisering, er utforskende testing en ny mรฅte รฅ tenke pรฅ. Automatisering har sine begrensninger

Utforskende testing

Forskjeller mellom skriptbasert og utforskende testing

Skripttesting Utforskende testing
Rettet fra krav Rettet fra krav og undersรธkende under testing
Fastsettelse av testtilfeller i god tid Fastsettelse av testtilfeller under testing
Bekreftelse av testing med kravene Undersรธkelse av system eller applikasjon
Legger vekt pรฅ prediksjon og beslutningstaking Legger vekt pรฅ tilpasningsevne og lรฆring
Innebรฆrer bekreftet testing Innebรฆrer etterforskning
Handler om รฅ kontrollere tester Handler om Forbedring av testdesign
Som รฅ holde en tale โ€“ du leser fra et utkast Som รฅ fรธre en samtale โ€“ det er spontant
Manuset har kontroll Testerens sinn har kontroll

Utforskende testteknikker

  • Er ikke tilfeldig testing, men det er ad-hoc testing med det formรฅl รฅ finne feil
  • Er strukturert og streng
  • Er kognitivt (tenkende) strukturert sammenlignet med prosedyrestrukturen til scripted testing. Denne strukturen kommer fra Charter, tidsboksing etc.
  • Er svรฆrt lรฆrevillig og hรฅndterlig
  • Det er ikke en teknikk, men det er en tilnรฆrming. Hvilke handlinger du utfรธrer neste er styrt av hva du gjรธr for รธyeblikket

Hvordan utfรธre utforskende tester

Fรธlgende er en trinnvis prosess om hvordan du utfรธrer utforskende testing, som ogsรฅ kalles รธktbasert teststyring (SBTM-syklus):

Trinn 1) Lag en feiltaksonomi (klassifisering)

  • Kategoriser vanlige typer feil funnet i tidligere prosjekter
  • Analyser rotรฅrsaksanalysen av problemene eller feilene
  • Finn risikoene og utvikle ideer for รฅ teste applikasjonen.

Trinn 2) Test Charter

  • Test Charter bรธr foreslรฅ
    1. hva du skal teste
    2. hvordan det kan testes
    3. Hva mรฅ ses pรฅ
  • Testideer er utgangspunktet for utforskningstesting
  • Test charter hjelper med รฅ bestemme hvordan sluttbrukeren kan bruke systemet

Trinn 3) Tid Box

  • Denne metoden inkluderer et par testere som jobber sammen ikke mindre enn 90 minutter
  • Det skal ikke vรฆre noen avbrutt tid i disse 90 minutters รธktene
  • Timebox kan forlenges eller reduseres med 45 minutter
  • Denne รธkten oppfordrer testere til รฅ reagere pรฅ responsen fra systemet og forberede seg pรฅ riktig utfall

Trinn 4) Review resultater

  • Vurdering av defektene
  • Lรฆrer av testingen
  • Analyse av dekningsomrรฅder

Trinn 5) Debriefing

  • Sammenstilling av utdataresultatene
  • Sammenlign resultatene med charteret
  • Sjekk om ytterligere testing er nรธdvendig

Beste praksis utforskende testing

Under utforskende utfรธrelse mรฅ fรธlgende gjรธres:

  • Oppdraget med testing bรธr vรฆre veldig tydelig
  • Fรธr notater om hva som mรฅ testes, hvorfor det mรฅ testes og vurdering av produktkvaliteten
  • Tracking av spรธrsmรฅl og problemstillinger som ble reist under utforskende testing
  • Bedre รฅ koble sammen testerne for effektiv testing
  • Jo mer vi tester, jo mer sannsynlig vil vi utfรธre riktige testtilfeller for de nรธdvendige scenariene

Det er veldig viktig รฅ ta et dokument og overvรฅke fรธlgende

  • Testdekning โ€“ Om vi โ€‹โ€‹har tatt notater om dekningen av testtilfeller og forbedret kvaliteten pรฅ programvaren
  • Risikoer โ€“ Hvilke risikoer mรฅ dekkes og hvilke er alle viktige?
  • Testutfรธrelseslogg โ€“ Opptak pรฅ testutfรธrelsen
  • Problemer/spรธrsmรฅl โ€“ Ta notater om spรธrsmรฅlet og problemer pรฅ systemet

Smartere utforskende testing finner flere feil pรฅ kortere tid.

Fordeler og ulemper med utforskende testing

Fordeler

  • Denne testen er nyttig nรฅr kravdokumenter ikke er tilgjengelige eller delvis tilgjengelige
  • Det involverer undersรธkelsesprosess som hjelper til med รฅ finne flere feil enn vanlig testing-
  • Avdekke feil som normalt ignoreres av andre testteknikker
  • Hjelper med รฅ utvide fantasien til testere ved รฅ utfรธre flere og flere testtilfeller som til slutt ogsรฅ forbedrer produktiviteten
  • Denne testingen borer ned til den minste delen av en applikasjon og dekker alle kravene
  • Denne testingen dekker alle typer testing og dekker ulike scenarier og tilfeller
  • Oppmuntrer til kreativitet og intuisjon
  • Generering av nye ideer under testgjennomfรธring

Ulemper

  • Denne testingen avhenger utelukkende av testerens ferdigheter
  • Begrenset av domenekunnskapen til testeren
  • Ikke egnet for lang utfรธrelsestid

Utfordringer ved utforskende testing

Det er mange utfordringer med utforskende testing, og de er forklart nedenfor:

  • ร… lรฆre รฅ bruke applikasjonen eller programvaresystemet er en utfordring
  • Replikering av feil er vanskelig
  • Det kan vรฆre utfordrende รฅ avgjรธre om verktรธy mรฅ brukes
  • Det kan vรฆre vanskelig รฅ finne de beste testsakene รฅ utfรธre
  • Rapportering av testresultatene er en utfordring ettersom rapporten ikke har planlagte skript eller saker for รฅ sammenligne med det faktiske resultatet eller resultatet
  • Dokumentasjon av alle hendelser under utfรธrelse er vanskelig รฅ registrere
  • Utforskende testing har ikke klare testtilfeller รฅ utfรธre, noe som gjรธr det vanskelig รฅ bestemme nรฅr man skal stoppe.

Nรฅr bruke utforskende testing?

Utforskende testing kan brukes mye nรฅr

  • Testteamet har erfarne testere
  • Tidlig iterasjon er nรธdvendig
  • Det er en kritisk applikasjon
  • Nye testere kom inn i laget

Spรธrsmรฅl og svar

Utforskende testing er strukturert, mรฅlrettet og bruker skjemaer og tidsbokser for รฅ finne feil, mens ad-hoc-testing er uformell og uplanlagt. Utforskende testing er dokumentert og repeterbar; ad-hoc-testing er vanligvis ikke det.

Utforskende testing er hovedsakelig en manuell, tankedrevet aktivitet fordi den er avhengig av testerens intuisjon og sanntidsbeslutninger. Verktรธy kan imidlertid registrere รธkter, registrere logger og stรธtte dokumentasjon under testing.

SBTM er en strukturert mรฅte รฅ kjรธre utforskende testing pรฅ i tidsbegrensede, charterdrevne รธkter. Testerne dokumenterer funnene sine, og gjennomfรธrer deretter en debrief for รฅ gjennomgรฅ dekning, mangler og om mer testing er nรธdvendig.

AI stรธtter utforskende testing ved รฅ foreslรฅ testideer, generere testdokumenter, analysere logger for avvik og identifisere uprรธvde omrรฅder. Det forsterker testernes intuisjon i stedet for รฅ erstatte den utforskende tankeprosessen.

Nei. Utforskende testing er avhengig av menneskelig kreativitet, nysgjerrighet og domenevurdering som AI ikke kan gjenskape fullt ut. AI bistรฅr ved รฅ hรฅndtere repeterende analyse, men dyktige testere er fortsatt avgjรธrende for oppdagelse.

Oppsummer dette innlegget med: