fbpx

Eksploratorno testiranje posebna je vrsta testiranja softvera koja ima mnoge prednosti za aplikaciju, omogućujući joj da postigne svoj puni potencijal.

Način na koji tim integrira eksplorativno testiranje u svoje rutinske provjere mogao bi čak odrediti koliko dobro softver funkcionira, pogotovo jer se na ovaj način postupcima testiranja pristupa na nove i neočekivane načine. To pomaže testerima da otkriju probleme unutar aplikacije koji inače mogu proći nezapaženo do pokretanja i rezultirati neradom ključnih značajki.

Razumijevanje procesa, vrsta i pristupa eksplorativnog testiranja može vam pomoći da usmjerite organizaciju i njezine timove za testiranje kako to uključiti u svoje uobičajene provjere.

Postoji i niz besplatnih alata koje tim može koristiti za olakšavanje ovih inspekcija i uočavanje problema prije nego što potencijalno postanu prepreka razvoju.

U ovom vodiču prikazujemo prednosti istraživačkog testiranja uz ključna razmatranja koja tim treba uzeti u obzir prije implementacije.

 

Table of Contents

Što je eksploratorno testiranje?

 

Istraživačko testiranje kombinira faze dizajna i izvedbe testa, osiguravajući potpunu radnu slobodu za ispitivača i dopuštajući im da kontinuirano usmjeravaju svoj rad.

Dok ovi timovi provjeravaju softver, vjerojatno će otkriti nove komponente koje zahtijevaju temeljitu inspekciju i mogu lako smisliti nove testove koji bi bili od koristi aplikaciji.

Eksploratorno testiranje slično je ad hoc testiranju, ali slijedi mnogo strožu dokumentaciju, uključujući i aktivniji proces učenja.

Manje strukturirani pristup pomaže testerima da utvrde kako će aplikacija odgovoriti na realne scenarije i slučajeve testiranja i služi kao vitalna dopuna testiranju skriptom.

Kvaliteta timskog istraživačkog testiranja često ovisi o vještini pojedinačnih testera jer provjere zahtijevaju kreativnost i temeljito razumijevanje softvera. Ovo je proces neprekidnog otkrivanja – proces u kojem ispitivači koriste deduktivno zaključivanje kako bi vodili svoju cjelokupnu tehniku.

Eksploratorno testiranje posebno je korisno jer odražava kako bi korisnici mogli koristiti softver. Većina korisnika slučajno pronalazi pogreške i probleme tako da ti neskriptirani procesi mogu pomoći testerima da pronađu probleme koje unaprijed određene provjere možda neće otkriti.

Također je moguće da tim automatizira ovaj postupak kako bi se osigurala veća razina učinkovitosti.

 

1. Kada trebate obaviti eksploratorno testiranje?

 

Eksploratorno testiranje općenito je korisno u gotovo svim procesima testiranja softvera, iako se posebno ističe pružanjem brzih povratnih informacija o aplikaciji.

Tim također može uključiti ove provjere ako im ponestane skriptiranih testova. Bez jasnog smjera za njihove inspekcije softvera, istraživačko testiranje može pomoći u otkrivanju problema koji se uklapaju izvan standardnih provjera.

Osiguravanje različitih postupaka testiranja omogućuje ispitivačima da razumiju ovaj softver na daleko dubljoj razini u bilo kojoj fazi, ali njihovo rano provođenje može ponuditi više prednosti.

Moguće je da timovi kasnije po potrebi ponovno provedu istraživačke testove radi dodatnog mira.

 

2. Kada ne trebate provoditi eksploratorno testiranje

 

Postoji nekoliko scenarija u kojima istraživačko testiranje ne nudi nikakve prednosti, iako za testere može biti korisnije pričekati dok softver ne dobije svoju temeljnu funkcionalnost.

Značajke aplikacije obično se presijecaju ili međusobno djeluju jedna na drugu, što znači da istraživački testovi na jednoj funkciji mogu biti zastarjeli nakon što razvojni tim doda više ovom softveru.

Također je moguće provesti te testove uz provjere skriptom bez problema, pod pretpostavkom da testeri mogu osigurati visoku razinu dokumentacije kako bi se izbjegla zabuna.

Eksploratorno testiranje vrlo je svestrano u usporedbi s drugim vrstama testiranja, što ove provjere čini vrlo primjenjivima.

 

3. Tko je uključen u istraživanje?

 

Istraživačko testiranje uključuje mnoge članove osoblja u određenom pogledu, uključujući:

• Testeri softvera bilo koje razine vještina mogu provesti ove testove, iako članovi tima s boljim razumijevanjem softvera mogu dizajnirati veći izbor provjera.

Iskustvo također može utjecati na njihovu sposobnost određivanja najkorisnijih testova.

• Programeri softvera koji priznaju rezultate ovih testova, poduzet će sve prijedloge i često će razviti vlastito rješenje problema.

Njihov odgovor na testove omogućuje aplikaciji da postigne stanje prikladnosti za uspješno izdanje.

• Voditelji projekta koji nadziru cijeli ovaj proces i mogu čak biti ti koji odlučuju koje će vrste testiranja koristiti timovi.

Oni također mogu biti odgovorni za nabavu softvera za timove koji mogu pojednostaviti ili čak automatizirati testove.

 

Životni ciklus istraživačkog testiranja

 

Proces eksplorativnog testiranja ima snažan fokus na slobodu testera, ali još uvijek slijedi specifičnu strukturu.

Tri glavne faze ovog pristupa su:

 

Faza 1: Učenje

 

Testeri započinju razvijanjem snažnog razumijevanja softvera i njegove funkcionalnosti – kritički ga analizirajući kako bi utvrdili kako se slaže.

To omogućuje testeru da shvati uobičajene unose koje bi korisnik izvedivo mogao unijeti, iako bi već mogao biti svjestan aplikacije i kako ona funkcionira.

Faza učenja može čak zahtijevati poduku o tome kako koristiti softver. Ovo je faza istraživanja i oprema ispitivača sa svim informacijama koje su mu potrebne za dizajniranje opsežnog raspona korisnih testova.

 

Faza 2: Dizajn testa

 

Istraživački testni dizajn uključuje različita pravila i parametre, ali još uvijek nudi značajno više slobode u usporedbi s testiranjem skriptom – čije su specifičnosti već poznate prije početka testiranja.

Ispitivač može osmisliti provjere za koje vjeruje da točnije odgovaraju aplikaciji i potencijalno mogu otkriti vrijedne podatke za razvojni tim, uključujući značajne pogreške koje treba ispraviti.

Timovi za testiranje koriste ovu fazu kako bi utvrdili koji pristup poduzeti i kako podijeliti posao između različitih testera na načine koji koriste njihove snage.

 

Faza 3: Izvršenje

 

Nakon dizajniranja provjera koje će koristiti, ispitivači sada mogu pregledati aplikaciju na načine za koje vjeruju da su najučinkovitiji – to mogu provesti odmah nakon osmišljavanja određenog testa.

Ovo je faza u kojoj testeri aktivno traže probleme i kako bi se problemi koje otkriju mogli unijeti u druge značajke i funkcije.

Iako postoji određena mjera intuitivnog rada uključenog u istraživačka izvođenja testova, on i dalje slijedi postavljene procese i ciljeve, dopuštajući fluidan test koji se lako može prilagoditi specifičnim ciljevima testiranja.

 

Istraživačko naspram skriptiranog testiranja

 

Eksploratorno testiranje zapravo je suprotnost testiranju skriptom, iako bi oboje moglo biti važno za osiguravanje spremnosti aplikacije za izdavanje. Potonji je obično formalniji i strukturiraniji, obuhvaća mnoge široke testove u usporedbi s istraživačkim provjerama, koje su često specifičnije za funkcionalnost aplikacije.

Kao dio toga, istraživačko testiranje također je znatno prilagodljivije, dok skriptirani testovi mogu imati problema ako dođe do velikih promjena u softveru. Eksploratorni testovi mogu otkriti pogreške i brže djelovati protiv njih, čineći prvo posebno korisnim u slučajevima kada je brza povratna informacija najvažnija.

 

1. Aktivno istraživanje

 

Aktivno istraživačko testiranje uključuje testera koji dizajnira automatiziranu skriptu za svoje provjere, koju drugi ispitivač izvršava. Ove skripte uzimaju u obzir prethodne testove ako su primjenjivi.

