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.
Scripted Test Execution er vanligvis en ikke-tenkende aktivitet der testere utfรธrer testtrinnene og sammenligner de faktiske resultatene med forventede resultater. Slik testutfรธrelsesaktivitet kan automatiseres krever ikke mange kognitive ferdigheter.
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
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รฅ
- hva du skal teste
- hvordan det kan testes
- 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
- Sporing av spรธrsmรฅl og problemstillinger som tas opp 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
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
Konklusjon
I programvareteknikk utfรธres utforskende testing for รฅ overvinne begrensningene ved skripttesting. Det hjelper med รฅ forbedre Testsak suite. Den har empati for lรฆring og tilpasningsevne.


