Raziskovalno testiranje je posebna vrsta testiranja programske opreme, ki ima številne prednosti za aplikacijo, saj ji omogoča, da v celoti izkoristi svoj potencial.
Način, kako ekipa vključi raziskovalno testiranje v rutinsko preverjanje, lahko celo določi, kako dobro deluje programska oprema, zlasti ker se na nov in nepričakovan način približa postopkom testiranja. To testerjem pomaga odkriti težave v aplikaciji, ki sicer lahko ostanejo neopažene do začetka uporabe in povzročijo nedelovanje ključnih funkcij.
Razumevanje postopkov, vrst in pristopov raziskovalnega testiranja vam lahko pomaga usmerjati organizacijo in njene ekipe za testiranje, kako ga vključiti v običajna preverjanja.
Obstajajo tudi številna brezplačna orodja, ki jih lahko ekipa uporabi za lažje preglede in odkrivanje težav, preden lahko postanejo ovira za razvoj.
V tem vodniku predstavljamo prednosti raziskovalnega testiranja in ključne vidike, ki jih mora ekipa upoštevati pred izvedbo.
Kaj je raziskovalno testiranje?
Raziskovalno testiranje združuje faze načrtovanja in izvedbe testov, kar testerju zagotavlja popolno svobodo delovanja in mu omogoča, da nenehno racionalizira svoje delo.
Ko bodo te ekipe preverjale programsko opremo, bodo verjetno odkrile nove komponente, ki jih je treba temeljito pregledati, in zlahka predlagale nove teste, ki bi koristili aplikaciji.
Raziskovalno testiranje je podobno priložnostnemu testiranju, vendar sledi veliko strožji dokumentaciji in vključuje tudi aktivnejši proces učenja.
Manj strukturiran pristop testerjem pomaga ugotoviti, kako se bo aplikacija verjetno odzvala na realne scenarije in testne primere, ter je pomembno dopolnilo skriptnemu testiranju.
Kakovost raziskovalnega testiranja ekipe je pogosto odvisna od spretnosti posameznih testerjev, saj preverjanje zahteva ustvarjalnost in temeljito razumevanje programske opreme. To je proces nenehnega odkrivanja, pri katerem preizkuševalci uporabljajo deduktivno sklepanje za vodenje svoje celotne tehnike.
Raziskovalno testiranje je še posebej koristno, saj odraža, kako bi uporabniki lahko uporabljali programsko opremo. Večina uporabnikov napake in težave odkrije po naključju, zato lahko ti nenapisani postopki testerjem pomagajo najti težave, ki jih vnaprej določeni pregledi morda ne bodo odkrili.
Ekipa lahko ta postopek tudi avtomatizira in tako zagotovi večjo učinkovitost.
1. Kdaj morate opraviti raziskovalno testiranje?
Raziskovalno testiranje je na splošno uporabno pri skoraj vseh postopkih testiranja programske opreme, vendar je še posebej koristno pri zagotavljanju hitrih povratnih informacij o aplikaciji.
Ekipa lahko te preglede vključi tudi, če ji zmanjka skriptnih testov. Brez jasne usmeritve za preglede programske opreme lahko raziskovalno testiranje pomaga odkriti težave, ki ne sodijo v standardne preglede.
Z zagotavljanjem različnih postopkov testiranja lahko preizkuševalci v kateri koli fazi razumejo to programsko opremo na veliko globlji ravni, vendar lahko zgodnje izvajanje teh postopkov prinese več koristi.
Ekipe lahko pozneje po potrebi ponovno izvedejo raziskovalne teste, da so še bolj mirne.
2. Kdaj vam ni treba izvajati raziskovalnega testiranja
Obstaja nekaj scenarijev, kjer raziskovalno testiranje ne prinaša nobenih koristi, čeprav je lahko za testerje bolj koristno, da počakajo, dokler programska oprema nima svoje osnovne funkcionalnosti.
Funkcije aplikacije se običajno prepletajo ali medsebojno vplivajo druga na drugo, kar pomeni, da so lahko raziskovalni testi ene funkcije zastareli, ko je razvojna ekipa dodala še več te programske opreme.
Te teste je mogoče brez težav izvajati tudi skupaj s skriptnimi preverjanji, če lahko testerji zagotovijo dobro raven dokumentacije, da ne pride do zmede.
Raziskovalno testiranje je v primerjavi z drugimi vrstami testiranja zelo vsestransko, zato so ti pregledi zelo uporabni.
3. Kdo sodeluje pri raziskovalnem testiranju?
Raziskovalno testiranje v določenem pogledu vključuje veliko članov osebja, vključno z:
– Te teste lahko izvajajo preizkuševalci programske opreme vseh ravni znanja, čeprav lahko člani ekipe, ki bolje poznajo programsko opremo, oblikujejo več različnih preverjanj.
Izkušnje lahko vplivajo tudi na njihovo sposobnost določanja najbolj uporabnih testov.
– Razvijalci programske opreme, ki se seznanijo z rezultati teh testov, upoštevajo vse predloge in pogosto razvijejo lastno rešitev problema.
Njihov odziv na teste je tisto, kar omogoča, da aplikacija doseže stanje, ki je primerno za uspešno sprostitev.
– Vodje projektov, ki nadzorujejo celoten postopek in lahko celo odločajo o tem, katere vrste testiranja bodo uporabljale ekipe.
Odgovorni so lahko tudi za nabavo programske opreme za ekipe, ki lahko poenostavi ali celo avtomatizira teste.
Življenjski cikel raziskovalnega testiranja
Postopek raziskovalnega testiranja je močno osredotočen na svobodo testerja, vendar še vedno sledi določeni strukturi.
Glavne tri faze tega pristopa so:
Faza 1: Učenje
Testerji najprej dobro razumejo programsko opremo in njeno funkcionalnost ter jo kritično analizirajo, da bi ugotovili, kako se ujema.
Tako lahko preizkuševalec ugotovi običajne vnose, ki bi jih uporabnik lahko izvedel, čeprav je morda že seznanjen z aplikacijo in njenim delovanjem.
V fazi učenja je lahko potrebno celo navodilo za uporabo programske opreme. To je faza raziskovanja, v kateri tester dobi vse informacije, ki jih potrebuje za oblikovanje širokega nabora uporabnih testov.
Faza 2: Načrtovanje testov
Raziskovalno načrtovanje testov vključuje različna pravila in parametre, vendar v primerjavi s skriptnim testiranjem, katerega posebnosti so znane že pred začetkom testiranja, ponuja bistveno več svobode.
Preizkuševalec lahko pripravi preverjanja, ki po njegovem mnenju natančneje ustrezajo aplikaciji, in potencialno odkrije dragocene podatke za razvojno ekipo, vključno s pomembnimi napakami, ki jih mora odpraviti.
Ekipe za testiranje v tej fazi ugotovijo, kakšen pristop uporabiti in kako razdeliti delo med različne testerje, da se izkoristijo njihove prednosti.
Faza 3: Izvajanje
Po oblikovanju uporabljenih preverjanj lahko preizkuševalci preverijo aplikacijo na načine, ki so po njihovem mnenju najučinkovitejši – to lahko storijo takoj po oblikovanju posebnega preizkusa.
V tej fazi preizkuševalci aktivno iščejo težave in načine, kako bi lahko odkrite težave vplivale na druge funkcije in funkcije.
Čeprav je pri izvajanju raziskovalnih testov vključena določena mera intuitivnega dela, še vedno sledijo določenim postopkom in ciljem, kar omogoča tekoče testiranje, ki se zlahka prilagodi posebnim ciljem testiranja.
Raziskovalno testiranje v primerjavi s skriptnim testiranjem
Raziskovalno testiranje je pravzaprav nasprotje skriptnega testiranja, čeprav je oboje lahko pomembno za zagotovitev, da je aplikacija pripravljena za objavo. Slednji so običajno bolj formalni in strukturirani ter zajemajo številne obsežne teste v primerjavi z raziskovalnimi pregledi, ki so pogosto bolj specifični za funkcionalnost aplikacije.
Raziskovalno testiranje je tudi bistveno bolj prilagodljivo, medtem ko se skriptni testi lahko ob večjih spremembah programske opreme težko prilagodijo. Raziskovalni testi lahko hitreje odkrijejo napake in ukrepajo proti njim, zato so prvi še posebej uporabni v primerih, ko so pomembne hitre povratne informacije.
1. Aktivno raziskovalno testiranje
Aktivno raziskovalno testiranje vključuje testerja, ki oblikuje avtomatizirano skripto za preverjanje, ki jo izvede drug tester. Te skripte po potrebi upoštevajo prejšnje teste.
Oba preizkuševalca običajno med postopkom pregleda zamenjata vlogi, da dvakrat preverita zanesljivost teh skript in postopkov.
Aktivni testi imajo širšo pokritost, ne da bi pri tem žrtvovali specifičnost blagovne znamke raziskovalnih pregledov. Te skripte omogočajo tudi boljšo dokumentacijo, kar olajša reprodukcijo morebitnih težav, ki jih najdejo preizkuševalci.
Dokumentacija je bistvena sestavina aktivnih testov, saj tudi zainteresiranim stranem pomaga videti splošni napredek aplikacije.
2. Pasivno raziskovalno testiranje
Za pasivno raziskovalno testiranje je potreben le en tester, čeprav lahko delo v paru še dodatno poenostavi postopek.
Ta pristop vključuje posebno programsko opremo, ki beleži dejanja preizkuševalcev in jim omogoča enostavne korake za ponovitev vsake odkrite težave. To je običajno v obliki videoposnetka s komentarjem preizkuševalca, ki pojasnjuje njegova dejanja korak za korakom.
S snemanjem postopka testiranja dobite tudi vpogled v delovanje aplikacije, vključno s tem, kako hitro se odziva na vhodne zahteve.
Pasivno testiranje testerjem in razvojni ekipi zagotavlja veliko podrobnih informacij o delovanju programske opreme.
Tehnike raziskovalnega testiranja
Raziskovalno testiranje običajno poteka v obliki “ogleda”, ko tester na najbolj učinkovit način raziskuje programsko opremo.
Ekipa lahko izbere različne ture, med drugim:
– Ogledi z vodnikom
Ta pristop daje prednost poudarjenim funkcionalnostim aplikacije, kar natančno posnema način, kako povprečen uporabnik uporablja programsko opremo, in odkriva težave, ki bi jih naravno našel.
– Ogledi zgodovine
Ta ogled pregleda najstarejše funkcije aplikacije in se prepriča, da še vedno delujejo; to je še posebej pomembno, če so razvijalci dodali nove funkcije, ki so v nasprotju z njo.
– Denarna turneja
S tem raziskovalnim testom preverite kritične funkcije aplikacije, zlasti tiste, za dostop do katerih stranke plačujejo denar – te funkcije imajo običajno najvišjo prioriteto med ekipo za testiranje.
– Turneja po kriminalu
Včasih si testerji dejavno prizadevajo, da bi razbili aplikacijo ali povzročili negativne scenarije, na primer tako, da vnesejo neveljavne podatke in preverijo, kako se aplikacija na to odzove.
– Turneja po zalednih ulicah
Ta postopek vključuje funkcije, ki jih bo verjetno uporabljalo manj strank; te so prav tako bistvene za vsak pristop k testiranju, zlasti ker bodo sodelovale z drugimi funkcijami.
– Intelektualna turneja
Pri tem ogledu se aplikacija še bolj razširi in preizkusi najzahtevnejše funkcije z višjimi (včasih najvišjimi) vrednostmi, da se ugotovi hitrost obdelave programske opreme.
Pristopi raziskovalnega testiranja
Obstajata dva glavna pristopa k raziskovalnemu testiranju:
1. Raziskovalno testiranje na podlagi sej
Gre za tehniko, ki temelji na času in je namenjena količinski opredelitvi postopka testiranja z razdelitvijo na “seje” z dvema sestavnima deloma: nalogami in listinami.
Poslanstvo je namen in trajanje posamezne seje, ki raziskovalnemu testerju zagotavlja jasno usmeritev.
Listina določa obseg vsake seje in podrobno opisuje vse posebne cilje, ki jih namerava tester izpolniti. To omogoča višjo raven odgovornosti (in dokumentacije), saj se ti pregledi razdelijo na lažje obvladljive komponente.
Testi, ki temeljijo na sejah, prav tako izboljšajo produktivnost ter testerju zagotavljajo jasne metrike in informacije o odpravljanju težav.
2. Raziskovalno testiranje v parih
Testiranje v paru je podobno aktivnemu raziskovalnemu testiranju, saj vključuje predvsem delo v paru – običajno na isti napravi -, pri katerem se aplikacija nenehno preverja hkrati. Pri tej ureditvi en tester predlaga vrsto testnih primerov in beleži napredek, medtem ko drugi testira programsko opremo.
Komunikacija je bistvenega pomena pri testiranju v paru, saj tako zagotovite, da sta oba testerja seznanjena s preverjanji in njihovim namenom.
Če te pare dodeljujete sami, poskrbite, da boste upoštevali prednosti in slabosti vsakega preizkuševalca, saj boste tako lahko zgradili močnejše postopke raziskovalnega testiranja.
Kateri dejavniki vplivajo na raziskovalno testiranje?
Dejavniki, ki lahko vplivajo na kakovost raziskovalnega testiranja ekipe, so:
– Splošni cilj in glavna funkcionalnost programske opreme.
– Posebni cilji testiranja za trenutno fazo aplikacije.
– Posamezne vloge in sposobnosti vsakega testerja v ekipi.
– Orodja, ki so na voljo, na primer brezplačna programska oprema za avtomatizacijo testov.
– Podpora, ki jo testerji prejmejo od sodelavcev ali vodstva.
– Zahteve stranke in trenutni širši trendi na trgu.
– Enostavnost uporabe aplikacije, na primer tekočnost vmesnika.
– Čas, ki ga imajo testerji na voljo za dokončanje faze testiranja.
– Vhodi in drugi različni podatki, ki jih nameravajo uporabiti preizkuševalci.
– funkcije, ki jih razvijalci sčasoma dodajo v programsko opremo.
Vrste raziskovalnega testiranja
Tri glavne vrste raziskovalnega testiranja, ki jih lahko vključi ekipa, so:
1. Raziskovalno testiranje v prostem slogu
Testiranje prostega sloga vključuje priložnostni pristop k preverjanju aplikacije. Pri tem je treba upoštevati le nekaj pravil, zato je lahko njegova učinkovitost različna; nekatera programska oprema in komponente zahtevajo bolj zanesljivo metodologijo.
Ta preverjanja bi lahko še vedno prinesla veliko koristi, saj bi testerjem pomagala spoznati to aplikacijo in potrditi delo prejšnjega testerja.
Tudi brez strogih pravil lahko izkušeni in izurjeni preizkuševalci to zlahka uporabijo v svoj prid. Z lahkoto se lahko premikajo po vseh vidikih programske opreme – v nekaterih primerih so pravila testiranja omejujoča in lahko nehote omejijo rezultate ekipe.
2. Raziskovalno testiranje na podlagi scenarijev
Pri testiranju na podlagi scenarijev se kot osnova za vsako testiranje uporabijo realistične situacije, na primer s preverjanjem vnosov, ki jih bodo uporabniki verjetno izvedli med tipičnim delovanjem te programske opreme.
Testerji se trudijo, da bi zagotovili, da se vsak scenarij, ki ga pripravijo, ujema s tem, kako uporabnik uporablja aplikacijo.
Čas je lahko omejitev, saj je cilj ekipe preizkusiti čim več scenarijev; glede na prihodnje roke verjetno ne bo mogoče zajeti vseh možnosti.
Testerji morajo uporabljati širok nabor testov iz različnih kategorij.
3. Raziskovalno testiranje na podlagi strategije
Testiranje na podlagi strategije vključuje širok nabor posebnih metod, vključno s testiranjem mejnih vrednosti, tehnikami enakovrednosti, tehnikami, ki temeljijo na tveganju, in drugimi. Pri tem imajo običajno prednost preizkuševalci, ki že poznajo aplikacijo, saj lahko razvijejo prilagojene strategije, ki vključujejo te posamezne metode.
Pristop, ki temelji na strategiji, se osredotoča predvsem na funkcionalnost (in notranje delovanje) programske opreme, ne da bi preučil možne scenarije, zaradi katerih bi lahko uporabnik naletel na težave, ki se pojavijo. To lahko omogoči širšo analizo aplikacije in njenih različnih funkcij, ki je lahko bolj poglobljena kot različni drugi pristopi.
Ročni ali avtomatizirani raziskovalni testi?
Ekipe za testiranje lahko raziskovalne preglede izvajajo ročno ali pa jih avtomatizirajo. Obe možnosti lahko prineseta izjemne koristi, prava možnost pa je pogosto odvisna od posebnosti projekta.
Ročno raziskovalno testiranje
Z ročnim raziskovalnim testiranjem lahko opravite več po meri prilagojenih preverjanj. Čeprav lahko traja dlje, ker so testerji počasnejši od računalnikov, je lahko ročno preverjanje koristno pri določanju uporabniške izkušnje.
Tester ne poskrbi le za to, da vse funkcije aplikacije delujejo, kot bi morale, ampak tudi za to, da ugotovi, ali jo lahko uporabniki brez težav uporabljajo. To je morda najpogostejša oblika raziskovalnega testiranja, čeprav ni nujno, da je tudi najbolj učinkovita.
1. Prednosti ročnega izvajanja raziskovalnih testov
Prednosti ročnega raziskovalnega testiranja so:
Večji poudarek na uporabnosti
Avtomatizirani raziskovalni testi lahko opazijo neskladja v programski opremi, vendar teh težav morda ne bodo znali razložiti na enak način kot človeški preizkuševalec.
To vključuje razumevanje, kako bodo uporabniki programske opreme verjetno krmarili ali sodelovali z aplikacijo, česar avtomatika ne more upoštevati.
Ročni raziskovalni preizkuševalci lahko ponudijo večjo raven povratnih informacij, vključno s posebnimi podrobnostmi o tem, kako ugotovljene težave vplivajo na celotno programsko opremo ali splošno izkušnjo.
Spremembe lahko izvedete v realnem času
Ena od ključnih prednosti raziskovalnega testiranja je, da je mogoče ugotoviti potrebo po testu in ga relativno hitro izvesti, preden se na dražbi izvedejo potrebne izboljšave.
Avtomatizirano testiranje je na splošno veliko hitrejši postopek, vendar morajo testerji počakati, da je vse končano, preden izvedejo spremembe – ročni testerji lahko to storijo, medtem ko postopek raziskovalnega testiranja še vedno poteka.
Vendar je to pogosto mogoče le za napake, ki vplivajo na manjše dele programske opreme.
Večja pozornost do podrobnosti
Pri raziskovalnem testiranju gre predvsem za odkrivanje novih načinov testiranja aplikacije in njeno razumevanje; to lahko včasih pomeni, da en test vodi k drugemu, saj tester dobi nove ideje.
Avtomatizirani testi tega morda ne bodo upoštevali, saj so za ekipo preizkuševalcev razmeroma nezahtevni. Ročni preizkuševalci nenehno izboljšujejo svoje znanje o programski opremi in oblikujejo nove, a enako pomembne preizkuse, vendar je to lahko težko, če jih avtomatizira programska oprema tretje osebe.
Lahko najde napake zunaj kode
Z ročnimi raziskovalnimi pregledi lahko preizkuševalci pregledajo vse vidike aplikacije in programske opreme, tudi zunaj same kode.
Številni avtomatizirani pristopi so omejeni na kodo in njeno delovanje, zaradi česar testne ekipe morda ne opazijo težav, ki se lahko pojavijo v drugih delih aplikacije.
To je odvisno predvsem od programske opreme za avtomatizacijo, saj lahko nekatere rešitve ponujajo širši pristop k raziskovalnemu testiranju.
Zagotavljanje kakovosti v okviru projekta.
Avtomatizirani raziskovalni pregledi iščejo le napake in metrike v aplikaciji, ročni preizkuševalci pa lahko namesto tega pregledajo programsko opremo in ponudijo svoje celovite povratne informacije.
Tako lahko na primer preizkusijo kodo in ugotovijo, ali je preveč zapletena, kar je še posebej pomembno, saj lahko mrtva koda upočasni delovanje, vendar je avtomatizirani postopki ne bi odkrili.
Preizkuševalčevo poznavanje programske opreme je lahko koristno pri diagnosticiranju težav, ki se pojavijo v drugih fazah preizkušanja.
2. Izzivi ročnega raziskovalnega testiranja
Izzivi pri ročnem raziskovalnem testiranju vključujejo:
Možnost človeških napak
Z avtomatiziranim raziskovalnim testiranjem je mogoče isto preverjanje izvesti tolikokrat, kolikor je potrebno, brez sprememb natančnega poteka, kar zagotavlja doslednost in zanesljive rezultate.
Ročno raziskovalno testiranje je občutljivo na človeške napake, kar pomeni, da lahko tester vnese napačno vrednost. Običajno je mogoče te teste dvakrat preveriti in odpraviti morebitna neskladja, saj so lahko očitna že na prvi pogled.
Ponovno opravljanje testa, ko opazite napako, pa lahko vzame več časa.
Na splošno je bolj zamudno
Tudi če preizkuševalci pravilno izvedejo vsako raziskovalno preverjanje brez človeških napak, celoten postopek traja precej časa v primerjavi z avtomatizirano programsko opremo, ki lahko preizkuse izračuna veliko hitreje.
To je lahko razlika najmanj nekaj ur; to je čas, ki bi ga preizkuševalci lahko porabili za tiste dele aplikacije, pri katerih avtomatizacija ne bi prinesla nobenih koristi.
Raziskovalni testi zahtevajo tudi stalen nadzor, medtem ko avtomatizacija omogoča, da se testi izvajajo čez noč.
Dolgotrajen postopek dokumentiranja
Podobno lahko ročna dokumentacija med ročnim testiranjem in po njem po nepotrebnem obremenjuje postopek raziskovalnega testiranja.
Zaradi tega je težje slediti spremembam in popravkom programske opreme v daljšem časovnem obdobju – avtomatizirana programska oprema to običajno intuitivno upošteva pri izvajanju testov.
To je še eno upravno vprašanje, ki jemlje čas in energijo drugim zadevam, kar dejansko zmanjšuje obseg in širino celotnega postopka testiranja programske opreme.
Podrobno mora poznati programsko opremo.
Ročni preizkuševalci katere koli ravni znanja lahko pregledajo aplikacijo in jo temeljito preizkusijo. To je posledica dela, ki so ga vložili v razumevanje programske opreme, kar je prva faza raziskovalnega procesa.
Če pa se tester težko nauči ali zanemari, kako ta aplikacija deluje, bo verjetno težko pripravil in izvedel ustrezen nabor testov.
Dobro poznavanje programske opreme testerjem omogoča, da presežejo običajne testne parametre.
Drago vzdrževanje
Zanašanje na ročno raziskovalno testiranje običajno zahteva večjo ekipo za testiranje, kar lahko povzroči višje dolgoročne stroške v primerjavi z avtomatiziranim preverjanjem. Programska oprema tretjih oseb, ki izvaja te raziskovalne teste, je lahko izjemno dragocena ali pa je celo popolnoma brezplačna.
Glede na zahtevnost nalog lahko podjetje za popolno preverjanje aplikacije potrebuje visoko usposobljene preizkuševalce z dolgoletnimi izkušnjami. To lahko znatno poveča stroške testiranja v primerjavi z uporabo brezplačne programske opreme za avtomatizacijo.
3. Kdaj uporabiti ročno raziskovalno testiranje
Ročno raziskovalno testiranje se pogosto srečuje s številnimi izzivi, vendar je še vedno bistvena sestavina temeljitega testiranja programske opreme. Obstajajo namreč vidiki programske opreme, ki jih avtomatizacija ne more v celoti upoštevati in ki prav tako zahtevajo veliko pozornosti.
Programska oprema na primer ne more zanesljivo zagotavljati povratnih informacij o uporabniških vmesnikih ali testih uporabniške izkušnje. Testerji lahko dobijo dobro predstavo o tem, kako aplikacija deluje v praksi, le, če jo ročno testirajo. To pomeni, da morajo tako razvijalci kot ekipe za testiranje razmisliti o vključitvi vsaj določene stopnje ročnega raziskovalnega testiranja v svoja preverjanja.
Avtomatizirano raziskovalno testiranje
Avtomatizirano testiranje uporablja programsko opremo tretjih oseb za avtomatizacijo določenih preverjanj – testerji jo lahko običajno prilagodijo tako, da se prilagodi praktično vsakemu testu.
Vendar pa mora ekipa na splošno vsaj enkrat ročno izvesti preverjanje, da umeri avtomatizacijo. To lahko bistveno poenostavi postopek tako za ekipe za testiranje kot za ekipe za razvoj.
Čeprav je avtomatiziranje raziskovalnih testov morda redko, ima to več očitnih koristi za vašo aplikacijo in njeno zmogljivost.
1. Prednosti avtomatizacije raziskovalnega testiranja
Glavne prednosti avtomatizacije raziskovalnega testiranja so:
Dosledno izvajanje testov
Človeška napaka lahko zlahka privede do napak pri testiranju, katerih odprava vzame veliko časa in denarja; z avtomatiziranimi raziskovalnimi pregledi se lahko ekipe za testiranje izognejo tej težavi.
Testerji učinkovito učijo programsko opremo za avtomatizacijo, kako pravilno izvesti test, in zagotavljajo, da ga vsakič izvede enako. S tem se izboljša splošna zanesljivost testov in skrajša čas, ki ga razvijalci porabijo za čakanje na rezultate – še posebej zato, ker lahko testerji zlahka nastavijo, da se testi izvajajo čez noč.
Prihranek časa za vse
Avtomatizirani testi omogočajo razvijalcem, da se hitreje lotijo odpravljanja težav, hkrati pa testerjem omogočajo, da opravijo več raziskovalnih preverjanj. Ekipa lahko upošteva le toliko scenarijev ne glede na rok, zato je pomembno, da testerji v dovoljenem časovnem okviru opravijo čim več preverjanj.
Avtomatizacija pomaga pri izvajanju teh raziskovalnih testov veliko hitreje kot ročni testerji.
Stroškovno učinkovit pristop
Glede na programsko opremo, ki jo ekipa izbere, je lahko avtomatizacija veliko bolj stroškovno učinkovita kot ročno testiranje – lahko je celo brezplačna.
Čeprav je še vedno treba zaposliti ročne preizkuševalce in bodo nekateri med njimi odgovorni za umerjanje postopkov avtomatizacije, pa avtomatizacija čim večjega števila raziskovalnih testov podjetju omogoča zmanjšanje stroškov osebja.
Ko ekipa razume programsko opremo za avtomatizacijo, jo lahko prilagodi za različne naloge.
Prilagodljiv za več naprav
Za ročno testiranje je lahko potrebno osebje z izkušnjami na različnih napravah, na primer s poznavanjem različnih operacijskih sistemov za telefone, vključno z Androidom in iOS, če izdelujete mobilno aplikacijo.
Avtomatizirana programska oprema lahko to upošteva in preizkusi več naprav, da zagotovi stalno dobro delovanje aplikacije. Ekipe za testiranje, ki poznajo te naprave, se lahko prepričajo, da je postopek dolgočasen; z avtomatizacijo je mogoče poenostaviti običajne postopke raziskovalnega testiranja in sočasno testirati vsako iteracijo.
Skripte za večkratno uporabo
Če ekipa testira več različic iste programske opreme ali celo več izdelkov s podobno arhitekturo ali funkcijami, je mogoče skripte ponovno uporabiti iz enega cikla testiranja v drugega.
Če so za zagotovitev združljivosti potrebne prilagoditve, jih lahko ročni preizkuševalci izvedejo veliko hitreje kot s pisanjem popolnoma nove skripte.
Avtomatizacija optimizira skoraj vsako fazo postopka raziskovalnega testiranja, saj jo je enostavno vzpostaviti v različnih konfiguracijah programske opreme.
2. Izzivi pri avtomatizaciji raziskovalnih testov
Ta proces vključuje tudi različne izzive, kot so:
Predstavlja le eno stran testiranja
Med testiranjem aplikacije ni praktično ali pametno avtomatizirati vseh preverjanj, saj so nekateri vidiki, o katerih lahko samo ročni preizkuševalec zanesljivo zagotovi povratne informacije.
To vključuje tudi uporabniško izkušnjo, čeprav je mogoče temeljito analitiko delovanja in testiranja obremenitve pridobiti z avtomatizacijo, odvisno od izbrane programske opreme.
Pri avtomatizaciji raziskovalnega testiranja manjka človeške presoje, zato bi lahko pri nekaterih preverjanjih najbolje delovala skupaj z ročnim testerjem.
Nerealna pričakovanja glede zmogljivosti
Podobno lahko avtomatizirani postopki raziskovalnega testiranja prinesejo izjemne koristi aplikaciji in celotnemu projektu.
Vendar ta pristop ni vedno pravi odgovor. Organizacije, ki se v veliki meri zanašajo na avtomatizacijo v vsaki fazi, imajo lahko nepopolno predstavo o programski opremi.
Avtomatizacija prepozna težave, vendar sta za njihovo odpravo odgovorni ekipi za testiranje in razvoj. Pomembno je opredeliti krovno strategijo avtomatizacije, da vsi udeleženci projekta razumejo njene zmogljivosti in omejitve.
višje zahteve glede znanja in spretnosti
Avtomatizacija običajno vključuje znanje o izvajanju zapletenih preverjanj ter o tem, kako jih programirati in dejansko avtomatizirati. Za to so pogosto potrebna leta izkušenj s pisanjem skript, čeprav lahko programska oprema za avtomatizacijo bistveno pripomore k optimizaciji teh postopkov.
Zelo pomembno je, da podjetje zaposli testerje z različnimi in zanesljivimi znanji, ki omogočajo učinkovito avtomatizacijo.
Testerji z izkušnjami na področju avtomatizacije tudi vedo, katere funkcije je treba dati prednost pri izbiri med razpoložljivimi možnostmi programske opreme tretjih oseb, kar ekipi zagotavlja, da bo dobila dober izdelek.
Neustrezne strategije in komunikacija
Sporočanje skladne strategije je ključnega pomena za uspešno avtomatizacijo; razvijalci, preizkuševalci in celo vodje projekta morajo biti med testiranjem na isti strani.
Ekipe morajo sodelovati, da določijo obseg in časovni razpored prihodnjih postopkov. To velja za vsak postopek testiranja, vendar je še posebej pomembno zaradi dodatne zapletenosti avtomatizacije. Boljša komunikacija in pomanjkanje informacijskih silosov omogočata, da vaše ekipe učinkoviteje izvajajo teste.
Izbira prave programske opreme za avtomatizacijo
Avtomatizacija običajno vključuje izbiro aplikacije tretje osebe, ki je združljiva s cilji testiranja ekipe. Vsaka možnost ima različne cenovne načrte in funkcionalnosti. To je lahko pomemben dolgoročni strošek, tudi če programska oprema uspešno izvaja avtomatizirane teste in zagotavlja znatno vrednost.
Obstajajo številne brezplačne možnosti, ki ponujajo impresivno funkcionalnost, primerljivo s premijskimi alternativami. Pomembno je, da skupina za testiranje preuči vse razpoložljive možnosti, vključno z brezplačno programsko opremo.
Zaključek: Avtomatizacija raziskovalnega testiranja v primerjavi z ročnim raziskovalnim testiranjem
Malo je projektov, ki bi imeli koristi od popolnoma ročnega ali popolnoma avtomatiziranega testiranja, saj so aplikacije vseh vrst uspešnejše s kombinacijo obeh.
Medtem ko lahko avtomatizirani testi optimizirajo postopek za ekipe za razvoj in zagotavljanje kakovosti, je pri nekaterih vidikih zasnove potrebno ročno raziskovalno testiranje; to je edini način za pridobitev povratnih informacij, ki jih upoštevajo uporabniki.
Sčasoma si vse več organizacij prizadeva za uvedbo hiperavtomatizacije, postopka, katerega cilj je inteligentno maksimiranje avtomatizacije, kar zagotavlja učinkovito strategijo podjetja – ta lahko še vedno obstaja skupaj z ročnim testiranjem.
Avtomatizirano testiranje postaja podjetjem vedno bolj dostopno zaradi vse večje razširjenosti programske opreme za avtomatizacijo, zlasti zaradi številnih brezplačnih možnosti, ki so na voljo z veliko funkcijami. To podjetjem olajša uporabo kombiniranega pristopa ročnega/avtomatiziranega raziskovalnega testiranja.
K temu je prispevala tudi vse večja priljubljenost agilnega pristopa (tehnika vodenja projektov, ki se osredotoča na postopen, a pomemben napredek) pri razvoju, saj zahteva kratke cikle testiranja. Kombinirana strategija testiranja bi lahko upoštevala to in različne druge razvojne strategije, na primer neprekinjeno integracijo, ki prav tako zahteva ponavljajoče se testiranje, da se zagotovi uspeh v številnih iteracijah iste programske opreme.
Kaj potrebujete za začetek raziskovalnega testiranja
Pogoji za raziskovalno testiranje so:
1. Jasni cilji testiranja
Čeprav je raziskovalno testiranje sinonim za svobodo in se včasih zamenjuje z ad hoc testiranjem, še vedno sledi določenim pravilom ali opredeljivim ciljem. Edini način, da ekipa za zagotavljanje kakovosti uspešno obvladuje skoraj vsako strukturo testiranja, je poznavanje pričakovanega izida vsakega testa, še posebej, ker testerji običajno sami oblikujejo ta preverjanja.
2. Ustvarjalni, intuitivni preizkuševalci
Raziskovalno testiranje se osredotoča na oblikovanje novih in ustvarjalnih testov, ki lahko odkrijejo težave v aplikaciji. To lahko storijo tudi preizkuševalci z omejenimi izkušnjami, če razumejo programsko opremo.
Pomembno je, da preizkuševalci razumejo aplikacijo in njeno delovanje; tako lahko intuitivno razvijejo vrsto uporabnih preverjanj.
3. Skladna dokumentacija
Vsaka vrsta testiranja mora imeti natančno dokumentacijo, ki zagotavlja, da vsak član ekipe sledi pričakovanemu urniku testiranja in da nihče po pomoti ne ponovi preverjanja.
To je ključni vidik komunikacije v enem oddelku in več oddelkih, na primer pri razvijalcih, ki potrebujejo redne posodobitve testiranja, da ugotovijo, kako odpraviti težave.
4. Pogled stranke
Raziskovalno testiranje zajema številne strategije in scenarije, vključno s tistimi, ki odražajo, kako bodo uporabniki praktično uporabljali aplikacijo. Pomembno je, da ekipe za testiranje to upoštevajo med preverjanjem, tudi če ne izvajajo testov na podlagi scenarijev.
S tem lahko preizkuševalec pristopi k preizkušanju z različnih vidikov, kar izboljša kakovost teh preverjanj.
5. Programska oprema za avtomatizirano testiranje
Ker lahko ekipa verjetno avtomatizira velik del testov, ki jih oblikuje, je pomembno, da lahko pred fazo izvajanja nabavi visokokakovostno programsko opremo za avtomatizirano testiranje.
Razvijalci in ekipa za testiranje lahko na podlagi svojega razumevanja projekta določijo aplikacijo tretje osebe, ki bi ustrezala njihovim zahtevam.
Postopek raziskovalnega testiranja
Posebni koraki za raziskovalno testiranje so naslednji:
1. Razvrstite postopek preskušanja
Prvi korak raziskovalnega testiranja je, da ustrezni člani ekipe razumejo, kako lahko pristopijo k tem preverjanjem, na primer z razvrščanjem pogostih napak in izvedbo analize temeljnih vzrokov.
Tu preizkuševalci sami razvijejo svoje zamisli za preizkuse; odvisno od njihove natančne metodologije lahko oblikujejo tudi listino preizkusov.
V njem so določeni obseg in preizkusi za to sejo ali delovni dan.
2. Začetek testov
Čeprav so natančni parametri (kot je čas za posamezen test ali celotno sejo) odvisni od želja ekipe in zahtev projekta, imajo vsi raziskovalni testi nekatere skupne značilnosti.
Po razvrstitvi ustreznih pregledov osebje za zagotavljanje kakovosti začne izvajati preskuse in beleži vse rezultate.
Če preverjanje zahteva avtomatizacijo, ga lahko testerji nastavijo tako, da deluje čez noč, ali pa ga nadzorujejo sami čez dan.
3. Pregled rezultatov
V naslednji fazi je treba pregledati rezultate in jih primerjati s privzetimi in pričakovanimi rezultati. Če se pri teh preskusih pojavijo kakršnakoli velika nepričakovana odstopanja, lahko preskuševalci ponovijo preskus ali pa takoj začnejo ugotavljati, kako to odpraviti. Predlogi, ki jih dajejo razvijalcem, so lahko ključnega pomena pri določanju pravilnega pristopa – v njihovih poročilih o napakah pa je to lahko podrobno opisano.
4. Poročanje o testu
Po dražbi rezultatov testiranja ekipa za zagotavljanje kakovosti začne pregledovati sam postopek testiranja in na podlagi tega ugotovi, ali je bil njihov pristop raziskovalnega testiranja ustrezen.
V tem poročilu o povzetku preskusa se lahko celo ugotovi, da so bile med preverjanjem napake v delovanju, zaradi katerih je treba preskus ponoviti. Ko razvijalci odpravijo te težave, lahko testna skupina ponovno preveri aplikacijo, da ugotovi, ali so bili uspešni.
Najboljše prakse za raziskovalno testiranje
Najučinkovitejše prakse raziskovalnega testiranja vključujejo:
1. Združevanje preizkuševalcev v pare
Pri številnih oblikah raziskovalnega testiranja je koristno, če testerji sodelujejo – to še dodatno poenostavi postopek in omogoči več pogledov na iste preglede.
Testiranje v paru preprečuje tudi možnost tunelskega vida, kar spodbuja bolj ustvarjalno načrtovanje testov.
Več ljudi, ki delajo na istih testih, lahko pripomore k večji natančnosti vseh testov, razdelitev delovne obremenitve pa pripomore tudi k hitrejšemu testiranju za celotno ekipo.
2. Mešanje ročnih in samodejnih testov
Nekatera podjetja se še vedno trudijo sprejeti avtomatizacijo, medtem ko jo druga pretirano uporabljajo, čeprav bi bile ročne perspektive koristnejše. S skupnim uravnoteženjem teh preverjanj lahko testna ekipa pokrije več osnov in zagotovi kakovost celotne aplikacije, tudi za bolj subjektivne vidike, kot je vmesnik programske opreme.
Skupno izvajanje ročnih in avtomatiziranih testov je edini način za zagotovitev popolne testne pokritosti vseh funkcij.
3. Razumevanje trga
Pomembno je, da testerji med postopkom testiranja poznajo ciljno občinstvo in konkurente; to jim pomaga oceniti, kako se bodo ljudje verjetno odzvali na trenutno funkcionalnost aplikacije.
Po določenih funkcijah je veliko povpraševanja, zato lahko testna ekipa med preverjanjem prednostno razvrsti te funkcije. Čeprav morajo vzdrževati tudi široko testno pokritost. To bi lahko določilo smer testiranja in morebitni uspeh programske opreme ob začetku prodaje.
4. Uporaba pravih naprav za testiranje
Ekipe, ki preizkušajo programsko opremo, lahko uporabljajo emulatorje za lažje raziskovalno preverjanje; to je lahko koristno, vendar le redko odraža praktično uporabniško okolje.
Resnične naprave pomagajo izboljšati zanesljivost raziskovalnega testiranja z ustvarjanjem bolj realistične izkušnje – emulatorji so nepopolni in imajo lahko napake, ki jih stranke ne vidijo.
Emulacija je hiter način preizkušanja več platform, vendar ne more nadomestiti dejanskih naprav.
Vrste rezultatov raziskovalnega testa
Po opravljenem preverjanju lahko testerji prejmejo različne izpise, med drugim:
1. Rezultati preskusov
Sami rezultati so različni, saj lahko raziskovalno testiranje obsega na stotine edinstvenih testov. Ti rezultati predstavljajo večino rezultatov testne rutine in zagotavljajo pomembne informacije o stanju aplikacije in njeni zmožnosti zadovoljevanja potreb uporabnika.
Po prejemu teh rezultatov lahko preizkuševalci ponovno preverijo sistem in potrdijo informacije ter določijo svoje naslednje ukrepe.
2. Testni dnevniki
V dnevnikih aplikacije so pogosto razkrite napake in težave med postopkom testiranja; te so najzanesljivejši namigi, zakaj programska oprema ni uspešno opravila testa. Starejši preizkuševalci so še posebej spretni pri razlagi dnevnikov aplikacije, saj lahko ugotovijo vzrok zapletenih težav.
Čim več informacij testerji pridobijo iz teh dnevnikov, tem bolj lahko pomagajo razvijalcem.
3. Poročila o preskusih
Glede na postopek avtomatizacije ekipe lahko njihovi rezultati samodejno ustvarijo poročilo o napaki. V njem so navedene vse napake v aplikaciji, po možnosti vključno z vzroki zanje, in vsi drugi podatki, pomembni za razvijalce.
Preizkuševalci lahko na ta način izrazijo svoje mnenje o tem, ali je programska oprema pripravljena za zagon, kar je znano kot odločitev “gremo/ne gremo”.
Primeri raziskovalnega testiranja
Tukaj so trije primeri, kako lahko podjetje uporabi raziskovalno testiranje:
1. Mobilna aplikacija za igre na srečo
Če želi igralniško podjetje izdati večjo posodobitev mobilne aplikacije, lahko raziskovalni testerji preverijo stare in nove funkcije, da ugotovijo, ali je aplikacija še vedno stabilna. To lahko poveča zapletenost programske opreme do te mere, da je v nekaterih napravah ne bo mogoče zagnati.
Preizkuševalci si prizadevajo zmanjšati učinke tega in hkrati zagotoviti uporabnost na čim več platformah.
Raziskovalni testerji temeljito preverijo igro in njene številne zapletene scenarije, da bi zagotovili, da vsaka funkcija deluje, kot je predvideno; ta postopek običajno zahteva ročnega testerja.
2. Spletno mesto ponudnika storitev
Na spletnih straneh se izvaja tudi raziskovalno testiranje, da bi se prepričali, da delujejo za uporabnike in osebje, zato se lahko testerji najprej prijavijo na spletno stran. S tem se preveri zmožnost spletnega mesta za ustvarjanje novih uporabniških profilov in preveri, ali uporabniki ne morejo dostopati do upravnih funkcij.
Testerji nato preverijo storitev, ki je lahko v obliki rezervacije sestanka ali naročila. Nato bodo opravili nakup in se prepričali, da blagajna deluje ustrezno, nato pa bodo pregledali potrditev naročila po e-pošti in zgodovino računa.
3. Sistem upravljanja bolnišnice
Raziskovalno testiranje lahko koristi aplikacijam in sistemom vseh vrst. Pri sistemih za upravljanje bolnišnic lahko preizkuševalec preveri, kako plačilni modul sodeluje z drugimi funkcijami.
Višje stopnje integracije lahko brez natančnega testiranja povzročijo pomembne napake. Ti pregledi lahko vključujejo arhitekturni diagram, ki spremlja številne komponente sistema in njihovo medsebojno povezanost.
Preizkuševalci preučijo tudi težave v prejšnjih iteracijah sistema in posebej preverijo, ali so še vedno prisotne, ter hitro ukrepajo, če odkrijejo kakšno napako.
Vrste napak in hroščev, odkritih z raziskovalnim testiranjem
Napake, ki jih lahko testerji odkrijejo med raziskovalnim testiranjem, vključujejo:
1. Nezdružljive funkcije
Nekatere funkcije v aplikaciji morda ne bodo delovale med seboj v skladu s pričakovanji, zaradi česar uporabniki ne bodo mogli opraviti nakupov ali uporabljati aplikacije. Preizkuševalci preverjajo funkcije ločeno in v povezavi z drugimi, da se prepričajo, da se vse skupaj ujema.
2. Neustrezno oblikovanje uporabniškega vmesnika
Uporabniški vmesnik aplikacije določa, kako nekdo uporablja programsko opremo. Če na primer pomembne funkcije niso vidne strankam, se lahko zgodi, da teh funkcij ne bodo opazile, kar bo omejilo njihovo uživanje v aplikaciji.
Z ročnim testiranjem uporabniškega vmesnika ugotovite in popravite uporabniku neprijazno zasnovo.
3. Napake pri preverjanju pristnosti
Številne aplikacije in spletna mesta omogočajo ustvarjanje uporabniškega profila z določenimi privilegiji. Bistveno je, da preizkuševalci preverijo, ali lahko povprečni uporabniki med uporabo programske opreme na nepričakovan način dostopajo do občutljivih podatkov ali celo upravnih funkcij.
4. Mrtva koda
Preizkuševalci lahko odkrijejo zastarelo kodo, ki je še vedno prisotna v aplikaciji in je lahko celo vzrok za opazne težave z delovanjem. Mrtva koda preveč zaplete notranje delovanje aplikacije in lahko povzroči napake, ki se jim je mogoče izogniti. Z ugotavljanjem in optimiziranjem tega je programska oprema bolj odzivna za osebje in uporabnike.
Pogoste metrike raziskovalnega testiranja
Običajne metrike, s katerimi se lahko testerji srečajo med raziskovalnimi testi, vključujejo:
1. Metrike za testiranje zmogljivosti
Raziskovalni testi, ki preverjajo splošno delovanje aplikacije, lahko privedejo do številnih metrik. To lahko vključuje minimalne, povprečne in maksimalne odzivne čase ter stopnje napak in uspehov za določitev stabilnosti.
2. Metrike za pokritost testov
Pokritost testov je pomembna, ker določa, koliko kategorij in vidikov aplikacije zajemajo testi. Odstotek pokritosti zahtev na primer ocenjuje, ali obstajajo funkcije, ki zahtevajo dodatne kroge testiranja.
3. Splošna učinkovitost testa
Spremljanje števila uspešnih in neuspešnih preverjanj pomaga preizkuševalcem ugotoviti splošno stanje aplikacije. Poleg tega lahko ekipa spremlja, koliko od odkritih napak je kritičnih.
4. Porazdelitev napak
Podobno preverjanje porazdelitve napak prikazuje komponente ali funkcije, ki so najbolj dovzetne za napake. To so lahko deli aplikacije, ki so pogosto v interakciji z drugimi, zato je treba tem testom dati prednost.
5. Regresijske metrike
Raziskovalno regresijsko testiranje testerjem omogoča, da vidijo, kako se obnašajo različne iteracije iste programske opreme in kako to lahko vpliva na učinkovitost.
Pri tem sta v pomoč posebni metriki, in sicer stopnja vbrizgavanja napak in napake na sestavo.
Razjasnite nekaj nejasnosti: Raziskovalno testiranje v primerjavi z ad hoc testi
Zaradi velikega poudarka na svobodi testerja nekateri pogosto zamenjujejo raziskovalno testiranje z ad hoc testiranjem. Oba formata imata več podobnosti, vendar služita različnim namenom.
1. Kaj je testiranje Ad Hoc?
Ad hoc testiranje je popolnoma nestrukturiran pristop, ki se razlikuje od običajne zasnove testiranja, da bi našli napake, ki se sicer ne bi pojavile.
Ta oblika testiranja običajno ne vključuje dokumentacije, zato je težko ponoviti težave, razen če je preizkuševalec popolnoma prepričan o vzroku.
Primer tega je “opičje testiranje”, preverjanje, ki vključuje naključne vnose in katerega cilj je zlomiti sistem.
Podobno kot pri raziskovalnem testiranju številni priložnostni testerji pri teh preverjanjih delajo v paru, kar poveča njihovo zanesljivost. Ad hoc pristop je lahko uporaben po formalnem izvajanju testov, da se prepričate, da so pri preverjanju upoštevane vse možnosti; to pomaga tudi, kadar je časa za nadaljnje testiranje malo. Ob pravilni izvedbi so priložnostni testi zelo koristni.
2. Razlike med raziskovalnim testiranjem in ad hoc testi
Ad hoc testiranje običajno ne vključuje uradne dokumentacije. To je v popolnem nasprotju z raziskovalnimi testi, pri katerih je zaradi improvizirane narave teh preverjanj vodenje evidenc še pomembnejše.
Raziskovalni testi uporabljajo več različnih formalnih tehnik testiranja, medtem ko se ad hoc pregledi temu izognejo, saj ne upoštevajo običajnega testnega bontona. Tako lahko odkrijejo napake, ki jih preizkuševalci sicer ne bi nikoli odkrili.
Raziskovalno testiranje ima jasne cilje in meje, vendar članom ekipe še vedno omogoča uporabo ustvarjalnih testov. Ad-hoc testi ponavadi nimajo določljivih končnih ciljev, razen tega, da programsko opremo potisnejo, kakorkoli lahko. Ad hoc testiranje pogosto vključuje tudi predhodno poznavanje programske opreme in njenih funkcij, medtem ko raziskovalno testiranje vključuje učenje aplikacije v običajne postopke.
Raziskovalno testiranje v agilnem okolju
Agilna metodologija močno spodbuja nenehne izboljšave. To pomeni, da se dobro ujema z raziskovalnimi testi, še posebej zaradi vse večjega povpraševanja po pogostih posodobitvah programske opreme.
Kombiniranje raziskovalnega testiranja z agilnim načinom dela lahko članom ekipe omogoči močnejšo strukturo testiranja, saj v svoje urnike vključijo načrtovanje sprostitve in izvajanje sprintov. Podjetje, ki uporablja agilne tehnike, lahko to še bolj izkoristi, če jih poveže z raziskovalnim testiranjem; to je odličen način za testiranje vsake posamezne komponente programske opreme v aplikaciji. Ker lahko preizkuševalci izvajajo raziskovalne preglede brez skript, to prihrani veliko dragocenega časa tako osebju za zagotavljanje kakovosti kot razvijalcem.
Avtomatizirano raziskovalno testiranje še povečuje te prihranke, saj podjetjem pomaga, da hitreje preverijo najnovejše iteracije aplikacije, po možnosti kar čez noč. Raziskovalni pregledi zagotavljajo hitre in uporabne rezultate, razvijalci pa lahko v naslednjem sprintu izvedejo vse potrebne spremembe.
Ročno raziskovalno testiranje ima v povezavi z agilnim pristopom še vedno veliko prednosti, saj je sposobno prepoznati težave, ki bi jih avtomatizirani pristop lahko spregledal. Druge oblike testiranja preprosto trajajo predolgo ali prinašajo premalo koristi, da bi jih bilo mogoče umestiti v agilni okvir. Z raziskovalnimi pregledi lahko zagotovite, da vsaka faza agilnega pristopa bistveno izboljša programsko opremo in njeno funkcionalnost.
7 napak in pasti, ki se jim je treba izogniti pri izvajanju raziskovalnih testov
Tukaj je sedem pogostih napak, ki jih podjetja pogosto delajo pri izvajanju raziskovalnih testov, in kako se jim lahko izognejo:
1. Neuravnoteženo ročno/avtomatsko testiranje
Ugotavljanje, kateri testi najbolje delujejo z ročnim preverjanjem in kateri bi imeli koristi od avtomatizacije, zahteva čas, vendar omogoča, da ekipe testirajo veliko učinkoviteje.
Če avtomatizirate preveč testov, lahko nastane aplikacija, ki je zaradi pomanjkanja človeškega preizkuševalca okorna ali neprijazna do uporabnika.
2. Časovne omejitve
Raziskovalno testiranje je hitrejše od številnih drugih oblik testiranja, vendar zaradi projektnih rokov še vedno obstajajo omejitve glede števila testov, ki jih ekipa lahko izvede.
Upravljanje časa in zavezanost k pokritosti testov pomagata skupini za testiranje opraviti čim več preverjanj v številnih širokih kategorijah.
3. Nefleksibilni preizkuševalci
Čeprav raziskovalni testerji ne potrebujejo predhodnega znanja o programski opremi ali posebej poglobljenega znanja, so preverjanja še vedno odvisna od sposobnosti in pobude posameznih članov ekipe.
Vodja projekta mora te testne vloge dodeliti pametno in jih po potrebi prepustiti bolj ustvarjalnim in intuitivnim članom ekipe.
4. Težave pri ponovitvi napak
Ni vedno jasno, katera dejanja prispevajo k neuspehu preskusa, prav tako ni jasno, kateri vidiki aplikacije so krivi.
Zato številni raziskovalni pristopi vključujejo združevanje testerjev ali celo neposredno snemanje zaslona testerja, da bi bolje razumeli težave in njihove natančne vzroke.
5. Nejasna dokumentacija
Ne glede na to, ali gre za avtomatizirano poročilo o napakah ali ročni zapis opravljenih testov, dobra dokumentacija razvijalcem olajša ukrepanje na podlagi ugotovitev ekipe za testiranje.
Ekipa za testiranje se mora zavezati, da bo pri vsakem preverjanju zagotavljala kakovostno vodenje evidenc in v vsakem poročilu navedla čim več podrobnosti.
6. Visoka pričakovanja
Raziskovalno testiranje je koristno za skoraj vsak projekt programske opreme, vendar je njegovo področje uporabe še vedno omejeno – najbolje deluje v povezavi z drugimi metodami testiranja.
Ekipe za testiranje morajo te preglede izvajati poleg običajnih skriptiranih testov; le tako lahko oddelki za zagotavljanje kakovosti zagotovijo dosledno široko pokritost s testi.
7. Neustrezna avtomatizacija
Pomembno je, da ekipa za testiranje in vodja projekta razumeta, katera programska oprema za avtomatizacijo prinaša največ koristi za določeno aplikacijo.
Različne možnosti tretjih oseb ponujajo svoje edinstvene funkcije, zato lahko izbira ekipe odloči o uspehu njihove robotske avtomatizacije procesov; upoštevati morajo vse možnosti, ki jih imajo na voljo.
5 najboljših brezplačnih orodij za raziskovalno testiranje
Pet najboljših orodij za raziskovalno testiranje, ki jih lahko ekipe za zagotavljanje kakovosti uporabljajo brezplačno:
1. ZAPTEST FREE Edition
ZAPTEST Free zagotavlja funkcionalnost na vrhunski ravni brez kakršnih koli stroškov, tako da lahko vsaka organizacija izkoristi prednosti enostavnega izvajanja raziskovalnih testov.
Ta aplikacija lahko z inovativno tehnologijo 1SCRIPT avtomatizira vse platforme, naprave in brskalnike.
ZAPTEST omogoča tudi prilagodljivo avtomatizacijo RPA, ki jo lahko kombinirate z ročnim pristopom.
2. Raziskovalna aplikacija XRAY
XEA uporabnikom omogoča, da ustvarijo celovite testne listine in preprosto beležijo svoj napredek, kar poenostavi fazo poročanja o napakah pri raziskovalnem testiranju.
Ta možnost se v celoti osredotoča na vidik uporabnika in ponuja centralizirano vozlišče rezultatov za posodabljanje drugih preizkuševalcev.
Vendar pa sistem XRAY trenutno nima integrirane avtomatizacije, kar bi lahko omejilo njegovo dolgoročno učinkovitost.
3. Magnet za hrošče
Bug Magnet je razširitev brskalnika, ki omogoča temeljito raziskovalno testiranje in testerjem omogoča preverjanje robnih primerov in drugih problematičnih vrednosti.
Ta razširitev omogoča tudi preprosto integracijo navideznega besedila, e-poštnih naslovov in več naborov znakov.
Vendar je na voljo le za brskalnika Firefox in Chrome, zato je manj vsestranska izbira kot konkurenčni brskalniki.
4. Azure Testni načrti
Azure Test Plans je ključni del Microsoftove platforme Azure, ki testerjem omogoča zajemanje bogatih podatkov v številnih scenarijih.
Ta možnost je primerna tako za namizne kot spletne aplikacije, hkrati pa zagotavlja tudi sledljivost od začetka do konca, ki omogoča jasno evidenco razvoja programske opreme.
Vendar ta pristop pogosto zahteva globljo integracijo z Azure, zato je na račun prilagodljivosti.
5. Testinij
Testiny je specializiran za ročno raziskovalno testiranje in ponuja pametni urejevalnik, ki testerjem omogoča oblikovanje preverjanj z drevesno strukturo za največjo prilagodljivost.
Vsaka sprememba izvajanja ali testnega primera ostane v zgodovini aplikacije, kar zagotavlja popolno odgovornost in sledljivost.
Vendar je ta brezplačna le za majhne ekipe in odprtokodne projekte.
Kdaj uporabiti orodja za raziskovalne teste v podjetjih in kdaj brezplačna orodja za raziskovalne teste?
Čeprav je raziskovalno testiranje koristna naložba in premijske aplikacije običajno ponujajo več funkcij, obstaja veliko brezplačnih možnosti, ki zagotavljajo več kot dovolj funkcij.
Raziskovalno testiranje je lahko pomemben operativni strošek, če se odločite za premijski model, vendar za to nima denarja vsako podjetje ali ekipa za razvoj programske opreme. Izbira najboljše programske opreme tretje osebe je pogosto odvisna od posebnih zahtev podjetja.
Plačljiva rešitev je lahko edini način za zadovoljitev potreb tega projekta; ekipa mora preučiti različne možnosti, preden se odloči za aplikacijo.
Podjetja z manjšimi ekipami imajo lahko največ koristi od brezplačnih orodij za testiranje, saj je veliko možnosti brezplačnih za omejeno število uporabnikov.
Lahko pa izberejo tudi možnosti brez te omejitve in možnosti, ki lahko prilagodijo obseg testne skupine. Zaradi tega bi lahko bilo še bolj smiselno združiti raziskovalne testerje v pare, da bi zagotovili natančnejše rezultate – ekipa bo seveda potrebovala manj profilov uporabnikov.
Številne storitve ponujajo brezplačen preizkus svoje programske opreme, tako da lahko organizacije preverijo, ali ustreza njihovim potrebam; običajno traja le nekaj tednov.
Kontrolni seznam, nasveti in triki za raziskovalno testiranje
Obstaja veliko dodatnih nasvetov, ki jih lahko testerji upoštevajo pri začetku raziskovalnega preverjanja, med drugim:
1. Ustrezno razdelite funkcije in module
Da bi se izognili nesporazumom, morajo ekipe za testiranje pripraviti jasen seznam vseh funkcij in preverjanj, ki jih nameravajo izvesti. To pomeni tudi, da je treba zagotoviti, da so testi ustrezno porazdeljeni po vseh funkcijah programske opreme.
Za najboljše rezultate je zelo pomembno, da se ekipa za testiranje dogovori, kateri člani bodo izvajali posamezne teste glede na svoje sposobnosti in prednosti.
2. Razumevanje programske opreme
Faza učenja je ključni del raziskovalnega testiranja. To pomeni, da morajo testerji aktivno sodelovati s programsko opremo in ugotoviti, kako deluje, preden pripravijo teste.
Učenje o notranjem delovanju te programske opreme je lahko proces sodelovanja, ki zagotavlja boljše razumevanje v celotni ekipi. Tako lahko preizkuševalci pripravijo boljše preglede in testne primere.
3. Ugotovite problematična področja
Vsaka aplikacija ima funkcije ali komponente, ki se prepletajo z drugimi. Ker je programska oprema vedno bolj zapletena, je večja verjetnost, da se bodo pojavile napake, kar lahko zahteva več testiranja. Ekipa mora aktivno delati, da ugotovi, katere komponente potrebujejo dodatno pomoč.
Uporabljajo lahko posebne testne ture, ki najbolje odražajo potrebe aplikacije in splošne prednostne naloge ekipe pri testiranju.
4. Začnite z osnovnimi uporabniškimi scenariji
Ekipe za zagotavljanje kakovosti lahko po potrebi izvajajo raziskovalne teste v poljubnem vrstnem redu, vendar je morda koristneje začeti z enostavnejšimi preverjanji, preden se lotimo bolj zapletenih funkcij.
To omogoča nemoteno napredovanje v smislu zahtevnosti, kar testerjem omogoča, da razumejo programsko opremo. Pomaga tudi pri preverjanju, ali osnovne funkcije delujejo po pričakovanjih.
5. Testerje povežite v pare
Parno raziskovalno testiranje poenostavi in potrdi fazo zagotavljanja kakovosti, tako da lahko testerji pri vsakem preverjanju delajo s popolnim zaupanjem. Sodelovanje poveča učinkovitost vseh oblik testiranja, saj vsak član ekipe bolje pozna programsko opremo.
Poleg tega lahko zaradi svojih individualnih pogledov pripravijo veliko bolj poglobljena poročila o napakah, kar razvijalcem omogoča, da imajo na voljo več informacij.
6. Izvedite več testov
Sposobnost ekipe, da ponovno preizkusi aplikacijo, je odvisna od časovnega razporeda in rokov, ki so pred njo. Če pa je to mogoče, bi bilo koristno dvakrat preveriti posebej problematične komponente.
Poleg tega lahko s ponavljanjem testov preverite, ali je predhodno odkrita težava odpravljena in ne bo več vplivala na programsko opremo. Včasih je ta skrbnost potrebna, da je testiranje uspešno.
Zaključek
Raziskovalno testiranje lahko veliko ponudi podjetjem za razvoj programske opreme vseh vrst, saj dopolnjuje skriptno testiranje in mnoga druga preverjanja.
S pomočjo raziskovalnega testiranja lahko ekipe za zagotavljanje kakovosti testirajo aplikacije po višjih standardih, kar izboljša kakovost končne programske opreme in pomaga razvijalcem odpraviti morebitne napake.
Kombinacija ročnega in samodejnega raziskovalnega testiranja lahko zagotovi največ koristi, saj omogoča enako pozornost vsem komponentam programske opreme.
Če vaše podjetje potrebuje programsko opremo za raziskovalno avtomatizacijo, ZAPTEST FREE Edition ponuja veliko širšo in bolj prilagodljivo funkcionalnost kot drugi premijski programi, kar testerjem omogoča enostavno optimizacijo teh preverjanj.
Pogosta vprašanja in viri
1. Najboljši tečaji o avtomatizaciji raziskovalnega testiranja
Tako novim kot izkušenim raziskovalnim testerjem bi lahko koristili tečaji za izboljšanje njihovih spretnosti. To vključuje tudi ugotavljanje, kako pristopiti k novi programski opremi.
Pri tem vam lahko pomagajo naslednji koristni tečaji:
– Udemyjev Complete 2023 Software Testing Bootcamp; ta uči široko testiranje programske opreme v 28 urah.
– Coverosovo raziskovalno testiranje; osredotoča se na to, kako razviti listine in uporabiti raziskovalne teste za API.
– Polteqovo dvodnevno usposabljanje o raziskovalnem testiranju; na tem usposabljanju je obravnavano delovanje raziskovalnih testov v kontekstu agilnosti.
– LinkedIn’s Exploratory Testing (Raziskovalno testiranje); v njem je prikazano, kako je sodobno testiranje programske opreme sprejelo raziskovalno preverjanje.
– Uvod v preizkušanje programske opreme, ki ga je pripravila Coursera; to testerjem začetnikom pomaga razumeti tipične postopke.
2. Katerih je pet najpomembnejših vprašanj za razgovor o raziskovalnem testiranju?
Pri razgovorih za delovna mesta za raziskovalno testiranje je pomembno, da vodje zaposlovanja postavljajo dobra vprašanja, da lahko natančno ocenijo kandidatove spretnosti in izkušnje.
Najpomembnejših pet vprašanj, ki si jih morate zastaviti, je:
– Katere so glavne razlike med skriptnim in raziskovalnim testiranjem, vključno z njihovo primernostjo?
– S katerimi izzivi ste se srečali kot raziskovalni tester in kako ste jih premagali?
– Navedite primere raziskovalnih testov, ki bi jim robotska avtomatizacija procesov najbolj koristila.
– Kaj je po vašem mnenju najpomembnejša veščina (tehnična ali druga) za raziskovalnega testerja?
– Kaj bi svetovali testerju, ki se trudi razumeti programsko opremo in jo preveriti?
3. Najboljše vaje na YouTubu o raziskovalnem testiranju
Na spletnih straneh za izmenjavo videoposnetkov, kot je YouTube, je na voljo veliko brezplačnih učnih gradiv, ki lahko bodočim preizkuševalcem pomagajo razumeti njegova temeljna načela. Nekatere so del serije, druge pa so posamični videoposnetki, v katerih se poglobite v temo.
Kanali, ki ponujajo te vadnice, vključujejo:
– Akademija za testiranje ponuja na stotine videoposnetkov, ki pokrivajo vse vidike testiranja programske opreme.
– Software Testing Mentor, ki prav tako ponuja obsežne videoposnetke o osnovah testiranja programske opreme.
– QAFox, ki zagotavlja tudi primere iz resničnega sveta in projekte v živo, ki dopolnjujejo vse njihove videoposnetke.
– SDET-QA Automation Techie, kjer je na voljo več izčrpnih videoposnetkov o različnih testnih pristopih.
– GlitchITSystem, ki z raziskovalnim testiranjem pregleduje različna spletna mesta in poskuša odkriti napake.
4. Kako vzdrževati raziskovalne teste?
Dobro izvedeni raziskovalni testi vključujejo dobro dokumentacijo, na katero se razvijalci in prihodnji testerji sklicujejo pri novih iteracijah programske opreme.
Ob večjih posodobitvah aplikacije je treba ponovno preizkusiti njene primarne funkcije, da se zagotovi, da te dopolnitve nimajo negativnega vpliva na že obstoječe funkcije.
Le tako lahko zagotovimo, da bodo raziskovalni testi dolgoročno uspešni. Pri oblikovanju prvotne aplikacije in njenih preverjanj pomaga tudi pri upoštevanju prihodnjih načrtov, kot so predhodne funkcije.
Osebje za zagotavljanje kakovosti mora te teste ustrezno načrtovati in ugotoviti, kdaj je treba aplikacijo ponovno preveriti; pri tem lahko ekipi pomagajo orodja za avtomatizirano testiranje.
5. Ali je raziskovalno testiranje testiranje črne škatle?
Raziskovalno testiranje je zelo podobno testiranju črne skrinjice, ki se nanaša na preverjanje aplikacije s pregledovanjem njenih funkcij brez neposrednega pregledovanja kode.
Vrste preverjanj, ki spadajo v raziskovalno testiranje, niso izrecno omejene; ta pristop lahko zajema vse vidike programske opreme, vključno s kodo.
Ena od ključnih podobnosti med tema dvema vrstama testiranja je, da tester ne more predvideti ničesar. Testerji črne škatle običajno ne poznajo programske opreme, preden jo testirajo, raziskovalni testerji pa se v okviru začetnega preverjanja naučijo, kako programska oprema deluje.
Čeprav raziskovalno testiranje na splošno ni vedno uvrščeno med testiranje črne škatle, je res, da se ta dva pristopa precej križata.