Dva testera obično mijenjaju uloge tijekom postupka inspekcije kako bi još jednom provjerili pouzdanost tih skripti i procesa.

Aktivni testovi imaju širu pokrivenost bez žrtvovanja specifičnosti zaštitnih znakova istraživačkih provjera. Ove skripte također omogućuju bolju dokumentaciju, što olakšava reproduciranje problema koje testeri pronađu.

Dokumentacija je bitna komponenta aktivnih testova jer također pomaže dionicima da vide cjelokupni napredak aplikacije.

 

2. Pasivno istraživanje

 

Pasivno istraživačko testiranje zahtijeva samo jednog ispitivača, iako bi rad u paru mogao još više pojednostaviti proces.

Ovaj pristup uključuje poseban softver koji bilježi radnje testera – pružajući im jednostavne korake za repliciranje bilo kojeg problema koji otkriju. To je obično u obliku videa s ispitivačem koji daje komentar koji objašnjava svoje postupke korak po korak.

Snimanje procesa testiranja također daje uvid u performanse aplikacije, uključujući koliko brzo odgovara na zahtjeve za unos.

Pasivno testiranje pruža testerima i razvojnom timu mnoštvo detaljnih informacija o tome kako softver funkcionira.

 

Eksploratorne tehnike ispitivanja

 

Eksploratorno testiranje obično slijedi format ‘obilaska’ – gdje ispitivač istražuje softver na najučinkovitiji način.

Postoje različiti obilasci između kojih tim može birati, uključujući:

 

• Obilasci s vodičem

Ovaj pristup daje prioritet istaknutoj funkcionalnosti aplikacije, pomno replicirajući način na koji se prosječni korisnik bavi softverom i otkriva probleme koje bi prirodno pronašao.

 

• Povijesne ture

Ovaj obilazak pregledava najstarije značajke aplikacije kako bi se uvjerio da još uvijek rade; ovo je posebno važno ako su programeri dodali nove značajke koje su u sukobu s tim.

 

• Money tour

Ovaj istraživački test provjerava kritične značajke aplikacije, posebno one za koje kupci i klijenti plaćaju da im pristupe – to su obično najveći prioriteti među timom za testiranje.

 

• Obilazak kriminala

Testeri ponekad aktivno rade na razbijanju aplikacije ili izazivanju negativnih scenarija, primjerice unosom nevažećih informacija i istraživanjem kako aplikacija na to reagira.

 

• Obilazak uličice

Ovaj proces uključuje značajke koje će manje kupaca vjerojatno koristiti; one su jednako bitne za bilo koji pristup testiranju, osobito jer će komunicirati s drugim funkcijama.

 

• Intelektualna tura

Ovaj obilazak dalje gura aplikaciju, testira najsloženije funkcije s višim (ponekad maksimalnim) vrijednostima kako bi se odredila brzina obrade softvera.

 

Eksploratorni pristupi testiranju

 

Postoje dva glavna pristupa istraživačkom testiranju:

 

1. Istraživačko testiranje temeljeno na sesiji

 

Ovo je tehnika temeljena na vremenu koja ima za cilj kvantificirati proces testiranja dijeleći ga na ‘sesije’ s dvije komponente: misije i povelje.

Misija je svrha i trajanje te određene sesije, pružajući istraživačkom testeru jasan fokus.

Povelja utvrđuje opseg svake sesije i pojedinosti o specifičnim ciljevima koje ispitivač namjerava ispuniti. To rezultira višom razinom odgovornosti (i dokumentacije) dijeljenjem ovih provjera na komponente kojima se lakše upravlja.

Testovi temeljeni na sesiji također poboljšavaju produktivnost i daju testeru jasne metrike i informacije o rješavanju problema.

 

2. Eksploratorno testiranje u paru

 

Testiranje temeljeno na parovima slično je aktivnom istraživačkom testiranju budući da primarno uključuje rad u parovima – obično na istom uređaju – kako bi se aplikacija kontinuirano provjeravala istovremeno. U ovom dogovoru, jedan tester predlaže niz testnih slučajeva i vodi bilješke o napretku dok drugi testira softver.

Komunikacija je ključna tijekom testiranja u paru jer se time osigurava da su oba ispitivača svjesna provjera i njihove svrhe.

Ako sami dodjeljujete ove parove, pobrinite se da uzmete u obzir jake i slabe strane svakog ispitivača jer vam to omogućuje izgradnju snažnijih istraživačkih procesa testiranja.

 

Koji čimbenici utječu na eksploratorno testiranje?

 

Čimbenici koji mogu utjecati na kvalitetu istraživačkog testiranja tima uključuju:

 

• Sveobuhvatni cilj i temeljna funkcionalnost softvera.

• Specifični ciljevi testiranja za trenutnu fazu aplikacije.

• Individualne uloge i sposobnosti svakog ispitivača u timu.

• Dostupni alati, poput besplatnog softvera za automatizaciju testova.

• Podršku koju ispitivači dobivaju od kolega ili uprave.

• Zahtjevi klijenata i trenutni široki trendovi na tržištu.

• Jednostavnost upotrebe aplikacije, kao što je fluidnost sučelja.

• Vrijeme koje ispitivači imaju da završe fazu testiranja.

• Unosi i drugi različiti podaci koje ispitivači namjeravaju koristiti.

• Značajke koje programeri dodaju softveru tijekom vremena.

 

Vrste eksploratornog ispitivanja

 

Tri glavne vrste istraživačkog testiranja koje tim može uključiti su:

 

1. Istraživačko testiranje slobodnog stila

 

Freestyle testiranje obuhvaća ad hoc pristup provjeri aplikacije. Ovo ima nekoliko pravila koja treba uzeti u obzir pa njegova učinkovitost može varirati; neki softver i komponente zahtijevaju robusniju metodologiju.

Ove provjere još uvijek mogu ponuditi mnogo prednosti pomažući testerima da se upoznaju s ovom aplikacijom i potvrde rad prethodnog testera.

Čak i bez strogih pravila, iskusni i vješti testeri mogu to lako iskoristiti za formatiranje u svoju korist. S lakoćom se mogu kretati kroz svaki aspekt softvera – u nekim su situacijama pravila testiranja restriktivna i mogu nenamjerno ograničiti rezultate tima.

 

2. Istraživačko testiranje temeljeno na scenariju

 

Testiranje temeljeno na scenariju koristi realistične situacije kao osnovu za svaki test, primjerice provjerom unosa koje će korisnici vjerojatno napraviti tijekom tipične operacije ovog softvera.

Testeri naporno rade kako bi osigurali da se svaki scenarij koji osmisle podudara s načinom na koji korisnik radi s aplikacijom.

Vrijeme bi moglo biti ograničenje jer je cilj tima testirati što više scenarija; Ovisno o rokovima koji dolaze, ovo vjerojatno neće moći pokriti sve mogućnosti.

Testeri bi trebali koristiti širok raspon testova u različitim kategorijama.

 

3. Eksploratorno testiranje temeljeno na strategiji

 

Testiranje temeljeno na strategiji uključuje širok raspon specifičnih metoda uključujući testiranje graničnih vrijednosti, tehnike ekvivalencije, tehnike temeljene na riziku i još mnogo toga. Ovo općenito daje prioritet ispitivačima koji su već upoznati s aplikacijom jer mogu razviti prilagođene strategije koje uključuju ove pojedinačne metode.

Pristup koji se temelji na strategiji usredotočuje se prvenstveno na funkcionalnost softvera (i unutarnje funkcioniranje) bez razmatranja mogućih scenarija koji bi mogli dovesti korisnika do problema koji se pojavljuju. To bi moglo rezultirati širom analizom aplikacije i njezinih različitih značajki, potencijalno dubljom od raznih drugih pristupa.

 

Ručni ili automatizirani istraživački testovi?

 

Timovi za testiranje mogu provoditi istraživačke provjere ili ručno ili ih mogu automatizirati. Obje mogućnosti mogu ponuditi ogromne prednosti; prava opcija često ovisi o specifičnostima projekta.

 

Ručno eksploratorno testiranje

 

Ručno eksplorativno testiranje omogućuje veći raspon provjera po narudžbi. Iako to može potrajati dulje jer su ljudski testeri sporiji od računala, ručna inspekcija mogla bi biti ključna u određivanju korisničkog iskustva.

