Get your 6-month No-Cost Opt-Out offer for Unlimited Software Automation?

Pri večini vrst testiranja programske opreme se za zagotovitev pokritosti uporablja natančno določen načrt testiranja. Čeprav ti parametri pokrivajo številne možnosti uporabe programske opreme, ne bodo vedno posnemali vedenja uporabnika, ki aplikacije ne pozna in poskuša z njo komunicirati na raziskovalen način: Vstopite v testiranje z opico.

V tem članku si bomo ogledali vse, kar zadeva testiranje z opico, vključno s programsko opremo za testiranje z opico, procesi, vrstami, pristopi in drugim.

 

Kaj je testiranje na opicah?

Inkrementalno testiranje pri testiranju programske opreme - poglobljen potop v to, kaj je to, vrste, proces, pristope, orodja in še več!

Opičje testiranje je vse bolj priljubljena tehnika testiranja programske opreme. V aplikacijo se pošiljajo naključni vhodi, da se simulira nepredvidljivost interakcije z uporabniškim vmesnikom.

Cilj je najti napake ali okvare, ki bi jih bilo težko odkriti z vnaprej določenimi testnimi primeri. Opičji test posnema način, kako lahko oseba brez izkušenj ali znanja o aplikaciji naključno raziskuje programsko opremo.

Ta tehnika je primerna tako za
obremenitev
in
obremenitveno testiranje
aplikacije. S testi se neprekinjeno zagotavljajo naključni vhodni podatki, s katerimi se poskuša aplikacija razbiti.

Med testiranjem opic in testiranjem
ad hoc testiranjem
, zlasti zaradi naključne narave in nezanesljivosti na testni načrt. Vendar je med njima dovolj razlik, da ju lahko obravnavamo kot različna pristopa.

Čeprav nekateri razvijalci menijo, da je testiranje z opico vrsta priložnostnega testiranja, je bistvena razlika med njima v tem, da lahko testiranje z opico izvajajo ljudje, ki ne poznajo aplikacije.

Pri opičjem testiranju gre za to, da nimate testnega načrta. Gre za podajanje naključnih vnosov z namenom zrušiti programsko opremo.

 

Zakaj se imenuje testiranje na opicah?

alfa testiranje proti beta testiranju

Ni enotnega mnenja o tem, zakaj se ta tehnika imenuje opičje testiranje. Za imenom se skriva nekaj prepričljivih teorij.

 

Teorija 1: Teorem o neskončni opici

 

Po prvi teoriji je ime povezano s teorijo o neskončni opici, metaforo, ki se uporablja za razpravo o statistični verjetnosti. Na kratko povedano, če bi opica sedela pred pisalnim strojem in neskončno dolgo tipkala naključne tipke, bi na neki točki ustvarila celotna dela Williama Shakespeara.

Ideja je, da opičje testiranje simulira naključno mešanje tipk in z dovolj časa pokriva vse možnosti, s katerimi se bo aplikacija soočila v produkciji.

 

Teorija 2: Macintoshova “Opica”

 

Druga teorija pravi, da ime izhaja iz aplikacije MacOS iz leta 1983, ki se je imenovala “Opica”. Ekipa, ki je delala na prvem računalniku Macintosh, je skratka želela najti način za stresno testiranje svojega računalnika.

Razmišljali so, da bi z opico, ki bi besno tolkla po tipkah in premikala miško, lažje preizkusili odpornost računalnika. Ker pri roki niso imeli žive opice, so izdelali aplikacijo, ki je lahko simulirala tovrstno uporabo, in jo poimenovali “Opica”.

 

Zakaj je testiranje opic pomembno?

razjasnitev nekaterih nejasnosti pri avtomatizaciji testiranja programske opreme

Glavni razlog za pomembnost opičjega testiranja je, da ekipi pomaga odkriti robne primere ali nepričakovano vedenje v aplikaciji. Gre za to, da lahko razvijalci poleg tradicionalnih metod uporabijo tudi opičje testiranje in tako dobijo boljši občutek o tem, kako bo aplikacija sprejeta v naravi.

Tudi celovito testiranje izdelka ne more konkurirati več deset tisoč ali več uporabnikom, ki se z aplikacijo ukvarjajo dlje časa. V majhnem odstotku teh primerov bodo uporabniki od aplikacije zahtevali, da naredi nekaj nepričakovanega. Odkrivanje vseh teh scenarijev s testnimi primeri je skoraj nemogoče.

