Što je eksploratorno testiranje?

Što je eksploratorno testiranje?

Istraživačko ispitivanje je vrsta testiranja softvera gdje se testni slučajevi ne kreiraju unaprijed već testeri provjeravaju sustav u hodu. Mogu zabilježiti ideje o tome što testirati prije izvođenja testa. Fokus eksplorativnog testiranja je više na testiranju kao "misaonoj" aktivnosti.

Eksploratorno testiranje naširoko se koristi u Agilnim modelima i sve je o otkrivanju, istraživanju i učenju. Naglašava osobnu slobodu i odgovornost pojedinog ispitivača.

Zašto istraživačko testiranje?

Kod skriptiranog testiranja prvo dizajnirate testne slučajeve, a kasnije nastavljate s izvođenjem testa. Naprotiv, istraživačko testiranje je simultani proces dizajna testa i izvođenja testa koji se obavljaju u isto vrijeme.

Skriptirano izvođenje testa obično je aktivnost bez razmišljanja gdje ispitivači izvršavaju korake testa i uspoređuju stvarne rezultate s očekivanim rezultatima. Takva aktivnost izvođenja testa može se automatizirati i ne zahtijeva mnogo kognitivnih vještina.

Istraživačko ispitivanje

Iako je trenutni trend u testiranju softvera poticanje automatizacija, istraživačko testiranje je novi način razmišljanja. Automatizacija ima svoje granice

Istraživačko ispitivanje

Razlike između skriptiranog i istraživačkog testiranja

Skriptirano testiranje Istraživačko ispitivanje
Usmjereno prema zahtjevima Usmjereno prema zahtjevima i istraživanju tijekom testiranja
Određivanje testnih slučajeva dosta unaprijed Određivanje testnih slučajeva tijekom testiranja
Potvrda ispitivanja sa zahtjevima Istraživanje sustava ili aplikacije
Naglašava predviđanje i donošenje odluka Naglašava prilagodljivost i učenje
Uključuje potvrđeno testiranje Uključuje istragu
Radi se o kontroli testova Radi se o poboljšanju dizajna testa
Poput držanja govora - čitate iz nacrta Poput vođenja razgovora – to je spontano
Scenarij je pod kontrolom Um ispitivača je pod kontrolom

Eksploratorne tehnike ispitivanja

  • Nije nasumično testiranje, već je ad-hoc testiranje sa svrhom pronalaženja grešaka
  • Strukturiran je i rigorozan
  • Je li kognitivno (misaono) strukturiran u usporedbi s proceduralnom strukturom testiranja skriptom. Ova struktura dolazi iz Povelje, vremenskog boksa itd.
  • Vrlo je poučljiv i upravljiv
  • To nije tehnika, ali je pristup. Koje ćete sljedeće radnje izvršiti ovisi o tome što trenutno radite

Kako izvršiti eksploratorne testove

Slijedi postupak korak po korak o tome kako izvesti eksploratorno testiranje koje se također naziva upravljanje testiranjem temeljeno na sesiji (SBTM ciklus):

Korak 1) Napravite taksonomiju grešaka (klasifikacija)

  • Kategorizirajte uobičajene vrste grešaka pronađenih u prošlim projektima
  • Analizirajte temeljni uzrok problema ili kvarova
  • Pronađite rizike i razvijte ideje za testiranje aplikacije.

Korak 2) Ispitna povelja

  • Test Charter bi trebao predložiti
    1. što testirati
    2. kako se može testirati
    3. Što treba pogledati
  • Ideje za testiranje polazište su istraživačkog testiranja
  • Testna povelja pomaže odrediti kako krajnji korisnik može koristiti sustav

Korak 3) Vrijeme Box

  • Ova metoda uključuje par testera koji rade zajedno najmanje 90 minuta
  • U tih 90 minuta ne bi trebalo biti prekida
  • Timebox se može produljiti ili smanjiti za 45 minuta
  • Ova sesija potiče testere da reagiraju na odgovor sustava i pripreme se za točan ishod