Tester radi ne samo kako bi osigurao da sve značajke aplikacije rade kako bi trebale, već i kako bi utvrdio može li korisnička baza s lakoćom upravljati njome. Ovo je možda najčešći oblik istraživačkog testiranja – iako ga to ne čini nužno najučinkovitijim.

 

1. Prednosti ručnog izvođenja eksploratornih testova

 

Prednosti ručnog eksplorativnog testiranja uključuju:

 

Jači fokus na upotrebljivost

 

Automatizirani istraživački testovi mogu uočiti odstupanja u softveru, ali možda neće moći protumačiti te probleme na isti način kao ljudski tester.

To uključuje razumijevanje načina na koji će se korisnici softvera kretati ili komunicirati s aplikacijom, nešto što automatizacija ne može uzeti u obzir.

Ručni istraživački testeri mogu ponuditi višu razinu povratnih informacija, uključujući specifične detalje o tome kako problemi koje pronađu utječu na cjelokupni softver ili opće iskustvo.

 

Može napraviti promjene u stvarnom vremenu

 

Jedna od ključnih prednosti eksplorativnog testiranja je da je moguće identificirati potrebu za testom i izvršiti ga relativno brzo prije dražbe za potrebna poboljšanja.

Automatizirano testiranje općenito je mnogo brži proces, ali testeri moraju pričekati da sve bude gotovo prije nego što unesu promjene – ručni testeri to mogu učiniti dok je proces eksplorativnog testiranja još u tijeku.

Međutim, to je često moguće samo za pogreške koje utječu na manje dijelove softvera.

 

Veća pažnja posvećena detaljima

 

Eksploratorno testiranje uglavnom se odnosi na otkrivanje novih načina testiranja aplikacije uz njezino razumijevanje; to ponekad može značiti da jedan test vodi drugom dajući ideje ispitivaču.

Automatizirani testovi možda neće uzeti u obzir ovo jer su relativno slobodni za tim za testiranje. Ručni testeri neprestano poboljšavaju svoje znanje o softveru i smišljaju nove, ali jednako važne testove – ali to može biti teško ako ih softver treće strane automatizira.

 

Može pronaći pogreške izvan koda

 

Ručne istraživačke provjere omogućuju testerima da pogledaju svaki aspekt aplikacije i softvera, uključujući i izvan samog koda.

Mnogi automatizirani pristupi ograničeni su na kôd i način na koji on funkcionira, što može rezultirati time da testni timovi ne primjećuju probleme koji bi se mogli pojaviti u drugim dijelovima aplikacije.

To uglavnom ovisi o softveru za automatizaciju koji imate jer neka rješenja mogu ponuditi širi pristup istraživačkom testiranju.

 

Osigurava kvalitetu u cijelom projektu

 

Automatizirane istraživačke provjere traže samo pogreške i metrike unutar aplikacije; ručni testeri mogli bi umjesto toga pregledati softver i ponuditi vlastite iscrpne povratne informacije.

Na primjer, mogu testirati kod i utvrditi da je presložen – osobito važno jer mrtvi kod može usporiti izvedbu, ali ga automatizirani procesi zapravo ne bi otkrili.

Poznavanje softvera testera može biti ključno u dijagnosticiranju problema koji se pojavljuju tijekom drugih faza testiranja.

 

2. Izazovi ručnog eksploratornog testiranja

 

Izazovi ručnog istraživačkog testiranja uključuju:

 

Mogućnost ljudskih grešaka

 

Automatizirano istraživačko testiranje može pokrenuti potpuno istu provjeru onoliko puta koliko je potrebno bez ikakvih promjena u točnom napretku, osiguravajući dosljednost i pouzdane rezultate.

IS YOUR COMPANY IN NEED OF

ENTERPRISE LEVEL

TASK-AGNOSTIC SOFTWARE AUTOMATION?

Ručno istraživačko testiranje osjetljivo je na ljudske pogreške, što znači da ispitivač može unijeti pogrešnu vrijednost. Obično je moguće još jednom provjeriti ove testove i ispraviti sve nedosljednosti jer se mogu činiti očitima čak i na prvi pogled.

Međutim, ponavljanje testa nakon uočavanja pogreške može oduzeti više vremena.

 

Općenito oduzima više vremena

 

Čak i ako ispitivači provedu svaku istraživačku provjeru ispravno, bez ljudskih pogrešaka, ovaj sveukupni proces traje dosta vremena u usporedbi s automatiziranim softverom koji može puno brže izračunati testove.

To može biti razlika od najmanje nekoliko sati; vrijeme koje bi testeri izvedivo mogli potrošiti na dijelove aplikacije koji ne bi imali koristi od automatizacije.

Eksploratorni testovi također zahtijevaju stalan nadzor, dok automatizacija omogućuje da se testovi izvode preko noći.

 

Dugotrajan proces dokumentacije

 

Na sličan način, ručna dokumentacija tijekom i nakon ručnog testiranja mogla bi predstavljati nepotrebno opterećenje za istraživački proces testiranja.

To otežava praćenje promjena i uređivanja softvera tijekom vremena – automatizirani softver obično to može intuitivno uzeti u obzir prilikom izvođenja testova.

Ovo je još jedno administrativno pitanje koje oduzima vrijeme i energiju drugim stvarima, što učinkovito smanjuje opseg i širinu cjelokupnog postupka testiranja softvera.

 

Mora dobro poznavati softver

 

Ručni testeri bilo koje razine vještina mogu pregledati aplikaciju i temeljito je testirati. To je zbog rada koji su uložili u razumijevanje softvera – prve faze istraživačkog procesa.

Međutim, ako se ispitivač bori ili zanemaruje kako bi naučio kako ova aplikacija radi, vjerojatno će imati problema s osmišljavanjem i izvođenjem odgovarajućeg niza testova.

Dobro poznavanje softvera omogućuje ispitivačima da nadmaše uobičajene parametre ispitivanja.

 

Skupo za održavanje

 

Oslanjanje na ručno istraživačko testiranje obično zahtijeva veći tim za testiranje, što može rezultirati većim dugoročnim troškovima u usporedbi s automatiziranim provjerama. Softver treće strane koji provodi ove istraživačke testove može pružiti ogromnu vrijednost ili čak može biti potpuno besplatan.

Ovisno o složenosti zadataka, tvrtka može zahtijevati visoko kvalificirane testere s dugogodišnjim iskustvom da u potpunosti provjere aplikaciju. To može znatno povećati troškove testiranja u usporedbi s korištenjem besplatnog softvera za automatizaciju.

 

3. Kada koristiti ručno eksploratorno testiranje

 

Ručno istraživačko testiranje često dolazi s nekoliko izazova, ali je i dalje vitalna komponenta temeljitog testiranja softvera. To je zato što postoje aspekti softvera koje automatizacija ne može u potpunosti uzeti u obzir, a koji također zahtijevaju snažan fokus.

Na primjer, softver ne može pouzdano pružiti povratne informacije o korisničkim sučeljima ili testovima korisničkog iskustva. Testeri mogu dobiti dobru predodžbu o tome kako aplikacija radi u praksi samo ako je ručno testiraju. To znači da i programeri i timovi za testiranje moraju razmotriti integraciju barem određenog stupnja ručnog istraživačkog testiranja u svoje provjere.

 

Automatizirano istraživačko testiranje

 

Automatizirano testiranje koristi softver treće strane za automatizaciju određenih provjera – testeri to obično mogu prilagoditi za gotovo bilo koji test.

Međutim, to općenito zahtijeva da tim barem jednom ručno pokrene provjeru kako bi kalibrirao automatizaciju. Ovo može značajno pojednostaviti proces i za timove za testiranje i za razvojne timove.

Iako automatizacija istraživačkih testova može biti neuobičajena, postoji nekoliko jasnih prednosti za vašu aplikaciju i njezinu izvedbu.

 

1. Prednosti automatizacije eksploratornog ispitivanja

 

Glavne prednosti automatizacije istraživačkog testiranja uključuju:

 

Dosljedno izvođenje testa

 

Ljudska pogreška može lako dovesti do pogrešaka u testiranju za čije popravljanje je potrebno i vrijeme i novac; automatizirane istraživačke provjere omogućuju timovima za testiranje da zaobiđu ovaj problem.

