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.