Korak 4) Review Rezultati

  • Procjena nedostataka
  • Učenje iz testiranja
  • Analiza područja pokrivenosti

Korak 5) Ispitivanje

  • Kompilacija izlaznih rezultata
  • Usporedite rezultate s poveljom
  • Provjerite jesu li potrebna dodatna ispitivanja

Eksploratorno testiranje najbolje prakse

Tijekom istražnog izvođenja potrebno je učiniti sljedeće:

  • Misija testiranja trebala bi biti vrlo jasna
  • Vodite bilješke o tome što je potrebno ispitati, zašto je potrebno ispitati i ocjeni kvalitete proizvoda
  • Praćenje pitanja i problema postavljenih tijekom istraživačkog testiranja
  • Bolje je upariti testere za učinkovito testiranje
  • Što više testiramo, vjerojatnije je da ćemo izvršiti prave testne slučajeve za potrebne scenarije

Vrlo je važno uzeti dokument i pratiti sljedeće

  • Pokrivenost testiranja – jesmo li uzeli bilješke o pokrivenosti testnih slučajeva i poboljšali kvalitetu softvera
  • Rizici – Koje rizike treba pokriti i koji su sve važni?
  • Dnevnik izvođenja testa – Snimci o izvođenju testa
  • Problemi/upiti – Vodite bilješke o pitanju i problemima u sustavu

Pametnije istraživačko testiranje pronalazi više pogrešaka u kraćem vremenu.

Za i protiv eksploratornog testiranja

Prednosti

  • Ovo testiranje je korisno kada dokumenti zahtjeva nisu dostupni ili su djelomično dostupni
  • Uključuje proces istraživanja koji pomaže u pronalaženju više grešaka od uobičajenog testiranja-
  • Otkrijte greške koje druge tehnike testiranja obično zanemaruju
  • Pomaže proširiti maštu testera izvođenjem sve više i više testnih slučajeva što konačno poboljšava i produktivnost
  • Ovo testiranje se svodi na najmanji dio aplikacije i pokriva sve zahtjeve
  • Ovo testiranje pokriva sve vrste testiranja i pokriva različite scenarije i slučajeve
  • Potiče kreativnost i intuiciju
  • Generiranje novih ideja tijekom izvođenja testa
  • Nedostaci

    • Ovo testiranje isključivo ovisi o vještinama ispitivača
    • Ograničeno poznavanjem domene ispitivača
    • Nije prikladno za Dugo vrijeme izvršenja

    Izazovi eksploratornog ispitivanja

    Mnogo je izazova istraživačkog testiranja, a oni su objašnjeni u nastavku:

    • Naučiti koristiti aplikaciju ili softverski sustav je izazov
    • Replikacija neuspjeha je teška
    • Određivanje treba li koristiti alate može biti izazovno
    • Određivanje najboljih testnih slučajeva za izvršenje može biti teško
    • Izvještavanje o rezultatima testa izazov je jer izvješće nema planirane skripte ili slučajeve za usporedbu sa stvarnim rezultatom ili ishodom
    • Dokumentaciju svih događaja tijekom izvršenja teško je evidentirati
    • Eksploratorno testiranje nema određene testne slučajeve za izvršavanje, što otežava odluku kada stati.

    Kada koristiti eksplorativno testiranje?

    Eksploratorno testiranje može se opsežno koristiti kada

    • Tim za testiranje ima iskusne testere
    • Potrebna je rana iteracija
    • Postoji kritična primjena
    • U tim su ušli novi testeri

    Zaključak

    U softverskom inženjerstvu, istraživačko testiranje provodi se kako bi se prevladala ograničenja skriptiranog testiranja. Pomaže u poboljšanju Testni slučaj svita. Suosjeća s učenjem i prilagodljivošću.