Testeri učinkovito podučavaju softver za automatizaciju kako ispravno izvršiti test, osiguravajući da ga svaki put provodi na identičan način. Ovo poboljšava ukupnu pouzdanost testova i smanjuje količinu vremena koje programeri provode čekajući rezultate – pogotovo zato što testeri mogu postaviti da se ovo izvodi preko noći s lakoćom.

 

Štedi vrijeme za sve

 

Automatizirani testovi omogućuju razvojnim programerima da brže počnu raditi na rješavanju problema, dok također omogućuju testerima da pokriju širi raspon istraživačkih provjera. Postoji toliko mnogo scenarija koje tim može uzeti u obzir bez obzira na njihov rok, što znači da je važno da testeri uklope što više provjera u svoj dopušteni vremenski okvir.

Automatizacija pomaže provođenjem ovih istraživačkih testova mnogo bržim tempom od ručnih testera.

 

Troškovno učinkovit pristup

 

Ovisno o softveru koji tim odabere, automatizacija bi mogla biti daleko isplativija od ručnog testiranja – ono bi čak moglo biti besplatno.

Dok je ručne testere još uvijek kritično angažirati i neki od njih će biti odgovorni za kalibraciju postupaka automatizacije, automatizacija što je moguće više istraživačkih testova daje tvrtki priliku za smanjenje troškova osoblja.

Nakon što tim shvati softver za automatizaciju, može ga prilagoditi širokom rasponu zadataka.

 

Prilagodljiv za više uređaja

 

Ručno testiranje moglo bi zahtijevati osoblje s iskustvom na različitim uređajima, kao što je poznavanje različitih operativnih sustava telefona uključujući Android i iOS ako se radi o izradi mobilne aplikacije.

Automatizirani softver to može uzeti u obzir i testirati na više uređaja kako bi osigurao da aplikacija može dosljedno dobro raditi. Timovi za testiranje s poznavanjem ovih uređaja mogu smatrati proces zamornim; automatizacija je ponovno u mogućnosti usmjeriti uobičajene procese istraživačkog testiranja i testirati svaku iteraciju istovremeno.

 

Skripte za višekratnu upotrebu

 

Ako tim testira nekoliko verzija istog softvera ili čak više proizvoda sa sličnom arhitekturom ili značajkama, moguće je ponovno koristiti skripte iz jednog ciklusa testiranja u drugi.

Ako postoje bilo kakve prilagodbe koje su potrebne za osiguravanje kompatibilnosti, ručni testeri mogu ih napraviti puno brže od pisanja potpuno nove skripte.

Automatizacija optimizira gotovo svaku fazu istraživačkog procesa testiranja, lako se postavlja kroz različite softverske konfiguracije.

 

2. Izazovi automatizacije eksploratornih testova

 

Ovaj proces također uključuje razne izazove, kao što su:

 

Predstavlja samo jednu stranu testiranja

 

Nije praktično ni mudro automatizirati svaku provjeru tijekom testiranja aplikacije jer postoje neki aspekti o kojima samo ručni tester može pouzdano dati povratnu informaciju.

To uključuje korisničko iskustvo, iako bi moglo biti moguće dobiti temeljitu analizu performansi i testiranja opterećenja putem automatizacije, ovisno o softveru koji odaberete.

Eksploratornoj automatizaciji testova nedostaje ljudska prosudba i najbolje bi funkcionirala uz ručni tester za neke provjere.

 

Nerealna očekivanja sposobnosti

 

Na sličan način, postupci automatiziranog istraživačkog testiranja mogu pružiti ogromne prednosti za aplikaciju uz cjelokupni projekt.

Međutim, ovaj pristup nije uvijek odgovor. Organizacije koje se uvelike oslanjaju na automatizaciju u svakoj fazi mogu imati nepotpunu perspektivu softvera.

Automatizacija identificira probleme, ali timovi za testiranje i razvoj odgovorni su za njihovo rješavanje. Važno je definirati sveobuhvatnu strategiju automatizacije kako bi svi na projektu razumjeli njegove mogućnosti i ograničenja.

 

Veći zahtjevi za vještinama

 

Automatizacija obično uključuje znanje kako izvršiti složene provjere, uz to kako ih programirati i zapravo automatizirati. Za to su često potrebne godine iskustva u izradi skripti, iako bi softver za automatizaciju mogao znatno optimizirati te procese.

Od ključne je važnosti da tvrtka zapošljava testere s različitim i robusnim vještinama kako bi se omogućila učinkovita automatizacija.

Ispitivači s iskustvom u automatizaciji također znaju koje funkcije treba dati prioritetu pri odabiru među dostupnim opcijama softvera trećih strana, osiguravajući da tim dobije dobar proizvod.

 

Nepravilne strategije i komunikacija

 

Komuniciranje koherentne strategije najvažnije je za svaku uspješnu automatizaciju; programeri, testeri, pa čak i voditelji projekata moraju biti na istoj stranici tijekom testiranja.

Timovi moraju raditi zajedno kako bi utvrdili opseg i raspored svojih nadolazećih postupaka. To vrijedi za svaki postupak testiranja, ali je posebno bitno zbog dodatne složenosti automatizacije. Bolje linije komunikacije i nedostatak informacijskih silosa omogućuju vašim timovima učinkovitije provođenje testova.

 

Odabir pravog softvera za automatizaciju

 

Automatizacija obično uključuje odabir aplikacije treće strane koja je kompatibilna s ciljevima testiranja tima. Svaka opcija ima različite planove cijena i funkcionalnost. To bi mogao biti značajan dugoročni trošak, čak i ako softver uspješno izvršava automatizirane testove uz pružanje znatne količine vrijednosti.

Postoji niz besplatnih opcija koje nude impresivnu funkcionalnost usporedivu s premium alternativama. Bitno je da tim za testiranje istraži sve dostupne opcije, uključujući besplatni softver.

 

Zaključak: Automatizacija eksploratornog ispitivanja u odnosu na ručno eksploratorno testiranje

 

Malo je projekata koji imaju koristi od potpuno ručnog testiranja ili potpuno automatiziranog testiranja jer aplikacije svih vrsta imaju bolje rezultate s kombinacijom oba.

Dok automatizirani testovi mogu optimizirati proces za timove za razvoj i osiguranje kvalitete, neki aspekti dizajna zahtijevaju ručno istraživačko testiranje; ovo je jedini način da dobijete povratnu informaciju svjesnu korisnika.

S vremenom sve više organizacija radi na implementaciji hiperautomatizacije , procesa koji ima za cilj inteligentno maksimizirati automatizaciju, osiguravajući da tvrtka ima učinkovitu strategiju – to bi i dalje moglo postojati uz ručno testiranje.

Automatizirano testiranje postaje sve dostupnije tvrtkama zbog povećane rasprostranjenosti softvera za automatizaciju, posebno s nekoliko dostupnih besplatnih opcija s mnoštvom značajki. To tvrtkama olakšava usvajanje kombiniranog ručnog/automatiziranog istraživačkog pristupa testiranju.

Rastuća popularnost Agile-a (tehnike upravljanja projektima koja se fokusira na inkrementalni, ali značajan napredak) u razvoju također je bio faktor jer zahtijeva kratke cikluse testiranja. Kombinirana strategija testiranja mogla bi se prilagoditi ovoj i raznim drugim razvojnim strategijama, kao što je kontinuirana integracija, koja na sličan način zahtijeva ponovljeno testiranje kako bi se osigurao uspjeh u mnogim iteracijama istog softvera.

 

Što vam je potrebno za početak istraživačkog testiranja

 

Preduvjeti eksplorativnog ispitivanja su:

 

1. Jasni ciljevi testiranja

 

Iako je istraživačko testiranje sinonim za slobodu i ponekad se brka s ad hoc testiranjem, ono i dalje slijedi određena pravila ili odredive ciljeve. Jedini način na koji QA tim može uspješno upravljati gotovo svakom strukturom testiranja je znati očekivani ishod svakog testa, pogotovo jer testeri obično sami dizajniraju te provjere.

 

2. Kreativni, intuitivni testeri

 

Istraživačko testiranje usmjereno je na dizajniranje novih i kreativnih testova koji bi mogli otkriti probleme s aplikacijom. To mogu učiniti čak i testeri s ograničenim iskustvom, pod pretpostavkom da razumiju softver.