Testiranje z opico poskuša zajeti te skoraj naključne scenarije. Ko razvijalci sestavljajo testni primer, običajno dobro poznajo aplikacijo. Razumejo, kakšni so cilji uporabnikov, in vedo, kakšno je najboljše zaporedje interakcij, s katerimi lahko v aplikaciji nekaj dosežejo.

Naključnost teh vnosov pomeni, da je aplikacija preizkušena na načine, ki jih razvijalci niso upoštevali. Na splošno to povečuje splošno odpornost in vzdržljivost programske opreme ter zagotavlja, da se lahko brez okvare odpravi v svet in se sooči z nepredvidljivostjo številnih uporabnikov.

 

Kdaj je treba uporabiti testiranje z opico?

kontrolni seznam uat, orodja za testiranje spletnih aplikacij, avtomatizacija in drugo

Opičje testiranje je odlična dodatna tehnika testiranja. Njegova največja prednost je, da lahko najde nepričakovane napake, ki jih s tradicionalnimi metodami testiranja programske opreme ne bi odkrili. Zato ga je najbolje uporabljati skupaj z metodami, kot so:

Razvijalci običajno uporabijo opičje testiranje na začetku postopka testiranja. To je še posebej koristno, kadar nimate na voljo vnaprej pripravljenih testnih načrtov, ki bi jih lahko uporabili.

 

Kako se izvaja testiranje na opicah?

Top 30 najbolj priljubljenih orodij in programske opreme RPA (robotska avtomatizacija procesov)

V ne tako oddaljeni preteklosti je bilo testiranje opic opravljeno ročno. Preizkuševalci so morali pritiskati na gumbe, vnašati besedilo, izbirati predmete in podobno, da bi preverili, kako se bo sistem odzval na nekonvencionalne vnose. Pri tem so očitne težave. Prvič, to je precej zamudno. Drugič, ni zagotovila, da bodo ti ukrepi zajeli vse možne primere.

 

Primeri ročnega testiranja opic

Tukaj je nekaj primerov, kako se izvaja ročno opičje testiranje. Na podlagi tega si lahko tudi predstavljate, kaj poskuša simulirati avtomatizirano testiranje opic.

  • Preizkuševalec se po spletnem mestu pomika s klikanjem na naključne povezave, da bi ugotovil, ali lahko povzročijo okvaro aplikacije ali vodijo na nepričakovane strani.
  • Tester v polje obrazca vnese naključna besedila in preveri, kako se aplikacija odzove.
  • Preizkuševalec povleče in spusti ikone in predmete ter preveri, ali se obnašajo po pričakovanjih ali pa se pojavijo neželeni rezultati.

 

Različne vrste testiranja na opicah

testiranje avtomatizacije spletnih aplikacij

Obstajajo tri glavne vrste opičjih testov, ki jih razvijalci uporabljajo za odkrivanje različnih informacij o odpornosti svojih aplikacij.

 

1. Testiranje neumnih opic

 

IS YOUR COMPANY IN NEED OF

ENTERPRISE LEVEL

TASK-AGNOSTIC SOFTWARE AUTOMATION?

Testiranje z neumno opico opisuje pristop, pri katerem tester ne ve ničesar o testirani aplikaciji. Namesto tega mora tester popolnoma nevede brskati po delovnem procesu, pritiskati gumbe, vnašati besedilo in tako naprej. S to tehniko lahko odkrijete pomembne pomanjkljivosti, ki se jih razvijalci ne zavedajo.

 

2. Testiranje pametnih opic

 

Pri testiranju s pametno opico tester pozna aplikacijo in njene cilje ter ima celo podrobne informacije o njenem delovanju. Ta postopek uporablja tudi bolj osredotočeno vrsto naključnega vnosa, ki je zasnovan tako, da aplikacija preseže določene meje. Ta pristop je primeren tako za testiranje obremenitve kot tudi za testiranje stresa.

 

3. Testiranje z briljantnimi opicami

 

Testiranje briljantnih opic je naslednja stopnja testiranja pametnih opic. Preizkuševalec ima dobro in celovito znanje o aplikaciji in je izbran na podlagi tega znanja. Ta spregled lahko testerju pomaga odkriti veliko napak, saj mora izdelek razumeti z vidika uporabnika.

 

Prednosti in slabosti testiranja na opicah

izzivi-testiranje obremenitve

