Ad-hoc testiranje je vrsta testiranja programske opreme, ki ga razvijalci in podjetja za programsko opremo izvajajo pri preverjanju trenutne iteracije programske opreme. Ta oblika testiranja omogoča boljši vpogled v program in odkrivanje težav, ki jih običajno testiranje ne bi moglo izpostaviti.
Zelo pomembno je, da ekipe za testiranje v celoti razumejo postopek priložnostnega testiranja, da vedo, kako zaobiti njegove izzive in zagotoviti, da lahko ekipa uspešno izvaja to tehniko.
Če natančno veste, kako deluje ad hoc testiranje in katera orodja lahko olajšajo njegovo izvajanje, lahko podjetje nenehno izboljšuje svoje postopke zagotavljanja kakovosti. Formalni postopek testiranja poteka po zelo specifičnih pravilih, zaradi česar lahko ekipa spregleda nekatere napake – z ad hoc preverjanji lahko obidemo te slepe pege in hitro preizkusimo vse funkcije programske opreme.
V tem članku podrobno obravnavamo ad hoc testiranje in kako ga lahko uporabite v svojo korist pri razvoju programskega izdelka.
Pomen testiranja Ad-Hoc: Kaj je testiranje Ad-Hoc?
Ad-hoc testiranje je postopek zagotavljanja kakovosti, ki se izogiba formalnim pravilom in dokumentaciji ter testerjem pomaga pri iskanju napak v aplikaciji, ki jih z običajnimi pristopi ni mogoče ugotoviti. To običajno zahteva celovito poznavanje programske opreme pred začetkom testiranja – vključno z razumevanjem notranjega delovanja programa. Namen teh ad hoc preverjanj je prekiniti aplikacijo na način, ki odraža vnos uporabnika, in upoštevati različne možne situacije, da lahko razvijalci odpravijo morebitne težave.
Pomanjkanje dokumentacije je osrednja značilnost te tehnike, ki ne vključuje kontrolnega seznama ali testnih primerov, ki bi testerje vodili po funkcijah aplikacije. Pri ad hoc testiranju gre v celoti za testiranje programske opreme na način, za katerega se ekipa odloči, da je v danem trenutku učinkovit. Pri tem se lahko upoštevajo že obstoječi formalni testi, lahko pa se preprosto izvede čim več testov v (verjetno omejenem) času, ki je na voljo za to tehniko.
1. Kdaj in zakaj je treba pri testiranju programske opreme izvajati testiranje Ad-Hoc?
Glavni razlog, zakaj podjetja izvajajo ad-hoc testiranje, je njegova sposobnost odkrivanja napak, ki jih tradicionalni pristopi ne morejo najti. Razlogi za to so lahko različni, na primer običajni testni primeri po posebej standardiziranem postopku, ki ne more upoštevati posebnosti aplikacije.
Vsaka vrsta testiranja lahko ponudi nove perspektive in zanimive pristope k zagotavljanju kakovosti – to kaže tudi na težave pri običajni strategiji testiranja. Če lahko na primer z ad-hoc testiranjem odkrijete težavo, ki je testni primeri ekipe ne obravnavajo, to pomeni, da bi bilo koristno ponovno umeriti metodologijo testiranja.
Preizkuševalci lahko izvajajo ad hoc preglede na kateri koli točki postopka preizkušanja. To običajno služi kot dopolnitev tradicionalnega (in bolj formalnega) zagotavljanja kakovosti, zato lahko preizkuševalci izvajajo ad hoc preglede, medtem ko njihovi kolegi izvajajo bolj formalne preglede. Morda pa bodo raje prepustili ad-hoc preglede šele po uradnem postopku testiranja kot nadaljnje ukrepe, ki so posebej usmerjeni na morebitne slepe pege.
Ad-hoc testiranje je lahko koristno tudi takrat, ko je čas zaradi pomanjkanja dokumentacije še posebej omejen – pravi čas je odvisen od podjetja in njegovega prednostnega pristopa.
2. Kdaj vam ni treba izvajati testiranja Ad-Hoc
Če ni dovolj časa za izvajanje ad hoc in formalnega testiranja, je pomembno, da ekipa daje prednost slednjemu, saj se tako zagotovi zadostna pokritost s testi – tudi če še vedno obstajajo nekatere vrzeli.
Če ekipa z uradnimi testi odkrije napake, ki jih je treba odpraviti, je na splošno bolje počakati, da razvijalci dokončajo potrebne spremembe in izvedejo ad-hoc preglede. V nasprotnem primeru lahko rezultati, ki jih zagotavljajo, kmalu zastarajo, zlasti če se testi nanašajo na komponento, ki že ima napake.
Poleg tega je treba pred fazo beta testiranja opraviti ad hoc testiranje.
3. Kdo sodeluje pri testiranju Ad-Hoc?
V procesu testiranja Ad-Hoc je vključenih več ključnih vlog, med drugim:
– Preizkuševalci programske opreme so glavni člani ekipe, ki izvajajo priložnostne preglede. Če izvajate skupinsko testiranje ali testiranje v paru, bo več testerjev delalo skupaj na istih komponentah.
– Razvijalci lahko te preglede samostojno uporabijo pred uradno fazo zagotavljanja kakovosti za hiter pregled lastne programske opreme, čeprav je ta manj poglobljen kot namensko ad hoc testiranje.
– Vodje skupin ali oddelkov odobrijo splošno strategijo testiranja in pomagajo testerjem določiti, kdaj začeti ad hoc testiranje in kako ga izvesti, ne da bi pri tem motili druga preverjanja.
Prednosti testiranja Ad-Hoc
Prednosti ad-hoc testiranja pri testiranju programske opreme so:
1. Hitre rešitve
Ker ti testi ne zahtevajo pogostega dokumentiranja pred, med ali po preverjanju, lahko ekipe veliko hitreje ugotovijo težave. Ta preprostost testerjem ponuja izjemno svobodo.
Na primer, če ekipa preizkusi komponento in ne more ugotoviti nobene napake, lahko preprosto nadaljuje z naslednjim preizkusom, ne da bi to zabeležila v dokumentu.
2. Dopolnjuje druge vrste testiranja
Nobena strategija testiranja ni popolna, 100-odstotno pokritost pa je običajno nemogoče doseči – tudi z obsežnim načrtom. Pri običajnem testiranju bodo vedno obstajale vrzeli, zato je pomembno, da podjetja vključijo več pristopov.
Namen ad hoc testiranja je zlasti poiskati težave, ki jih formalno testiranje ne more zajeti, kar zagotavlja širšo splošno pokritost s testi.
3. Prilagodljivo izvajanje
Ad-hoc testiranje se lahko izvede na kateri koli točki v procesu zagotavljanja kakovosti pred beta testiranjem, kar podjetjem in ekipam omogoča, da se odločijo, kdaj je najbolje izvesti ta preverjanja. Lahko se odločijo, da bodo teste ad hoc izvajali hkrati z običajnim testiranjem, ali pa počakajo na poznejše testiranje – ne glede na to ima ekipa koristi od možnosti, ki jih ima na voljo.
4. Večje sodelovanje
Razvijalci so v ta postopek vključeni bolj kot pri mnogih drugih oblikah testiranja – še posebej, če podjetje uporablja skupinsko testiranje in testiranje v dvojicah.
Razvijalci tako dobijo boljši vpogled v svoje aplikacije in lahko napake odpravijo bolj kakovostno. S tem se splošna kakovost programske opreme še izboljša.
5. Različne perspektive
Z ad hoc testiranjem lahko aplikacijo prikažete z novih zornih kotov, kar testerjem pomaga, da se s temi funkcijami seznanijo na nove načine. Dodatni vidiki so ključnega pomena pri celotnem testiranju, saj imajo formalni pregledi pogosto vsaj manjše vrzeli.
Če ad hoc preizkuševalci uporabljajo programsko opremo s posebnim namenom, da bi jo razbili, bodo lažje ugotovili omejitve programa.
Izzivi testiranja Ad-Hoc
Postopek ad-hoc testiranja ima tudi več izzivov, kot so:
1. Težave pri poročanju
Zaradi pomanjkanja dokumentacije je ad hoc testiranje veliko hitrejše, vendar lahko tudi otežuje poročanje, če ne gre za večjo težavo.
Na primer, eno od prej opravljenih preverjanj lahko postane pomembnejše pozneje, čeprav sprva ni prineslo pomembnih rezultatov. Brez izčrpne dokumentacije ekipa morda ne bo mogla pojasniti teh testov.
2. Manj ponovljiva
Podobno se lahko zgodi, da se preizkuševalci ne zavedajo natančno pogojev, ki so potrebni za nastanek opazovanih reakcij. Na primer, ad hoc preverjanje, ki vrne napako, morda ne vsebuje dovolj informacij, da bi ekipa lahko ukrepala. Morda ne vedo, kako ponoviti ta test in dobiti enak rezultat.
3. Zahteva izkušnje s programsko opremo
Ker je pri ad hoc testiranju ključnega pomena hitrost in ker običajno vključuje poskus razbijanja aplikacije, je pomembno, da ti testerji dobro poznajo ta program.
Če vedo, kako deluje, lahko preizkuševalci programsko opremo razbijejo in z njo manipulirajo na več načinov, kar pa lahko znatno poveča zahteve po spretnostih za ad hoc preizkušanje.
4. Omejena odgovornost
Pomanjkanje dokumentacije lahko povzroči več težav kot le slabo poročanje; nenamerno lahko tudi podaljša postopek testiranja in vpliva na uporabnost hitrih posameznih ad-hoc testov.
Brez zadostne dokumentacije v vsaki fazi lahko testerji težko sledijo svojemu napredku. Tako lahko celo ponovijo preverjanje, ki so ga že opravili drugi preizkuševalci.
5. Morda ne odraža uporabniške izkušnje
Cilj skoraj vseh vrst testiranja je ugotoviti napake, ki na nek način vplivajo na končne uporabnike. Ad-hoc testiranje temelji predvsem na tem, da izkušeni tester poskuša posnemati neizkušenega uporabnika, kar mora biti dosledno pri vsakem preverjanju, vključno s poskusi, da bi aplikacijo pokvaril.
Značilnosti testov Ad-Hoc
Glavne značilnosti uspešnih ad hoc testov so:
1. Preiskovalni
Glavna prednostna naloga ad hoc testiranja je odkrivanje napak v aplikaciji z uporabo tehnik, ki jih običajni pregledi ne upoštevajo. Ad-hoc pregledi pregledajo to programsko opremo z izrecnim namenom, da bi našli luknje v postopku testiranja ekipe, vključno s pokritostjo testnih primerov.
2. Nestrukturiran
Ad hoc pregledi običajno nimajo določenega načrta, razen izvedbe čim večjega števila testov zunaj običajnih meja formalnega zagotavljanja kakovosti. Preizkuševalci običajno zaradi priročnosti razvrstijo preglede po komponentah, vendar tudi to ni nujno – preglede lahko celo oblikujejo med njihovim izvajanjem.
3. Na izkušnjah temelječa
Ad-hoc preizkuševalci uporabijo svoje predhodne izkušnje s programsko opremo, da ocenijo, kateri preizkusi bi prinesli največ koristi, in odpravijo pogoste slepe pege pri formalnem preizkušanju.
Čeprav je postopek testiranja še vedno popolnoma nestrukturiran, testerji pri odločanju o strategiji med drugim uporabijo svoje znanje o prejšnjih ad hoc preverjanjih.
4. Široko zastavljen
Natančnih navodil, katere preglede mora ekipa izvesti med priložnostnim testiranjem, ni, vendar običajno zajemajo različne komponente – po možnosti z večjim poudarkom na občutljivejših vidikih aplikacije. S tem lahko testerji zagotovijo, da bodo njihovi preizkusi v celoti dopolnjevali formalno testiranje.
Kaj testiramo v testih Ad-Hoc?
Ekipe za zagotavljanje kakovosti med ad hoc testiranjem običajno testirajo naslednje elemente:
1. Kakovost programske opreme
Namen teh preverjanj je odkriti napake v aplikaciji, ki jih običajno testiranje ne more odkriti; to pomeni, da se s tem postopkom preverja predvsem splošno stanje aplikacije.
Več napak, kot jih lahko odkrije ad-hoc testiranje, več izboljšav lahko razvijalci izvedejo pred rokom.
2. Testni primeri
Pri ad hoc testiranju se običajno ne izvajajo testni primeri – in to predvsem zato, da lahko ekipa preveri, kako učinkoviti so pri zagotavljanju zadostne pokritosti. Testni primeri so verjetno neustrezni, če lahko ad-hoc pregledi odkrijejo napake, ki jih običajni postopki testiranja ne morejo.
3. Osebje za testiranje
Cilj je lahko tudi preverjanje spretnosti in znanja testne ekipe, tudi če so testni primeri ustrezni. Na primer, njihova metodologija izvajanja primerov je lahko nezadostna in ad hoc testiranje je lahko ključnega pomena za odpravo nastalih vrzeli v pokritosti testov.
4. Omejitve programske opreme
Z ad hoc testiranjem poskušate razumeti tudi omejitve aplikacije, na primer kako se odziva na nepričakovane vhodne podatke ali velike obremenitve sistema. Preizkuševalci lahko posebej preučijo sporočila o napakah programa in kako dobro ta aplikacija deluje, ko je pod velikim pritiskom.
Razjasnite nekaj nejasnosti:
Testiranje ad hoc in raziskovalno testiranje
Nekateri menijo, da sta ad-hoc in raziskovalno testiranje sinonima, čeprav je resnica bolj zapletena.
1. Kaj je raziskovalno testiranje?
Raziskovalno testiranje se nanaša na postopke zagotavljanja kakovosti, ki raziskujejo programsko opremo s celostnega vidika in posebej združujejo postopke odkrivanja in testiranja v eno metodo. To je običajno srednja pot med popolnoma strukturiranim testiranjem in popolnoma svobodnim ad hoc preverjanjem.
Raziskovalno testiranje se najbolje obnese v posebnih scenarijih, na primer kadar so potrebne hitre povratne informacije ali kadar mora ekipa obravnavati mejne primere. Ta vrsta testiranja običajno doseže svoj polni potencial, če ekipa poleg nje uporablja tudi skriptno testiranje.
2. Razlike med raziskovalnim testiranjem
in testiranje Ad-Hoc
Največja razlika med ad hoc in raziskovalnim testiranjem je v tem, da ad hoc testiranje uporablja dokumentacijo za beleženje in lažje preverjanje, medtem ko se ad hoc testiranje temu popolnoma izogne. Raziskovalno testiranje daje večji poudarek svobodi testiranja, vendar nikoli ne na enaki ravni kot ad hoc pristop, ki je popolnoma nestrukturiran.
Raziskovalno testiranje vključuje tudi učenje o aplikaciji in njenem notranjem delovanju med temi preverjanji – namesto tega imajo ad hoc testerji pogosto izčrpno znanje o funkcionalnosti programske opreme, preden začnejo.
Vrste testov Ad-Hoc
Pri testiranju programske opreme obstajajo tri glavne oblike ad-hoc testiranja, in sicer:
1. Testiranje na opicah
Morda najbolj priljubljena vrsta ad-hoc testiranja so opičji testi, pri katerih ekipa naključno preverja različne komponente.
To običajno poteka med postopkom testiranja enote in izvaja vrsto preverjanj brez testnih primerov. Preizkuševalci neodvisno preiskujejo podatke na povsem nestrukturiran način, kar jim omogoča, da preučijo širši sistem in njegovo sposobnost, da se upre močnim obremenitvam zaradi uporabniških vnosov.
Opazovanje rezultatov teh neopisanih tehnik pomaga skupini za testiranje pri odkrivanju napak, ki so jih drugi testi enote spregledali zaradi pomanjkljivosti običajnih metod testiranja.
2. Testiranje prijateljev
Pri ad-hoc testiranju, ki se izvaja po načelu “prijateljsko”, sodelujeta najmanj dva člana osebja – običajno tester in razvijalec – in se izvaja predvsem po fazi testiranja enote. “Prijatelji” sodelujejo pri istem modulu in ugotavljajo napake. Zaradi različnih znanj in izkušenj so učinkovitejša ekipa, kar pomaga odpraviti številne težave, ki nastanejo zaradi pomanjkanja dokumentacije.
Razvijalec lahko celo sam predlaga več testov in tako določi komponente, ki jim je morda treba posvetiti več pozornosti.
3. Testiranje v paru
Testiranje v paru je podobno, saj vključuje dva člana osebja, vendar gre običajno za dva ločena testerja, od katerih eden izvaja dejanske teste, medtem ko drugi dela zapiske.
Tudi brez uradne dokumentacije lahko ekipa z beleženjem zapiskov neformalno spremlja posamezne ad hoc preglede. Vlogi preizkuševalca in zapisovalca se lahko zamenjata, odvisno od preizkusa, ali pa par ohrani dodeljeni vlogi ves čas postopka.
Tester, ki ima več izkušenj, je običajno tisti, ki izvaja dejanska preverjanja, čeprav si delo vedno delita med seboj.
Ročni ali avtomatizirani testi Ad-Hoc?
Z avtomatiziranim testiranjem lahko ekipe prihranijo še več časa v fazi zagotavljanja kakovosti, zato lahko testerji v svoj urnik vključijo več preverjanj. Tudi brez določene strukture je bistveno, da si testerji prizadevajo za čim večjo pokritost, avtomatizacija pa spodbuja bolj poglobljene preglede te programske opreme.
Avtomatizirani ad hoc pregledi so na splošno natančnejši od ročnih testov, saj se lahko izognejo človeškim napakam pri ponavljajočih se opravilih – to je še posebej koristno pri izvajanju istih testov v različnih iteracijah. Uspeh tega postopka je običajno odvisen od orodja za avtomatizirano testiranje, ki ga ekipa izbere, in njegove funkcionalnosti.
Vendar ima avtomatizirano testiranje določene omejitve. Glavna prednost ad hoc testiranja je na primer v tem, da lahko posnema vnos uporabnika in izvaja naključna preverjanja, ko jih tester predlaga. Ti preizkusi lahko izgubijo naključnost, če se program testiranja organizacije spopada z zapletenimi preverjanji.
Čas, ki je potreben za avtomatizacijo teh zelo specifičnih opravil, lahko prav tako omejuje tipičen prihranek časa pri tem postopku. Pomembno je, da ekipe temeljito preučijo razpoložljiva orodja za avtomatizacijo in najdejo tisto, ki ustreza projektu njihovega podjetja.
Kaj potrebujete za začetek testiranja Ad-Hoc?
Tu so glavni pogoji za ad hoc testiranje:
1. Usposobljeno osebje
Ker so ad-hoc testi hitri, naključni pregledi notranjega delovanja programske opreme, običajno pomagajo testerji, ki imajo izkušnje s programsko opremo. Poznati morajo tudi ključna načela testiranja – tako lahko zlahka določijo najučinkovitejše preglede.
2. Nestrukturiran pristop
Testerji morajo biti pripravljeni opustiti svoje običajne strategije za ad hoc testiranje; ta miselnost je prav tako pomembna kot sami pregledi kakovosti. Ta metoda je lahko uspešna le brez strukture ali dokumentacije, zato je ključnega pomena, da se testerji tega spomnijo v vsaki fazi.
3. Programska oprema za avtomatizacijo
Čeprav ad hoc testiranje temelji bolj na testiranju naključnih vnosov in pogojev, je avtomatizacija še vedno zelo učinkovita tehnika v vsakem kontekstu.
Zato je treba pri ad-hoc preverjanjih še vedno uporabljati orodja za avtomatizirano testiranje, kjer je to mogoče, saj lahko prava aplikacija bistveno poenostavi postopek.
4. Druge oblike testiranja
Ad-hoc testi se najbolje obnesejo ob drugih preverjanjih z bolj formalnim pristopom, ki ekipi pomagajo zagotoviti znatno pokritost celotne programske opreme. Pomembno je, da preizkuševalci kombinirajo različne tehnike, čeprav lahko to storijo pred, med ali po opravljenem ad hoc testiranju.
Postopek testiranja Ad-Hoc
Običajni koraki, ki jim morajo testerji slediti, ko izvajajo ad-hoc testiranje pri testiranju programske opreme, so:
1. Opredelitev ciljev ad-hoc testiranja
Ta faza je omejena zaradi pomanjkanja dokumentacije in strukture, vendar je še vedno zelo pomembno, da ima ekipa jasen cilj. Testerji si lahko začnejo deliti nejasne ideje o tem, katere prihodnje teste bodo izvedli in katere komponente bodo obravnavali prednostno.
2. Izbira ad hoc testne skupine
Ko ekipa oblikuje številne možne ad-hoc preglede, ugotovi tudi, kateri testerji bi bili najboljši za to vrsto testiranja. Običajno izberejo preizkuševalce, ki dobro razumejo aplikacijo, in jih povežejo z razvijalcem.
3. Izvajanje testov ad hoc
Ko se odločite, kateri preizkuševalci so primerni za to fazo, ti člani ekipe začnejo s preverjanjem na dogovorjeni točki testiranja. Njihov cilj je izvesti čim več ad hoc preverjanj, ki jih preizkuševalci morda ne bodo zasnovali do te faze.
4. Vrednotenje rezultatov preskusov
Po končanih testih (ali celo med posameznimi preverjanji) preizkuševalci ocenijo rezultate, vendar jih uradno ne dokumentirajo v testnem primeru. Če odkrijejo kakršne koli težave z aplikacijo, jih neformalno zabeležijo in se pogovorijo o naslednjih korakih skupine.
5. Poročanje o morebitnih odkritih napakah
Ko testerji ocenijo rezultate, morajo razvijalce obvestiti o napakah v programski opremi, da imajo dovolj časa za njihovo odpravo pred izdajo.
Ekipa za testiranje te informacije uporablja tudi za ugotavljanje, kako izboljšati svoje formalne postopke testiranja.
6. Ponovno testiranje po potrebi
Ekipa za testiranje bo postopek ad-hoc verjetno ponovila za nove iteracije aplikacije, da bi preverila, kako dobro aplikacija obvladuje posodobitve. Ker bodo preizkuševalci v svojih testnih primerih odpravili veliko predhodno ugotovljenih pomanjkljivosti, bo morda treba pri prihodnjih ad-hoc pregledih uporabiti drugačen pristop.
Najboljše prakse za testiranje Ad-Hoc
Obstajajo določene prakse, ki jih morajo testne ekipe izvajati med ad-hoc testiranjem, med drugim:
1. Ciljanje na morebitne vrzeli pri testiranju
Čeprav ad hoc testiranje vključuje veliko manj načrtovanja kot druge vrste testiranja, si ekipa še vedno prizadeva odpraviti pomanjkljivosti pri zagotavljanju kakovosti. Če ad-hoc preizkuševalci sumijo na določene težave s testnimi primeri skupine, jih morajo pri preverjanju obravnavati prednostno.
2. Razmislite o programski opremi za avtomatizacijo
Strategije avtomatizacije, kot je hiperavtomatizacija, lahko podjetjem, ki želijo izvajati ad hoc teste, ponudijo številne prednosti.
Uspeh tega je odvisen od več ključnih dejavnikov, vključno z orodjem, ki ga izbere podjetje, in splošno zapletenostjo ad hoc testov.
3. Izčrpno beležite
Pomanjkanje dokumentacije pri ad hoc testiranju je v glavnem namenjeno nadaljnji racionalizaciji tega postopka – ekipi bi lahko koristilo, če bi si med delom delala neformalne zapiske. Tako imajo preizkuševalci na voljo jasen zapis teh preverjanj in njihovih rezultatov, kar poveča njihovo splošno ponovljivost.
4. Še naprej izpopolnjujte teste
Ad-hoc testerji nenehno izboljšujejo svoj pristop, da bi upoštevali spremembe v strategiji testiranja ekipe. Pri pregledu novejših različic programske opreme podjetja lahko na primer prilagodijo ta preverjanja kot odziv na novejše in bolj vključujoče formalne testne primere.
7 napak in pasti pri izvajanju
Ad-Hoc testi
Tako kot pri vsakem postopku testiranja obstaja vrsta možnih napak, ki se jim mora ekipa izogniti, na primer:
1. Neizkušeni preizkuševalci
Da bi ohranili pričakovano hitrost ad hoc testiranja, mora vodja skupine dodeliti testerje glede na njihovo znanje in spretnosti. Medtem ko lahko številne oblike testiranja opravi osebje za zagotavljanje kakovosti na začetni ravni, pa so za ad hoc preglede potrebni člani ekipe, ki popolnoma razumejo programsko opremo; po možnosti z izkušnjami pri izvajanju teh testov.
2. Neusmerjeni pregledi
Ad-hoc testiranje lahko bistveno izboljša pokritost testov zaradi hitrejšega poteka – ekipi ni treba izpolnjevati obsežne dokumentacije pred vsakim preverjanjem in po njem.
Vendar morajo ad hoc preizkuševalci še vedno ohraniti močno osredotočenost; lahko se na primer odločijo, da bodo dali prednost določenim sestavnim delom z večjim tveganjem okvare.
3. Brez načrtovanja
Izogibanje kakršnemu koli načrtu lahko omeji učinkovitost ad hoc testiranja. Kljub nestrukturirani naravi tega pristopa je pomembno, da ima ekipa pred začetkom dela približno predstavo o tem, katere teste bo izvajala.
Čas v tem postopku je omejen, zato lahko znanje o tem, kako ravnati, prinese veliko koristi.
4. Pretirano strukturiranost
Na nasprotni strani tega spektra pa ta pristop običajno temelji na pomanjkanju načrtovanja, saj testerjem pomaga aktivno izpodbijati testne primere in iskati skrite napake.
Ad hoc testiranje je znano tudi kot naključno testiranje, ki lahko z vsiljevanjem strukture prepreči odkrivanje napak.
5. Brez dolgoročnih sprememb
Namen ad-hoc testiranja je ugotoviti morebitne pomanjkljivosti v testnih primerih ekipe; s tem se preverja tako njihova splošna strategija kot tudi sama programska oprema.
Vendar to pomeni, da so ad hoc testi na splošno učinkoviti le, če ekipa te informacije uporabi za postopno izpopolnjevanje svojih formalnih preverjanj.
6. Nezdružljivi podatkovni nizi
Skoraj vsaka oblika testiranja zahteva simulirane podatke za oceno odziva aplikacije; nekatera orodja testerjem omogočajo, da program samodejno napolnijo z navideznimi podatki.
Vendar to morda ne odraža načina, kako bi uporabnik uporabljal programsko opremo – za priložnostna preverjanja so potrebni nabori podatkov, s katerimi se bo programska oprema verjetno srečala.
7. Informacijski silosi
Bistveno je, da so testerji in razvijalci v stalni medsebojni komunikaciji, tudi če slednji niso del postopka ad hoc testiranja.
To pomaga vsem razumeti, kateri testi so bili izvedeni, in jim pokaže naslednje ukrepe, ki jih je treba izvesti, hkrati pa preprečuje, da bi testerji po nepotrebnem ponavljali določene preglede.
Vrste rezultatov testov Ad-Hoc
Pri ad-hoc preverjanjih je na voljo več različnih rezultatov, med drugim:
1. Rezultati preskusov
Posamezni testi dajejo različne rezultate, ki so odvisni od točno določene komponente in pristopa – ta je lahko v različnih oblikah.
Običajno je odgovornost preizkuševalca, da ugotovi, ali so rezultati napaka, čeprav je zaradi pomanjkanja dokumentacije to težko primerjati z njegovimi pričakovanji. Ekipa te rezultate posreduje razvijalcem, če opazijo kakršne koli težave.
2. Testni dnevniki
Sama programska oprema uporablja zapleten sistem notranjih dnevnikov za spremljanje uporabniških vnosov in opozarja na številne morebitne težave z datotekami ali podatkovnimi bazami.
To lahko kaže na notranjo napako, vključno z določenim delom programske opreme, ki povzroča težavo. S temi informacijami lahko ad hoc preizkuševalci in razvijalci veliko lažje odpravijo težave, ki jih odkrijejo.
3. Sporočila o napakah
Cilj številnih ad-hoc preverjanj je posebej razbiti programsko opremo in razkriti njene omejitve, kar pomeni, da so sporočila o napakah aplikacije eden od najpogostejših rezultatov teh testov.
Z namernim povzročanjem sporočil o napakah lahko ekipa prikaže, kaj vidi povprečen končni uporabnik, kadar nepričakovana dejanja, ki jih izvede, negativno vplivajo na delovanje programa.
Primeri testiranja Ad-Hoc
Tukaj so trije scenariji ad hoc testiranja, ki prikazujejo, kako ga lahko ekipa izvaja za različne aplikacije:
1. Spletna aplikacija za e-trgovino
Če želi podjetje preizkusiti spletno aplikacijo, ki temelji na e-trgovini, lahko uporabi ad hoc testiranje, zlasti testiranje z opico, da preveri, kako dobro platforma obvladuje nepričakovane interakcije z uporabniki.
Preizkuševalci lahko poskušajo vsako funkcijo izkoristiti do skrajnih meja, na primer tako, da v košarico dodajajo nerealne količine izdelkov ali poskušajo kupiti izdelke, ki jih ni na zalogi. Niso omejeni s testnimi primeri ekipe in ni veliko omejitev, katere preglede lahko opravijo; testerji lahko celo poskušajo opraviti nakupe z uporabo zastarelih naslovov URL.
2. Namizna aplikacija
Ad-hoc preizkuševalci lahko te tehnike izvajajo tudi za namizne aplikacije, pri čemer se lahko osredotočijo na različne računalnike in na to, kako dobro vsak od njih sprejema program.
Člani ekipe lahko te preglede opravijo večkrat, da ugotovijo, kako spreminjanje nastavitev strojne ali programske opreme vpliva na celotno delovanje aplikacije. Določena grafična kartica na primer morda ne bo zmogla izrisati vmesnika.
Ti preizkuševalci bi lahko programu preprosto posredovali nemogoče vhodne podatke in preverili, kako se program odziva, na primer ali lahko pravilno prikaže sporočila o napaki, ki končnemu uporabniku ustrezno pojasnijo težavo.
3. Mobilna aplikacija
Eden od načinov, kako lahko ad hoc preizkuševalci preverijo mobilno aplikacijo, je preverjanje njenih varnostnih protokolov – lahko na primer poskusijo neposredno dostopati do razvojnih orodij aplikacije.
Ekipa lahko poskuša preveriti, ali lahko z iskanjem pogostih vrzeli in izkoriščanj izvede nepooblaščena dejanja; za to lahko posebej prosi zaposlene z izkušnjami na področju varnosti aplikacij.
To lahko vključuje tudi testiranje v paru z razvijalci zaradi njihovega vpogleda v zasnovo aplikacije, saj lahko tester razbije programsko opremo in natančno pokaže, kje je varnost pomanjkljiva.
Vrste odkritih napak in hroščev
s testiranjem Ad-Hoc
Z ad hoc pregledi lahko odkrijete številne težave s programom, kot so:
1. Napake v delovanju
Z ad-hoc testiranjem, s katerim preverjate osnovne funkcije aplikacije, lahko odkrijete resne napake, ki vplivajo na to, kako lahko končni uporabniki delajo z aplikacijo.
Na primer, opičje testiranje plačilnih možnosti spletnega mesta e-trgovine bo pokazalo pogoje, ki preprečujejo transakcijo.
2. Težave z zmogljivostjo
Preizkuševalci lahko posebej poskrbijo za težave pri delovanju programa, na primer tako, da podatkovno zbirko napolnijo z različnimi vnosi neželene pošte.
To se lahko pokaže kot velik zamik ali celo splošna nestabilnost programske opreme, kar lahko privede do okvare (lahko tudi celotnega sistema).
3. Težave z uporabnostjo
Ti pregledi lahko pokažejo tudi napake v vmesniku in splošni uporabniški izkušnji. Uporabniški vmesnik mobilne aplikacije se lahko na primer v drugem operacijskem sistemu ali ločljivosti zaslona predstavlja drugače. Zaradi slabega vmesnika lahko uporabniki s težavo upravljajo to aplikacijo.
4. Varnostne pomanjkljivosti
Naključna narava testiranja ad hoc omogoča, da zajema vrsto običajnih in redkih varnostnih težav; tester lahko s temi preverjanji najde administrativna zadnja vrata programa.
Lahko pa se pri pregledu izkaže, da programska oprema nima šifriranja podatkov.
Pogoste metrike za ad-hoc testiranje
Ad-hoc testiranje uporablja različne metrike, ki olajšajo pridobivanje rezultatov, vključno z:
1. Učinkovitost odkrivanja napak
Ta metrika preverja, kako učinkovit je postopek testiranja pri iskanju napak v vseh oblikah testiranja, vključno z ad hoc testiranjem. Učinkovitost odkrivanja napak je odstotek odkritih napak, deljen s skupnim številom vprašanj, kar kaže, kako učinkoviti so testi.
2. Stopnja pokritosti testov
Pomožna funkcija ad-hoc testiranja je povečanje pokritosti s preverjanjem komponent na način, ki ga testni primeri ne upoštevajo. To pomeni, da si bodo preizkuševalci prizadevali tudi za čim večje testno pokritje pri vsakem preverjanju.
3. Skupno trajanje testa
Ad-hoc testiranje je veliko hitrejše od drugih postopkov zagotavljanja kakovosti, zato je pomembno, da si testerji prizadevajo ohraniti to prednost. Meritve trajanja testov članom ekipe pokažejo, kako lahko prihranijo čas in še povečajo prednosti ad hoc strategij.
4. Število trkov
Cilj teh testov je pogosto prekiniti programsko opremo in povzročiti sesutje ali resno napako, kar jim omogoča, da presežejo običajne strategije testiranja in odkrijejo nepričakovane težave. V ta namen lahko pomagamo, če vemo, kako pogosto se programska oprema sesuva in kaj povzroča te težave.
5 najboljših orodij za testiranje Ad-Hoc
Na voljo je veliko brezplačnih in plačljivih orodij za ad hoc testiranje pri testiranju programske opreme – najboljših pet je naslednjih:
1. ZAPTEST Free & Enterprise Edition
ZAPTEST je celovit program za testiranje programske opreme, ki v brezplačni in poslovni različici zagotavlja visoko raven funkcionalnosti testiranja + RPA.
Ta kompletni paket za avtomatizacijo programske opreme + RPA Suite omogoča popolno testiranje na različnih namiznih in mobilnih platformah; tehnologija 1SCRIPT v programski opremi uporabnikom omogoča tudi enostavno večkratno izvajanje istih preverjanj. Poleg tega orodje uporablja najsodobnejši računalniški vid, ki omogoča, da ZAPTEST izvaja ad-hoc teste s človeške perspektive.
2. BrowserStack
BrowserStack je platforma v oblaku, ki omogoča testiranje na več kot 3 000 različnih računalnikih, z dodatno funkcijo avtomatizacije skript Selenium. Čeprav zagotavlja dobro pokritost projektov programske opreme, se najbolje obnese pri brskalnikih in mobilnih aplikacijah.
Rešitve za testiranje BrowserStack vključujejo tudi brezplačen preizkus s 100 minutami samodejnega testiranja, ki pa je morda omejen.
Čeprav je pristop, ki temelji na oblaku, lahko koristen, negativno vpliva tudi na odzivni čas platforme.
3. LambdaTest
LambdaTest podobno uporablja tehnologijo v oblaku in daje velik poudarek testiranju brskalnikov, kar lahko omeji njegovo učinkovitost pri drugih aplikacijah – čeprav se še vedno dobro ujema s programi za iOS in Android. To je koristna platforma, kadar je treba poskrbeti za razširljivost, in se povezuje s številnimi drugimi storitvami testnega gostovanja.
Vendar pa imajo nekateri uporabniki mešane odzive na ceno aplikacije v različnih možnostih, ki niso poskusne, ki so na voljo, kar bi lahko omejilo dostopnost za manjše organizacije.
4. TestRail
TestRail je zaradi delovanja v celoti v brskalniku na splošno precej prilagodljiv in se kljub velikemu osredotočanju na učinkovite testne primere ponaša tudi z neposrednimi ad hoc funkcijami. Analitika, ki jo zagotavlja po vsakem testu, lahko pomaga tudi ekipam, ki se aktivno izogibajo izdelavi lastne neodvisne dokumentacije, hkrati pa jim omogoča, da potrdijo svoj postopek testiranja.
Večje komplete pa lahko moti njegova oblika, ki temelji na brskalniku, kar lahko znatno zmanjša prihranek časa pri ad hoc testiranju.
5. Zephyr
Zephyr je platforma za upravljanje testov podjetja SmartBear, ki ekipam za zagotavljanje kakovosti pomaga izboljšati preglednost testiranja, hkrati pa se dobro povezuje z drugo programsko opremo za sledenje napakam.
Vendar je ta funkcija omejena na nekatere aplikacije, pri čemer sta Confluence in Jira tisti, ki imata največ koristi od Zephyr – morda to nista najučinkovitejši rešitvi za vsako podjetje. Pod blagovno znamko Zephyr je na voljo več skalabilnih programov po različnih cenah.
Kontrolni seznam, nasveti in triki za testiranje Ad-Hoc
Tukaj so dodatni nasveti, ki jih morajo ekipe upoštevati pri izvajanju ad-hoc testiranja:
1. Prednostno razvrstite občutljive komponente
Nekatere funkcije ali komponente so seveda bolj izpostavljene tveganju napak kot druge, zlasti če so pomembne za celotno delovanje programa.
Vsak pristop k testiranju mora opredeliti dele aplikacije, ki jim je treba posvetiti več pozornosti. To je še posebej koristno, kadar je skupni čas za testiranje omejen.
2. Preučite različna orodja za testiranje
Orodje, ki ga organizacija uporablja za lažje testiranje, lahko vpliva na pokritost in zanesljivost teh preverjanj.
Pri ad-hoc testiranju je vredno pregledati čim več programov in poiskati tiste, ki ustrezajo njegovemu uporabniškemu vidiku. Programska oprema, ki uporablja tehnologijo računalniškega vida, kot je ZAPTEST, lahko pristopi k ad hoc testom s strategijo, podobno človeški.
3. Sprejmite ad-hoc miselnost
Ad-hoc testiranje ponuja veliko svobode v fazi zagotavljanja kakovosti, vendar se mu mora ekipa posvetiti, če želi izkoristiti ključne prednosti strategije.
Ad hoc preizkuševalci se morajo na primer odpovedati vsem običajnim dokumentom, razen osnovnega beleženja, in morajo pregledati programsko opremo s povsem nove perspektive.
4. Zaupajte testnim instinktom
Izkušnje z ad hoc testiranjem ali splošnim preverjanjem programske opreme lahko pomagajo izpostaviti skupne točke napak, to pa testerjem pomaga pri določanju načina odkrivanja vseh vrst napak.
Pomembno je, da testerji zaupajo svojim instinktom in to znanje vedno uporabijo v svojo korist – intuitivno lahko ugotovijo, kateri ad hoc pregledi bi bili najbolj koristni.
5. V celoti zabeležite odkrite napake
Čeprav ad hoc testiranje nima uradne dokumentacije in se večinoma zanaša na neformalne zapiske, je še vedno bistveno, da je ekipa sposobna ugotoviti in sporočiti vzrok napake v programski opremi.
Zabeležiti morajo vse informacije, ki jih test zagotovi in so pomembne za razvijalce, na primer morebitne vzroke teh težav.
6. Vedno upoštevajte uporabnika
Namen vsake oblike testiranja je do neke mere prilagoditi celotno uporabniško izkušnjo – in ad hoc testiranje ni nobena izjema. Čeprav se pogosto bolj poglobljeno ukvarja z notranjim delovanjem aplikacije in celo njeno notranjo kodo, morajo ad hoc preizkuševalci poskušati to programsko opremo zlomiti na načine, ki bi jih uporabniki teoretično lahko.
7. Nenehno izboljševanje procesa
Ekipe za testiranje morajo izboljšati svoj pristop k ad hoc testiranju med več iteracijami iste programske opreme in med posameznimi projekti.
Od razvijalcev lahko zbirajo povratne informacije, da ugotovijo, kako dobro so njihovi ad hoc testi pripomogli k fazi zagotavljanja kakovosti in ali jim je uspelo znatno povečati pokritost s testi.
Zaključek
Ad-hoc testiranje lahko organizacijam vseh vrst pomaga pri preverjanju pristnosti njihove strategije testiranja programske opreme, vendar je način izvajanja te tehnike lahko pomemben dejavnik njene učinkovitosti.
Ključ do največjih koristi ad-hoc preverjanj je uravnoteženje različnih vrst testiranja, še posebej, ker je namen te oblike testiranja dopolniti druge z zapolnitvijo strateške vrzeli.
Z aplikacijo, kot je ZAPTEST, lahko ekipe izvajajo ad hoc teste z večjim zaupanjem ali prilagodljivostjo, zlasti če izvajajo avtomatizacijo. Ne glede na poseben pristop ekipe lahko njena zavezanost ad hoc testiranju korenito spremeni celoten program ali projekt.