Hva er utforskende testing? Teknikker med eksempler

Innholdsfortegnelse:

Anonim

Hva er utforskende testing?

EXPLORATORY TESTING er en type programvaretesting der testtilfeller ikke er opprettet på forhånd, men testere sjekker systemet i farta. De kan notere ideer om hva de skal teste før testutførelsen. Fokus for utforskende testing er mer på testing som en "tenkende" aktivitet.

Utforskende testing er mye brukt i smidige modeller og handler om oppdagelse, etterforskning og læring. Det understreker den personlige testers personlige frihet og ansvar.

Under skripttesting designer du testtilfeller først og senere med testutførelse. Tvert imot, utforskende testing er en samtidig prosess med testdesign og testutførelse alt gjort samtidig.

Scripted Test Execution er vanligvis en ikke-tenkende aktivitet der testere utfører teststrinnene og sammenligner de faktiske resultatene med forventede resultater. Slike testutførelsesaktiviteter kan automatiseres, krever ikke mange kognitive ferdigheter.

Selv om den nåværende trenden innen programvaretesting er å presse på for automatisering , er utforskende testing en ny måte å tenke på. Automatisering har sine grenser

Forskjeller mellom skriptet og utforskende testing

Skriftlig testing Utforskende testing
Regissert fra krav Regissert fra krav og utforsking under testing
Bestemmelse av testsaker i god tid Bestemmelse av testsaker under testing
Bekreftelse av testing med kravene Undersøkelse av system eller applikasjon
Understreker prediksjon og beslutningstaking Understreker tilpasningsevne og læring
Involverer bekreftet testing Involverer 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 er i kontroll Testers sinn er i kontroll

Utforskende testing -

  • 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 den prosessuelle strukturen til skripttesting. Denne strukturen kommer fra charter, tidsboksing etc.
  • Er svært lærelig og håndterbar
  • Det er ikke en teknikk, men det er en tilnærming. Hvilke handlinger du utfører neste styres av det du gjør for øyeblikket

Hvordan gjøre utforskende testing

Følgende er en trinnvis prosess på Hvordan gjøre utforskende testing som også kalles sesjonsbasert testadministrasjon (SBTM Cycle):

  1. Lag en feiltaksonomi (klassifisering)
    • Kategoriser vanlige typer feil som er funnet i tidligere prosjekter
    • Analyser årsaksanalysen av problemene eller feilene
    • Finn risikoen og utvikle ideer for å teste applikasjonen.
  2. Test Charter
    • Test Charter bør foreslå
      1. hva du skal teste
      2. hvordan det kan testes
      3. Hva som må sees
    • Testideer er utgangspunktet for letetesting
    • Testcharter hjelper til med å bestemme hvordan sluttbrukeren kan bruke systemet
  3. Time Box
    • Denne metoden inkluderer et par testere som jobber sammen ikke mindre enn 90 minutter
    • Det bør ikke være noen avbrutt tid i de 90 minuttene
    • Timebox kan utvides eller reduseres med 45 minutter
    • Denne økten oppfordrer testere til å reagere på responsen fra systemet og forberede seg på riktig resultat
  4. Gjennomgå resultater:
    • Evaluering av manglene
    • Lære av testingen
    • Analyse av dekningsområder
  5. Debriefing:
    • Sammendrag av resultatene
    • Sammenlign resultatene med charteret
    • Sjekk om det er behov for ytterligere testing

For eksempel, under utforskende gjennomføring, må følgende gjøres:

  • Testingen skal være veldig klar
  • Legg notater om hva som må testes, hvorfor det må testes og vurdering av produktkvaliteten
  • Sporing av spørsmål og spørsmål som er reist under utforskende testing
  • Bedre å koble testere for effektiv testing
  • Jo mer vi tester, mer sannsynlig å 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
  • Risiko - 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 problemene i systemet

Smartere utforskende testing finner flere feil på kortere tid.

Fordeler og ulemper ved utforskende testing

Pro Lure
  • Denne testingen er nyttig når kravdokumenter ikke er tilgjengelige eller delvis tilgjengelige
  • Det innebærer etterforskningsprosess som hjelper med å finne flere feil enn vanlig testing-
  • Avdekk feil som normalt blir ignorert av andre testteknikker
  • Hjelper med å utvide fantasien til testere ved å utføre flere og flere testsaker som til slutt også forbedrer produktiviteten
  • Denne testingen går 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 testutførelse
  • Denne testingen avhenger rent av testerkunnskapene
  • Begrenset av domenekunnskap om testeren
  • Ikke egnet for lang kjøringstid

Utfordringer ved utforskende testing:

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

  • Å lære å bruke applikasjonen eller programvaresystemet er en utfordring
  • Replikering av svikt er vanskelig
  • Det kan være utfordrende å avgjøre om verktøy må brukes
  • Bestem de beste testtilfellene å utføre kan være vanskelig
  • Rapportering av testresultatene er en utfordring, siden rapporten ikke har planlagte manus eller saker som skal sammenlignes med det faktiske resultatet eller resultatet
  • Dokumentasjon av alle hendelser under henrettelse er vanskelig å registrere
  • Vet ikke når du skal stoppe testingen, da utforskende testing har bestemte testsaker å utføre.

Når bruker utforskende testing?

Utforskende testing kan brukes mye når

  • Testteamet har erfarne testere
  • Tidlig iterasjon er påkrevd
  • Det er en kritisk applikasjon
  • Nye testere kom inn i teamet

Konklusjon:

I Software Engineering utføres utforskende testing for å overvinne begrensningene ved skriptetesting. Det hjelper med å forbedre Test Case-pakken. Det føler med læring og tilpasningsevne.