Preden se odločite za uporabo tehnike opičjega testiranja, morate razumeti njene prednosti in slabosti.

 

Prednosti opičjega testiranja

 

1. Iskanje redkih ali skritih hroščev

Morda je najbolj prepričljiva prednost opičjega testiranja sposobnost te tehnike, da odkrije napake, pomanjkljivosti ali obnašanje, ki bi sicer ostali neodkriti. Iskanje teh robnih primerov je s tradicionalnimi tehnikami testiranja težavno, zato je opičje testiranje zanesljiv način za testiranje sesutja, poškodb podatkov in vsega drugega, kar ogroža stabilnost aplikacije.

 

2. Zagotavlja robustnost

S testiranjem opice preverite, kako se aplikacija odziva na nepredvidljive pogoje, s katerimi se bo soočila med uporabo v resničnem svetu. Ko aplikacija pride v roke uporabnika, se pojavi veliko različnih vnosov, ki jih razvijalci ne morejo predvideti. Opičje testiranje posnema te razmere, kar vodi k zanesljivejšim sestavam.

 

3. Stroškovna učinkovitost

V primerjavi z drugimi vrstami testiranja je opičje testiranje zelo stroškovno učinkovito. Razlogov za to je več. Prvič, ni vam treba porabiti veliko časa za oblikovanje primerov uporabe za vašo aplikacijo. Poleg tega so programska orodja za testiranje opic v veliki meri avtomatizirana, kar razvijalcem sprosti čas za druga opravila in vam prihrani denar.

 

4. Vsestranskost

Ena od najboljših lastnosti opičjega testiranja je, da lahko teste izvajajo ljudje brez tehničnega znanja. V nekaterih primerih je namreč bolje, če je nekdo popolnoma zelen. Poleg tega je te teste zelo preprosto nastaviti, kar spet zmanjšuje odvisnost od usposobljenih inženirjev.

 

5. Zgodnje odkrivanje napak

Iskanje in odpravljanje napak na začetku življenjskega cikla razvoja prihrani čas v nadaljevanju. Opičje testiranje v testiranje vnaša stopnjo naključnosti, ki vam lahko pomaga odkriti napake v kodi, medtem ko jih je enostavno odpraviti.

 

Slabosti testiranja z opico

 

1. Pokritost

Čeprav lahko opičje testiranje izboljša pokritost testov, pa ni tako načrtno in strateško temeljito kot pri drugih vrstah testiranja. Ker v aplikacijo vnašate naključne podatke, ste pri iskanju napak prepuščeni na milost in nemilost kaosu. To ne pomeni, da ne bo našel vsega, vendar brez jasne in vnaprej določene strategije ne morete biti 100 % prepričani, da je bilo zajeto vse.

 

2. Omejena uporaba

Opičje testiranje ni primerno za vse vrste aplikacij. Odličen je za kompleksne aplikacije z veliko različnimi funkcijami in lastnostmi, pri katerih lahko pride do nepričakovanih interakcij z uporabnikom. Programi, ki ponujajo bolj toge in predvidljive funkcije, imajo manjšo verjetnost, da bodo imeli koristi od teh testov.

 

3. Dolgotrajen

Ročno testiranje opic je zelo zamudno. Zahteva veliko interakcij z moduli in programsko opremo, pri čemer ni zagotovila, da bodo pri vsaki seji odkrite napake. Postopek lahko avtomatizirate, s čimer prihranite veliko časa in sredstev.

 

4. Lažni pozitivni rezultati

Zaradi kaotične ali naključne narave opičjega testiranja lahko nekateri vhodni podatki simulirajo scenarije, ki se med uporabo izdelka v resničnem svetu ne bodo zgodili. To lahko povzroči nastanek lažnih pozitivnih rezultatov, zaradi česar morajo programerji odpraviti težave, ki niso potrebne.

 

Kaj je testiranje s kaotično opico?

kaj je testiranje s kaotično opico?

Testiranje kaosa je tehnika inženiringa programske opreme, ki uporablja nadzorovane in namerne eksperimente, namenjene motnjam sistema (in celo povzročanju napak), da bi ocenila njegovo odpornost in zmožnost okrevanja.

Zamisel o namernem razbijanju sistema za zagotovitev odpornosti je na področju razvoja programske opreme precej pogosta, te metode pa običajno vodijo do gradenj, za katerimi lahko inženirji stojijo.

Leta 2008 se je priljubljena pretočna storitev Netflix po tridnevni okvari podatkovne zbirke odločila za selitev na Amazonove spletne storitve (AWS). Cilj je bil izogniti se posameznim točkam odpovedi in zmanjšati težave z razširljivostjo zaradi širitve storitev.

Ekipa je izvedla testiranje s kaotično opico za testiranje javno dostopnih instanc na infrastrukturi AWS. Koristi so bile dvojne:

  1. Postopek je razkril pomanjkljivosti, ki so jih lahko odpravili Netflixovi inženirji.
  2. To je ekipo spodbudilo, da je za svojo storitev izdelala samodejne mehanizme za obnovitev.

Testiranje z opico kaosa je del inženiringa kaosa. Uporablja se za preizkušanje odpornosti sistema na napake in njegove zmožnosti, da ohrani stabilnost in zmogljivost tudi ob nepričakovanih odpovedih posameznih komponent.

Čeprav je povezan z opičjim testiranjem, gre za ločeno tehniko.

 

Testiranje z opico proti testiranju z gorilo

Testiranje z opico proti testiranju z gorilo

Morda ste že slišali za koncept testiranja Gorila pri razvoju programske opreme. Čeprav sta obe tehniki poimenovani po primatih, imata veliko podobnosti in razlik. Raziščimo, kaj je testiranje Gorila in kje ga je mogoče uporabiti.

Testiranje z gorilami je bolj strukturirana različica testiranja z opicami. V primerjavi s tem se opičje testiranje pogosto uporablja v zgodnjih fazah testiranja, ko ni na voljo formalnih testnih primerov. Pri testiranju gorile pa se za ustvarjanje naključnih vnosov za programsko aplikacijo uporablja avtomatizirano orodje ali skripta.

Testiranje Gorila je hitro in veliko učinkovitejše od ročnega testiranja z opico. Nudi široko pokritost in je odličen način za iskanje okvar, ki jih je treba odpraviti. Vendar ga je najbolje uporabljati za aplikacije z natančno določenimi mejami ali za temeljito preizkušanje določenega modula.

V sodobnem testiranju razvoja programske opreme imata svoje mesto tako opičje kot gorilje testiranje. Njihovo razumevanje je ključnega pomena za uporabo pravega pristopa v pravem prostoru.

 

IS YOUR COMPANY IN NEED OF

ENTERPRISE LEVEL

TASK-AGNOSTIC SOFTWARE AUTOMATION?

Katero je najboljše orodje za testiranje opic?

najboljša orodja za testiranje opic

Programska oprema za testiranje opic je postala nepogrešljiv del orodja sodobnega razvijalca. Vendar je na voljo nekaj možnosti. Katero je najboljše orodje za testiranje opic? Tukaj je nekaj primerov, ki jih morate poznati.

 

1. ZAPTEST

 

ZAPTEST je zmogljiv
brezplačno in poslovno orodje za avtomatizacijo testiranja programske opreme.
ki podpira širok nabor tehnik za avtomatizacijo testiranja, vključno z opičjim testiranjem. Nekatere funkcije ZAPTEST, ki pomagajo pri testiranju opic, vključujejo:

 

  • Snemanje skript brez kode: Ekipe lahko snemajo interakcije z uporabniki in jih pretvorijo v testno kodo.
  • Ustvarjanje vhodnih podatkov: ZAPTEST omogoča naključno generiranje vhodnih podatkov, kar je ključni element testiranja z opico.
  • Zanesljivo poročanje: ZAPTEST ponuja zmogljive možnosti poročanja, ki vam pomagajo dokumentirati vaše teste.

 

Seveda so te funkcije le delček zmogljivosti programa ZAPTEST za širok nabor tehnik testiranja, vključno z opičjimi testi. Z integracijo WebDriverja, funkcijami umetne inteligence in ZAPTEST CoPilot lahko ekipe na enem mestu izkusijo prihodnost testiranja programske opreme.

Poleg tega imajo uporabniki ZAPTEST Enterprise dostop do strokovnjaka ZAP, ki je zaposlen za polni delovni čas, in do neomejenega števila licenc, vse to pa za predvidljivo fiksno ceno.

 

2. Appium

Appium je odprtokodno orodje. Uporabljate ga lahko za operacijski sistem Android in iOS. Uporabnikom omogoča avtomatizacijo interakcij z mobilnimi aplikacijami in ima možnosti testiranja opic. Razvijalci lahko posnemajo številne reakcije uporabniškega vmesnika, kot so vnos besedila, klikanje, tapkanje in pomikanje.

Appium je odlično orodje za mobilne razvijalce, nima pa možnosti za testiranje namiznih računalnikov in spletnih strani.

 

3. Preizkusite ga z opico

Monkey Test To je platforma za testiranje v oblaku z različnimi možnostmi testiranja, med katerimi je tudi testiranje z opicami. Čeprav je program Monkey Test It uporabniku zelo prijazen, mu morda primanjkuje moči konkurenčnih orodij.

Druge pomanjkljivosti so, da bi lahko bil videti bolj eleganten in da bi lahko imel boljšo dokumentacijo. Poleg tega so se nekateri uporabniki pritožili zaradi netočnih rezultatov testov. Kljub temu gre za preprost program z nizko ceno, zato od njega ne morete pričakovati vsega.

 

4. MonkeyTestJS

MonkeyTestJS je odprtokodno avstralsko orodje v javascriptu, ki je namenjeno samo spletnim aplikacijam. Je precej osnovna, vendar je več kot primerna za opravljanje dela. Orodje razvijalcem omogoča simulacijo interakcij med uporabnikom in spletno aplikacijo, kot so kliki, oddaja obrazca, vnosi s tipkovnico in drugo.

Pomanjkljivost orodja je seveda ta, da je na voljo samo za spletne aplikacije. Vendar ga je vredno imeti v svoji zbirki orodij.

 

Katero je najboljše namensko orodje za testiranje opic za Android?

 

Razvijalci, ki želijo v svoje testiranje aplikacij za Android vnesti nekaj kaosa, imajo na voljo nekaj dobrih možnosti. Oglejmo si dva.

 

1. UI/aplikacija Exerciser Monkey za Android

UI/Application Exerciser Monkey za Android je orodje ukazne vrstice, ki razvijalcem omogoča pošiljanje psevdonaključnih vnosov ali dogodkov v naprave in emulacije sistema Android. To orodje deluje v lupini Android Debug Bridge.

 

2. MonkeyRunner za Android

MonkeyRunner za Android je priljubljeno orodje za testiranje opic za Android. Programska oprema je programski vmesnik API, ki razvijalcem omogoča pisanje programov, ki posnemajo ali nadzorujejo napravo Android. Prav tako je dobra možnost za funkcionalno testiranje in testiranje enot.

Obe aplikaciji sta dobri možnosti. Vendar so precej tehnični, kar ne bo ustrezalo vsem ekipam.

 

Ali je treba testiranje opic avtomatizirati?

Avtomatizacija testiranja obremenitve

Ena največjih težav pri ročnem testiranju opic je, da je zelo zamudno. Opozoriti morate tudi na to, da nekaj preizkuševalcev težko zares simulira različne interakcije, ki bi jih lahko imela široka baza uporabnikov z določeno aplikacijo.

Takoj nas presenetijo tri pomanjkljivosti. Ročno testiranje opice je:

  • Časovno potraten
  • Drago
  • Potencialno pomanjkljivo pokritje

Avtomatizirano orodje za testiranje opic rešuje vse te težave.

 

Je ZAPTEST prava izbira za vaše potrebe po testiranju opic?

 

Opičje testiranje je dobra tehnika v repertoarju testiranj, zlasti če oblikujete zapletene aplikacije. Vendar je nakup namenske programske opreme za testiranje opic drag.


ZAPTEST
je prilagodljiv in zmogljiv
orodje za avtomatizacijo testiranja.
Je zelo prilagodljivo in omogoča tako razvijalcem kot netehničnim ekipam, da zgradijo in oblikujejo neskončno število tehnik testiranja programske opreme, vključno z opičjim testiranjem.

Testiranje z opico je odlična izbira, če je dopolnjeno z drugimi vrstami testov. ZAPTEST ponuja vse pod eno streho, z dodatkom visokokakovostna orodja RPA.

 

Zaključne misli

Programska oprema za testiranje opic omogoča razvijalcem nekonvencionalen način testiranja aplikacij. Prednost te tehnike je v tem, da lahko simulira nešteto nepredvidljivih načinov, na katere lahko uporabnik sodeluje s programsko opremo. Skratka, opičje testiranje zagotavlja pokritost, ki bi jo bilo težko doseči s testnim načrtom.

Download post as PDF

Alex Zap Chernyak

Alex Zap Chernyak

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

Get PDF-file of this post