Važno je da testeri razumiju aplikaciju i kako ona radi; to im omogućuje da intuitivno razviju niz korisnih provjera.

 

3. Koherentna dokumentacija

 

Svaka vrsta testiranja mora imati čvrstu dokumentaciju kako bi se osiguralo da svaki član tima slijedi očekivani raspored testiranja i da nitko slučajno ne ponovi provjeru.

Ovo je vitalni aspekt komunikacije unutar jednog odjela i među nekoliko, kao što su programeri koji zahtijevaju redovita ažuriranja testiranja kako bi otkrili kako riješiti probleme.

 

4. Perspektiva kupca

 

Istraživačko testiranje pokriva mnoge strategije i scenarije, uključujući one koji odražavaju kako će se korisnici praktično baviti aplikacijom. Od ključne je važnosti da timovi za testiranje to uzmu u obzir tijekom svojih provjera, čak i ako ne provode testove temeljene na scenarijima.

Usvajanje ovoga omogućuje testeru pristup testiranju iz različitih perspektiva, poboljšavajući kvalitetu tih provjera.

 

5. Softver za automatsko testiranje

 

Budući da tim vjerojatno može automatizirati značajnu količinu testova koje dizajniraju, važno je da mogu nabaviti visokokvalitetni softver za automatizirano testiranje prije faze izvršenja.

Programeri i tim za testiranje mogu koristiti svoje razumijevanje projekta kako bi odredili aplikaciju treće strane koja bi odgovarala njihovim zahtjevima.

 

Eksploratorni proces testiranja

 

Specifični koraci za eksplorativno testiranje su sljedeći:

 

1. Klasificirajte postupak ispitivanja

 

Prvi korak istraživačkog testiranja je da relevantni članovi tima razumiju kako bi mogli pristupiti tim provjerama, kao što je klasificiranje uobičajenih grešaka i provođenje analize temeljnog uzroka.

Ovdje testeri razvijaju svoje ideje za same testove; ovisno o njihovoj točnoj metodologiji, oni također mogu izraditi testnu povelju.

Ovo postavlja opseg i testove za tu sesiju ili radni dan.

 

2. Započnite testove

Iako točni parametri (kao što je vrijeme za svaki test ili ukupna sesija) ovise o vlastitim preferencijama tima i zahtjevima projekta, svi istraživački radovi slijede određene zajedničke karakteristike.

Nakon klasificiranja relevantnih provjera, osoblje za osiguranje kvalitete počinje provoditi ispitivanja i bilježiti sve rezultate.

Ako je za provjere potrebna automatizacija, ispitivači bi to mogli postaviti da radi preko noći ili sami nadzirati tijekom dana.

 

3. Pregledajte rezultate

 

Sljedeća faza je pregled rezultata, usporedba sa zadanim i očekivanim rezultatima. Ako ti testovi dovedu do značajnih neočekivanih odstupanja bilo koje vrste, ispitivači bi mogli ponoviti provjeru ili odmah početi smišljati kako to popraviti. Prijedlozi koje daju programerima mogu biti ključni u određivanju ispravnog pristupa – a njihova izvješća o pogreškama mogu to detaljno prikazati.

 

4. Test debriefing

 

Nakon licitacije rezultata ispitivanja, tim za osiguranje kvalitete počinje pregledavati samu proceduru testiranja i koristi to kako bi utvrdio je li njihov istraživački pristup testiranju bio prikladan.

Ovo sažeto izvješće o testu moglo bi čak zaključiti da je tijekom provjera bilo operativnih pogrešaka koje zahtijevaju ponovno testiranje. Tim za testiranje također može ponovno provjeriti aplikaciju nakon što programeri poprave te probleme kako bi utvrdili jesu li bili uspješni.

 

Najbolje prakse za eksploratorno testiranje

 

Najučinkovitije prakse za eksplorativno testiranje uključuju:

 

1. Uparivanje testera

Mnogi oblici istraživačkog testiranja imaju koristi od zajedničkog rada testera – to dodatno usmjerava proces i omogućuje višestruke perspektive istih provjera.

Testiranje u paru također izbjegava mogućnost vida tunela, potičući kreativniji dizajn testa.

Nekoliko ljudi koji rade na istim testovima mogu dovesti do veće točnosti u svim segmentima, a podjela radnog opterećenja također pomaže da testiranje bude mnogo brže za cijeli tim.

 

2. Miješanje ručnih i automatiziranih testova

 

Neke se tvrtke još uvijek bore s usvajanjem automatizacije, dok je druge pretjerano koriste, čak i kada bi ručne perspektive mogle biti korisnije. Usklađivanje ovih provjera zajedno omogućuje timu za testiranje da pokrije više baza i osigura kvalitetu u cijeloj aplikaciji, uključujući subjektivnije aspekte kao što je sučelje softvera.

Zajedničko provođenje ručnih i automatiziranih testova jedini je način da se zajamči potpuna pokrivenost testom svake značajke ili funkcije.

 

3. Razumijevanje tržišta

 

Važno je da ispitivači poznaju i svoju ciljanu publiku i konkurente tijekom procesa testiranja; to im pomaže da procijene kako će ljudi vjerojatno reagirati na trenutnu funkcionalnost aplikacije.

Za određenim značajkama postoji velika potražnja, a tim za testiranje može imati koristi od davanja prioriteta tim značajkama tijekom provjera. Iako također moraju održavati široku pokrivenost testom. To bi moglo odrediti smjer za testiranje uz potencijalni uspjeh softvera pri lansiranju.

 

4. Koristite stvarne uređaje za testiranje

 

Timovi za testiranje softvera mogu koristiti emulatore kako bi olakšali svoje istraživačke provjere; ovo može biti korisno, ali rijetko odražava praktično korisničko okruženje.

Stvarni uređaji pomažu u poboljšanju pouzdanosti istraživačkog testiranja generiranjem realističnijeg iskustva – emulatori su nesavršeni i mogu imati pogreške koje nisu prisutne za korisnike.

Emulacija je brz način testiranja više platformi, ali nije zamjena za stvarne uređaje.

 

Vrste izlaza iz eksploratornog testa

 

Postoje različiti rezultati koje testeri mogu dobiti nakon provođenja provjere, uključujući:

 

1. Rezultati ispitivanja

 

Sami rezultati imaju različite oblike budući da istraživačko testiranje može obuhvatiti stotine jedinstvenih testova. Ovi rezultati čine većinu rezultata rutine testiranja, nudeći vitalne informacije o stanju aplikacije i njezinoj sposobnosti da zadovolji potrebe korisnika.

Ispitivači bi mogli ponovno provjeriti sustav i potvrditi informacije po primitku ovih rezultata kako bi odredili svoju sljedeću radnju.

 

2. Dnevnici ispitivanja

 

Vlastiti zapisnici aplikacije često otkrivaju pogreške i probleme tijekom procesa testiranja; oni pružaju najjače naznake zašto je softver pao na testu. Stariji testeri posebno su vješti u tumačenju zapisa aplikacije, omogućujući im da identificiraju uzrok kompliciranih problema.

Što više informacija testeri prikupe iz ovih zapisa, to više mogu pomoći programerima.

 

3. Izvješća o ispitivanju

 

Ovisno o postupku automatizacije tima, njihovi rezultati mogu automatski generirati izvješće o pogrešci. Ovo navodi sve pogreške prisutne u aplikaciji, uključujući moguće uzroke i sve druge podatke relevantne za programere.

Testeri to mogu koristiti kako bi ponudili vlastito mišljenje o tome je li softver spreman za lansiranje, što je općenito poznato kao odluka o ići/ne ići.

 

Primjeri eksploratornog ispitivanja

 

Evo tri primjera kako tvrtka može koristiti eksplorativno testiranje:

 

1. Aplikacija za mobilno igranje

 

Ako tvrtka za igranje igara želi objaviti veliko ažuriranje za mobilnu aplikaciju, istraživački testeri mogu provjeriti i stare i nove značajke kako bi utvrdili je li aplikacija još uvijek stabilna. To može povećati složenost softvera do te mjere da se ne može pokrenuti na određenim uređajima.

Testeri rade na minimiziranju učinaka ovoga, a istovremeno osiguravaju upotrebljivost na što je moguće više platformi.

Eksploratorni testeri temeljito provjeravaju igru i njezine mnoge komplicirane scenarije kako bi osigurali da svaka funkcija radi kako treba; ovaj postupak obično zahtijeva ručni tester.

 

2. Web stranica davatelja usluga

 

Web-mjesta također prolaze eksplorativno testiranje kako bismo bili sigurni da rade i za korisnike i za osoblje, tako da testeri mogu započeti prijavom na web-mjesto. Time se testira sposobnost stranice da stvori nove korisničke profile i provjerava da korisnici ne mogu pristupiti administrativnim funkcijama.

Testeri zatim prelaze na provjeru usluge koja može biti u obliku rezerviranja termina ili naručivanja. Zatim će dovršiti kupnju kako bi provjerili funkcionira li naplata ispravno, nakon čega će pogledati potvrdu narudžbe putem e-pošte i povijest računa.

 

3. Sustav upravljanja bolnicom

 

Aplikacije i sustavi svih vrsta mogu imati koristi od istraživačkog testiranja. Za sustave upravljanja bolnicama, tester bi mogao pogledati kako modul plaćanja komunicira s drugim značajkama.

Više razine integracije mogu dovesti do značajnih pogrešaka bez rigoroznog testiranja. Ove provjere mogu uključivati arhitektonski dijagram koji prati mnoge komponente sustava i kako se one međusobno presijecaju.

Testeri također gledaju probleme u prethodnim iteracijama sustava i posebno testiraju da vide jesu li i dalje prisutni, poduzimajući brze mjere ako otkriju bilo kakve pogreške.

 

Vrste grešaka i grešaka otkrivenih putem eksploratornog testiranja

 

Pogreške koje testeri mogu otkriti tijekom eksplorativnog testiranja uključuju:

 

1. Nekompatibilne značajke

Određene funkcije u aplikaciji možda neće međusobno komunicirati kako se očekuje – što može dovesti do toga da korisnici ne mogu dovršiti kupnju ili koristiti aplikaciju. Ispitivači provjeravaju funkcije zasebno i međusobno kako bi bili sigurni da sve odgovara.

 

2. Neodgovarajući dizajn korisničkog sučelja

Korisničko sučelje aplikacije točno određuje kako netko koristi softver. Na primjer, ako klijentima nisu vidljive važne značajke, oni možda neće primijetiti da te značajke postoje, što ograničava njihovo uživanje u aplikaciji.

Ručno testiranje korisničkog sučelja identificira i ispravlja korisnički neugodan dizajn.

 

3. Pogreške pri autentifikaciji

Mnoge aplikacije i web stranice omogućuju stvaranje korisničkog profila s određenim privilegijama. Od ključne je važnosti da testeri provjere mogu li prosječni korisnici na neki način pristupiti osjetljivim podacima ili čak administrativnim značajkama dok koriste softver na neočekivane načine.

 

4. Mrtav kod

Testeri bi mogli pronaći zastarjeli kod još uvijek prisutan u aplikaciji, što čak može biti uzrok značajnih problema s izvedbom. Mrtav kod previše komplicira unutarnji rad aplikacije i može dovesti do pogrešaka koje se mogu izbjeći. Identificiranje i optimizacija ovoga čini softver osjetljivijim na reakcije za osoblje i korisnike.

 

Uobičajene metrike istraživačkog testiranja

 

Uobičajene metrike s kojima se testeri mogu susresti tijekom svojih istraživačkih testova uključuju:

 

1. Mjerni podaci testa izvedbe

Eksploratorni testovi koji gledaju na opću izvedbu aplikacije mogu rezultirati širokim rasponom metrika. To može uključivati minimalno, prosječno i maksimalno vrijeme odziva uz stope neuspjeha i uspjeha za određivanje stabilnosti.

 

2. Testirajte metriku pokrivenosti

Pokrivenost testom je važna jer određuje koliko kategorija i aspekata aplikacije testovi obuhvaćaju. Postotak pokrivenosti zahtjeva, na primjer, procjenjuje postoje li funkcije koje zahtijevaju daljnje krugove testiranja.

 

3. Ukupna učinkovitost ispitivanja

Praćenje broja uspješnih i neuspješnih provjera pomaže testerima da utvrde opće stanje aplikacije. Povrh toga, tim može pratiti koliko je grešaka koje otkriju kritičnih.

 

4. Raspodjela nedostataka

Na sličan način, provjera distribucije grešaka pokazuje komponente ili funkcije koje su najosjetljivije na pogreške. To mogu biti dijelovi aplikacije koji često stupaju u interakciju s drugima, zbog čega je neophodno dati prioritet ovim testovima.

 

5. Regresijska metrika

Eksploratorno regresijsko testiranje omogućuje testerima da vide kako se ponašaju različite iteracije istog softvera i kako to može utjecati na performanse.

Stopa ubacivanja grešaka i grešaka po izgradnji specifične su metrike koje pomažu u tome.

 

Razjašnjavanje zabune: istraživačko testiranje nasuprot ad hoc testova

 

S jakim fokusom na slobodu testera, neki ljudi često brkaju istraživačko testiranje s ad hoc testiranjem. Dva formata dijele nekoliko ključnih sličnosti, ali u konačnici služe različitim svrhama.

 

1. Što je ad hoc testiranje?

 

Ad hoc testiranje potpuno je nestrukturiran pristup koji odstupa od konvencionalnog dizajna testa kako bi se pronašli nedostaci koji se inače ne bi pojavili.

IS YOUR COMPANY IN NEED OF

ENTERPRISE LEVEL

TASK-AGNOSTIC SOFTWARE AUTOMATION?

Ovaj oblik testiranja obično ne uključuje dokumentaciju, što otežava reproduciranje problema osim ako ispitivač nije apsolutno siguran u uzrok.

Jedan primjer za to je ‘testiranje majmuna’, provjera koja uključuje nasumične unose i u konačnici ima za cilj slomiti sustav.

Slično istraživačkom testiranju, mnogi ad hoc testeri rade u paru kako bi dovršili te provjere; ovo poboljšava njihovu pouzdanost. Ad hoc pristup bi mogao biti koristan nakon formalnog izvršenja testa kako bi se osiguralo da provjere uzimaju u obzir svaku mogućnost; ovo također pomaže kada je ograničeno vrijeme za provođenje daljnjeg testiranja. Uz pravilnu izvedbu, ad hoc testovi su vrlo korisni.

 

2. Razlike između eksploratornog testiranja i ad hoc testova

 

Ad hoc testiranje općenito ne uključuje službenu dokumentaciju. Ovo je u oštroj suprotnosti s istraživačkim testovima gdje improvizirana priroda ovih provjera čini vođenje evidencije još važnijim.

Eksploratorni testovi koriste veći izbor formalnih tehnika testiranja, dok ad hoc provjere to izbjegavaju gledajući izvan konvencionalne etikete testiranja. To im pomaže da otkriju greške koje testeri inače nikada ne bi pronašli.

Istraživačko testiranje ima jasne ciljeve i granice, ali još uvijek dopušta članovima tima korištenje kreativnih testova. Ad-hoc testovi obično nemaju odredive krajnje ciljeve osim guranja softvera kako god može. Ad hoc testiranje često također uključuje već postojeće znanje o softveru i njegovim funkcijama, dok istraživačko testiranje uključuje učenje aplikacije u njezine uobičajene procese.

 

Eksploratorno testiranje u Agileu

 

Agilna metodologija snažno promiče stalna poboljšanja. To znači da se dobro slaže s istraživačkim testovima, posebno kako raste potražnja za čestim ažuriranjima softvera.

Kombinacija istraživačkog testiranja s Agileom može članovima tima omogućiti jaču strukturu testiranja uključivanjem planiranja izdanja i izvršavanja sprinta kroz njihove rasporede. Tvrtka koja prihvaća Agile tehnike mogla bi to još više iskoristiti uparivanjem s istraživačkim testiranjem; ovo je izvrstan način testiranja svake pojedinačne softverske komponente aplikacije. Budući da testeri mogu provoditi istraživačke provjere bez skripti, to štedi dragocjeno vrijeme i osoblju za osiguranje kvalitete i programerima.

Automatizirano istraživačko testiranje ujedinjuje ove uštede, pomažući tvrtkama da provjere najnovije iteracije svojih aplikacija mnogo brže, potencijalno preko noći. Istraživačke provjere daju brze, upotrebljive rezultate, a programeri mogu djelovati na sve potrebne promjene kao dio svog sljedećeg sprinta.

Ručno istraživačko testiranje još uvijek nudi mnoge prednosti u kombinaciji s Agileom zbog njegove sposobnosti da identificira probleme koje bi automatizirani pristup mogao propustiti. Ostali oblici testiranja jednostavno traju predugo ili pružaju premalo prednosti da bi se udobno uklopili u Agile okvir. Istraživačke provjere mogu osigurati da svaka Agile faza značajno poboljšava softver i njegovu funkcionalnost.

 

7 pogrešaka i zamki koje treba izbjegavati u provedbi eksploratornih testova

 

Evo sedam uobičajenih pogrešaka koje tvrtke često čine dok provode eksplorativne testove, zajedno s načinima na koje tvrtke mogu izbjeći te probleme:

 

1. Neuravnoteženo ručno/automatsko testiranje

 

Određivanje testova koji najbolje funkcioniraju s ručnim provjerama i koji bi imali koristi od automatizacije zahtijeva vrijeme, ali omogućuje timovima da testiraju mnogo učinkovitije.

Automatiziranje previše testova može rezultirati nezgrapnom aplikacijom ili neprikladnom za korištenje zbog nedostatka ljudskog ispitivača.

 

2. Vremenska ograničenja

Eksploratorno testiranje je brže od mnogih drugih oblika testiranja, ali realnost projektnih rokova znači da još uvijek postoje ograničenja koliko testova tim može provesti.

Upravljanje vremenom i predanost pokrivenosti testom pomažu timu za testiranje da izvrši što više provjera u mnogim širokim kategorijama.

 

3. Nefleksibilni testeri

Iako istraživački testeri ne zahtijevaju prethodno znanje o softveru ili posebno duboke vještine, provjere se i dalje oslanjaju na sposobnosti i inicijativu pojedinačnih članova tima.

Voditelj projekta mora mudro dodijeliti ove uloge testiranja, rezervirajući ih za kreativnije i intuitivnije članove tima ako je potrebno.

 

4. Poteškoće u repliciranju neuspjeha

Nije uvijek vidljivo koje radnje doprinose neuspjehu testa; također može biti nejasno koji su aspekti aplikacije krivi.

Zbog toga mnogi istraživački pristupi uključuju uparivanje testera zajedno ili čak izravno snimanje zaslona testera kako bi se jasnije razumjeli problemi i njihovi točni uzroci.

 

5. Nejasna dokumentacija

Bilo da se radi o automatiziranom izvješću o pogrešci ili ručnom zapisu dovršenih testova, dobra dokumentacija programerima olakšava djelovanje prema nalazima tima za testiranje.

Tim za testiranje mora se posvetiti osiguravanju visokokvalitetnog vođenja zapisa tijekom svake pojedinačne provjere, nudeći što više detalja u svakom izvješću.

 

6. Visoka očekivanja

Eksploratorno testiranje korisno je za gotovo svaki softverski projekt, ali je još uvijek ograničeno u svom opsegu – najbolje funkcionira u kombinaciji s drugim metodama testiranja.

Timovi za testiranje moraju obavljati ove provjere uz uobičajene skriptirane testove; to je jedini način na koji odjeli za osiguranje kvalitete mogu osigurati dosljedno široku pokrivenost testovima.

 

7. Nepravilna automatizacija

Važno je da tim za testiranje i voditelj projekta razumiju koji softver za automatizaciju pruža najviše prednosti za tu određenu aplikaciju.

Različite opcije trećih strana nude vlastite jedinstvene značajke, tako da odabir tima može odrediti uspjeh njihove robotske automatizacije procesa ; moraju razmotriti svaku opciju koja je pred njima.

 

5 najboljih besplatnih alata za istraživačko testiranje

 

Pet najboljih alata za istraživačko testiranje koje timovi za osiguranje kvalitete mogu koristiti besplatno uključuju:

 

1. ZAPTEST BESPLATNO izdanje

ZAPTEST Free pruža vrhunsku funkcionalnost uz apsolutno nultu cijenu, omogućujući svakoj organizaciji da ima koristi od jednostavne istraživačke implementacije testa.

Ova aplikacija može automatizirati bilo koju platformu, uređaj i preglednik s inovativnom 1SCRIPT tehnologijom.

ZAPTEST također nudi fleksibilnu RPA automatizaciju, dopuštajući vam da to kombinirate s ručnim pristupom.

 

2. Istraživačka aplikacija XRAY

XEA omogućuje korisnicima stvaranje sveobuhvatnih testnih povelja i jednostavno bilježenje njihovog napretka, pojednostavljujući fazu izvješća o pogreškama u istraživačkom testiranju.

Ova se opcija u potpunosti usredotočuje na korisničku perspektivu i nudi centralizirano središte rezultata za ažuriranje drugih testera.

Međutim, XRAY trenutno nema integriranu automatizaciju, što bi moglo ograničiti njegovu dugoročnu učinkovitost.

 

3. Magnet za bube

Proširenje preglednika koje nudi temeljito istraživačko testiranje, Bug Magnet omogućuje ispitivačima provjeru rubnih slučajeva i drugih problematičnih vrijednosti.

Ovo proširenje također pruža jednostavnu integraciju lažnog teksta, adresa e-pošte i više skupova znakova.

Međutim, ovo je dostupno samo za Firefox i Chrome preglednike, što ga čini manje svestranim izborom od njegovih konkurenata.

 

4. Planovi testiranja Azurea

Azure Test Plans ključni je dio Microsoftove platforme Azure i omogućuje testerima da zabilježe bogate podatke u mnogim scenarijima.

Ova je opcija prikladna i za stolna računala i za aplikacije temeljene na webu, dok također pruža mogućnost praćenja od kraja do kraja koja ima jasnu evidenciju razvoja softvera.

Međutim, ovaj pristup često zahtijeva dublju integraciju s Azureom, stoga dolazi po cijenu fleksibilnosti.

 

5. Svjedočenje

Testiny je specijaliziran za ručno istraživačko testiranje, nudeći pametan uređivač koji testerima omogućuje da dizajniraju provjere koristeći strukturu stabla za maksimalnu fleksibilnost.

Svaka promjena u slučaju izvođenja ili testiranja ostaje u povijesti aplikacije kako bi se osigurala puna odgovornost i sljedivost.

Međutim, ovo je besplatno samo za male timove i projekte otvorenog koda.

 

Kada biste trebali koristiti alate Enterprise a ne Free Exploratory Test?

 

Iako je istraživačko testiranje vrijedno ulaganje, a vrhunske aplikacije obično nude veću funkcionalnost, postoje mnoge besplatne opcije koje pružaju više nego dovoljno značajki.

Eksploratorno testiranje moglo bi biti značajan operativni trošak ako se posvetite vrhunskom modelu, ali nema svaka tvrtka ili tim za razvoj softvera novac za to. Izbor najboljeg softvera treće strane često ovisi o specifičnim zahtjevima tvrtke.

Plaćeno rješenje može biti jedini način da se zadovolje potrebe tog projekta; tim mora istražiti različite izbore prije nego što se obveže na aplikaciju.

Tvrtke s manjim timovima mogu imati najviše koristi od besplatnih alata za testiranje jer su mnoge opcije besplatne za ograničen broj korisnika.

Alternativno, mogu odabrati opcije bez ovog ograničenja i one koje se mogu prilagoditi ljestvici tima za testiranje. Ovo bi moglo učiniti još održivijim uparivanje istraživačkih testera kako bi se osigurali točniji rezultati – tim će prirodno zahtijevati manje korisničkih profila.

Mnoge usluge nude besplatnu probnu verziju svog softvera kako bi organizacije mogle vidjeti zadovoljava li njihove potrebe; oni obično traju samo nekoliko tjedana.

 

Kontrolni popis za istraživačko testiranje, savjeti i trikovi

 

Postoje mnogi dodatni savjeti koje testeri mogu uzeti u obzir kada započinju svoje istraživačke provjere, uključujući:

 

1. Podijelite značajke i module na odgovarajući način

Kako bi izbjegli pogrešnu komunikaciju, timovi za testiranje trebali bi napraviti jasan popis svake značajke i provjera koje namjeravaju provesti. To također znači osigurati da su testovi adekvatno raspoređeni po funkcijama softvera.

Za najbolje rezultate, najvažnije je da tim za testiranje pregovara koji će članovi provesti svaki test na temelju njihovih vještina i snaga.

 

2. Radite na razumijevanju softvera

Faza učenja kritičan je dio istraživačkog testiranja. To znači da se testeri moraju aktivno uključiti u softver i shvatiti kako radi prije osmišljavanja testova.

Učenje o unutarnjem funkcioniranju ovog softvera može biti proces suradnje, čime se osigurava bolje razumijevanje u timu. To omogućuje testerima da razviju bolje provjere i testne slučajeve.

 

3. Odgonetnite problematična područja

Svaka aplikacija ima značajke ili komponente koje se isprepliću s drugima. Kako softver postaje složeniji, veća je vjerojatnost da će se pojaviti pogreške; ovo bi moglo zahtijevati više testiranja. Tim mora aktivno raditi kako bi otkrio koje komponente trebaju dodatnu pomoć.

Oni mogu angažirati posebne obilaske testiranja koji najbolje odražavaju potrebe aplikacije i sveukupne prioritete testiranja tima.

 

4. Započnite s osnovnim korisničkim scenarijima

Timovi za osiguranje kvalitete mogu provoditi istraživačka testiranja bilo kojim redoslijedom, ako je potrebno, no možda bi bilo korisnije započeti s lakšim provjerama prije nego što se upustite u kompliciranije značajke.

To omogućuje glatko napredovanje u smislu složenosti, dajući ispitivačima priliku da razumiju softver. Također pomaže u testiranju rade li osnovne značajke prema očekivanjima.

 

5. Sparite testere

Upareno istraživačko testiranje usmjerava i potvrđuje fazu osiguranja kvalitete, dopuštajući ispitivačima da rade s apsolutnim povjerenjem u svakoj provjeri. Suradnja čini svaki oblik testiranja učinkovitijim poboljšavajući upoznatost svakog člana tima sa softverom.

Oni također mogu pružiti izvješća o pogreškama s daleko većom dubinom zbog svojih individualnih perspektiva, dajući programerima više informacija za rad.

 

6. Pokrenite nekoliko testova

Sposobnost tima da ponovno testira aplikaciju ovisi o rasporedu i rokovima koji su pred njima. Ali ako je moguće, dvostruka provjera osobito problematičnih komponenti može biti korisna.

Povrh toga, ponavljajući testovi mogu potvrditi da je prethodno otkriveni problem sada riješen i da neće dalje utjecati na softver. Ova marljivost ponekad je neophodna kako bi se osiguralo da je testiranje uspješno.

 

Zaključak

 

Eksploratorno testiranje ima mnogo za ponuditi tvrtkama za razvoj softvera svih vrsta, djelujući kao dopuna skriptiranom testiranju i mnogim drugim provjerama.

Uz pomoć istraživačkog testiranja, timovi za osiguranje kvalitete mogu testirati aplikacije prema višim standardima, poboljšavajući konačnu kvalitetu softvera i pomažući programerima da poprave greške ako postoje.

Kombinacija ručnog i automatiziranog istraživačkog testiranja može osigurati najviše prednosti, dopuštajući jednaku pozornost svim softverskim komponentama.

Ako je vašoj tvrtki potreban istraživački softver za automatizaciju, ZAPTEST FREE Edition nudi mnogo širu i fleksibilniju funkcionalnost od ostalih vrhunskih aplikacija, dopuštajući testerima da lako optimiziraju ove provjere.

 

Često postavljana pitanja i resursi

 

1. Najbolji tečajevi o automatizaciji istraživačkih testova

 

I novi i iskusni istraživački testeri mogli bi imati koristi od tečajeva za poboljšanje svojih vještina. To uključuje smišljanje načina pristupa novom softveru.

Korisni tečajevi koji mogu pomoći u tome uključuju:

• Udemy’s Complete 2023 Software Testing Bootcamp; ovo podučava širokom testiranju softvera tijekom 28 sati.

• Coverosovo istraživačko testiranje; ovo se fokusira na to kako razviti povelje i primijeniti istraživačke testove na API-je.

• Polteq-ov dvodnevni trening za istraživačko testiranje; ovo gleda na to kako istraživački testovi rade u Agilnom kontekstu.

• LinkedIn-ovo istraživačko testiranje; ovo pokazuje kako je moderno testiranje softvera prihvatilo istraživačke provjere.

• Courserin Uvod u testiranje softvera; ovo pomaže početnicima da razumiju tipične postupke.

 

2. Kojih je top 5 pitanja za intervju na istraživačkom testiranju?

 

Prilikom intervjua za radna mjesta za istraživačko testiranje, važno je da menadžeri za zapošljavanje postavljaju dobra pitanja kako bi točno procijenili vještine i iskustvo kandidata.

Pet najčešćih pitanja koja treba postaviti su:

• Uključujući njihovu prikladnost, koje su glavne razlike između skriptnog i istraživačkog testiranja?

• S kojim ste se izazovima susreli kao istraživački tester i kako ste ih prevladali?

• Navedite primjere istraživačkih testova koji bi imali najviše koristi od robotske automatizacije procesa.

• Po vašem mišljenju, koja je najznačajnija vještina (tehnička ili neka druga) za istraživačkog ispitivača?

• Što biste savjetovali testeru koji se bori s razumijevanjem softvera i kako ga provjeriti?

 

3. Najbolji YouTube vodiči o istraživačkom testiranju

 

Mnogo je besplatnih vodiča dostupnih na web stranicama za dijeljenje videa kao što je YouTube, koji potencijalnim testerima mogu pomoći da razumiju njegova temeljna načela. Neki su dio serije, dok su drugi pojedinačni videozapisi koji duboko zaranjaju u temu.

Kanali koji nude ove upute uključuju:

• Akademija za testiranje nudi stotine videozapisa koji pokrivaju svaki aspekt testiranja softvera.

• Mentor za testiranje softvera, koji na sličan način nudi opsežne videozapise o osnovama testiranja softvera.

• QAFox, koji također nudi primjere iz stvarnog svijeta i projekte uživo koji nadopunjuju sve njihove videozapise.

• SDET-QA Automation Techie, koji ima nekoliko sveobuhvatnih videozapisa o različitim pristupima testiranju.

• GlitchITSystem, koji istražuje razne web-stranice s istraživačkim testiranjem kako bi pokušao otkriti greške.

 

4. Kako održavati istraživačke testove?

 

Dobro izvedeni istraživački testovi uključuju jaku dokumentaciju na koju se programeri i budući testeri vraćaju za novije iteracije softvera.

Kada postoje značajna ažuriranja aplikacije, ponovno testiranje njenih primarnih funkcija postaje neophodno kako bi se osiguralo da ti dodaci nemaju negativan utjecaj na već postojeće značajke.

To je jedini način da se jamči da će istraživački testovi ostati uspješni dugoročno. Također pomaže uzeti u obzir buduće planove kao što su preliminarne značajke prilikom dizajniranja izvorne aplikacije i njezinih provjera.

QA osoblje mora adekvatno planirati ove testove i shvatiti kada treba ponovno provjeriti aplikaciju; automatizirani alati za testiranje mogu pomoći timu u tome.

 

5. Je li Exploratory Testing testiranje crne kutije?

Eksploratorno testiranje vrlo je slično testiranju crne kutije, koje se odnosi na provjeru aplikacije gledanjem njezinih značajki bez izravnog pregleda koda.

Ne postoji izričito ograničenje vrsta provjera koje se podvrgavaju istraživačkom testiranju; ovaj pristup može obuhvatiti svaki aspekt softvera, uključujući kod.

Jedna od ključnih sličnosti između ove dvije vrste testiranja je nedostatak predznanja ispitivača. Testeri crne kutije obično nisu upoznati sa softverom prije testiranja, a istraživački testeri uče kako softver radi kao dio svog početnog ispitivanja.

Dok se istraživačko testiranje općenito ne svrstava uvijek u testiranje crne kutije, istina je da postoji značajna količina križanja između ova dva pristupa.

Download post as PDF

Alex Zap Chernyak

Alex Zap Chernyak

Founder and CEO of ZAPTEST, with 20 years of experience in Software Automation for Testing + RPA processes, and application development. Read Alex Zap Chernyak's full executive profile on Forbes.

Get PDF-file of this post

Virtual Expert

ZAPTEST

ZAPTEST Logo