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.

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

  • 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

    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.

    Oppsummer dette innlegget med: