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

Pri väčšine typov testovania softvéru sa na zabezpečenie pokrytia používa starostlivo definovaný plán testovania. Hoci tieto parametre pokrývajú mnohé prípady používania softvéru, nie vždy budú napodobňovať správanie používateľa, ktorý aplikáciu nepozná a snaží sa s ňou pracovať prieskumným spôsobom: Vstúpte do opičieho testovania.

V tomto článku sa pozrieme na všetko, čo sa týka testovania opíc, vrátane softvéru na testovanie opíc, procesov, typov, prístupov a ďalších informácií.

 

Čo je testovanie opíc?

Inkrementálne testovanie v testovaní softvéru - ponor do toho, čo to je, typy, proces, prístupy, nástroje a ďalšie!

Monkey testing je čoraz populárnejšia technika testovania softvéru. Zahŕňa odosielanie náhodných vstupov do aplikácie s cieľom simulovať nepredvídateľnosť interakcie používateľského rozhrania.

Cieľom je nájsť chyby alebo poruchy, ktoré by bolo ťažké odhaliť pomocou vopred definovaných testovacích prípadov. Opičí test napodobňuje spôsob, akým by osoba bez skúseností alebo znalostí aplikácie mohla náhodne preskúmať softvér.

Táto technika je vhodnou voľbou pre
zaťaženie
a
záťažové testovanie
aplikácie. Testy v podstate poskytujú nepretržité náhodné vstupy v snahe prelomiť aplikáciu.

Testovanie na opiciach má mnoho podobností s
ad hoc testovaním
, najmä ich náhodný charakter a nespoliehanie sa na plán testov. Medzi týmito dvoma prístupmi však existuje dostatok rozdielov na to, aby sme ich mohli považovať za odlišné.

Hoci niektorí vývojári naznačujú, že testovanie na opici je typom ad hoc testovania, jeden podstatný rozdiel medzi nimi je, že testovanie na opici môžu vykonávať ľudia bez akejkoľvek znalosti aplikácie.

Opičie testovanie je o tom, že nemáte plán testovania. Ide o zadávanie náhodných vstupov s cieľom zrútiť softvér.

 

Prečo sa to nazýva opičie testovanie?

alfa testovanie vs. beta testovanie

Neexistuje zhoda v tom, prečo sa táto technika nazýva opičie testovanie. Za týmto názvom však stojí niekoľko presvedčivých teórií.

 

Teória 1: Veta o nekonečnej opici

 

Prvá teória naznačuje, že názov súvisí s vetou o nekonečnej opici, metaforou používanou na diskusiu o štatistickej pravdepodobnosti. Stručne povedané, tvrdí, že ak by opica sedela pred písacím strojom a nekonečne dlho stláčala náhodné klávesy, v určitom okamihu by vytvorila kompletné dielo Williama Shakespeara.

Ide o to, že opičie testovanie simuluje náhodné stláčanie klávesov a s dostatočným časovým predstihom pokryje všetky eventuality, ktorým bude aplikácia čeliť v produkcii.

 

Teória 2: Macintoshova “opica”

 

Ďalšia teória hovorí, že názov pochádza z aplikácie MacOS z roku 1983 s názvom “The Monkey”. Tím pracujúci na prvom počítači Macintosh chcel skrátka nájsť spôsob, ako otestovať svoj stroj.

Usúdili, že ak budú mať opicu, ktorá bude zúrivo biť do klávesov a pohybovať myšou, pomôže im to otestovať odolnosť počítača. Keďže nemali po ruke živú opicu, vytvorili aplikáciu, ktorá dokáže simulovať takýto spôsob používania, a nazvali ju “Opica”.

 

Prečo je testovanie opíc dôležité?

objasnenie niektorých nejasností v oblasti automatizácie testovania softvéru

Dôležitým dôvodom, prečo je opičie testovanie dôležité, je to, že pomáha tímom odhaliť okrajové prípady alebo neočakávané správanie v aplikácii. Ide o to, že vývojári môžu popri tradičných metódach používať aj opičie testovanie, aby získali lepší prehľad o tom, ako bude aplikácia prijatá v praxi.

Ani komplexné testovanie produktu nemôže konkurovať desiatkam tisíc alebo viac používateľov, ktorí sa aplikácii venujú dlhodobo. V malom percente týchto prípadov používatelia požiadajú aplikáciu, aby urobila niečo neočakávané. Odhalenie všetkých týchto scenárov prostredníctvom testovacích prípadov je takmer nemožné.

Monkey testing sa snaží pokryť tieto takmer náhodné scenáre. Keď vývojári vytvárajú testovací prípad, majú tendenciu dôverne poznať aplikáciu. Chápu, aké sú ciele používateľov, a vedia, akú postupnosť interakcií by mali použiť, aby niečo v aplikácii dosiahli.

Náhodný výber týchto vstupov znamená, že aplikácia sa testuje spôsobmi, ktoré vývojári nezohľadnili. Celkovo to zvyšuje celkovú odolnosť a trvanlivosť softvéru a zabezpečuje, že môže vyraziť do sveta a čeliť nepredvídateľnosti širokého spektra používateľov bez toho, aby došlo k jeho zrúteniu.

 

Kedy by ste mali použiť opičie testovanie?

kontrolný zoznam uat, nástroje na testovanie webových aplikácií, automatizácia a ďalšie

Opičie testovanie je vynikajúcou doplnkovou testovacou technikou. Jeho najväčšia výhoda spočíva v schopnosti nájsť neočakávané chyby, ktoré by tradičné metódy testovania softvéru neodhalili. Preto je najlepšie, keď sa používa spolu s metódami, ako sú:

Vývojári zvyčajne používajú opičie testovanie na začiatku testovacieho procesu. Je to užitočné najmä vtedy, keď chýbajú preddefinované testovacie plány, z ktorých by sa dalo čerpať.

 

Ako sa vykonáva testovanie opíc?

30 najpopulárnejších nástrojov a softvéru RPA (robotická automatizácia procesov)

V nie tak dávnej minulosti sa testovanie opíc vykonávalo ručne. Testujúci mali za úlohu stláčať tlačidlá, zadávať text, vyberať objekty a podobne, aby sa zistilo, ako systém odolá netradičným vstupom. Sú tu zjavné problémy. Po prvé, je to dosť časovo náročné. Po druhé, je len malá záruka, že tieto opatrenia pokryjú všetky prípady.

 

Príklady manuálneho testovania opíc

Tu je niekoľko príkladov, ako sa vykonáva manuálne testovanie opíc. Môže vám tiež poskytnúť predstavu o tom, čo sa automatizované testovanie opíc snaží simulovať.

  • Tester prechádza webovú lokalitu klikaním na náhodné odkazy, aby zistil, či môžu spôsobiť pád aplikácie alebo viesť na neočakávané stránky.
  • Tester zadáva náhodné texty do poľa formulára, aby zistil, ako aplikácia reaguje.
  • Tester ťahá a púšťa ikony a objekty, aby zistil, či sa správajú podľa očakávania alebo či sa objavia nežiaduce výsledky.

 

Rôzne typy testovania opíc

testovanie automatizácie webových aplikácií

Existujú tri hlavné typy opičích testov, ktoré vývojári používajú na zistenie odlišných informácií o odolnosti svojich aplikácií.

 

1. Testovanie hlúpych opíc

 

IS YOUR COMPANY IN NEED OF

ENTERPRISE LEVEL

TASK-AGNOSTIC SOFTWARE AUTOMATION?

Testovanie po opici opisuje prístup, pri ktorom tester nevie nič o testovanej aplikácii. Namiesto toho je tester požiadaný, aby sa v systéme pohyboval úplne neznalý pracovného postupu, stláčal tlačidlá, zadával text a podobne. Táto technika môže pomôcť odhaliť významné chyby, o ktorých vývojári nevedia.

 

2. Testovanie inteligentných opíc

 

Pri testovaní pomocou inteligentnej opice vie tester niečo o aplikácii a jej cieľoch a dokonca má podrobné informácie o tom, ako funguje. Tento proces tiež využíva cielenejší typ náhodného vstupu, ktorý je navrhnutý tak, aby aplikáciu posunul za určité hranice. Použitie tohto prístupu je vhodné na záťažové testovanie aj testovanie záťaže.

 

3. Brilantné testovanie opíc

 

Brilantné testovanie opíc je ďalšou úrovňou testovania inteligentných opíc. Tester má rozsiahle a komplexné znalosti o aplikácii a je vybraný na základe týchto znalostí. Toto prehliadnutie môže testerovi pomôcť odhaliť množstvo chýb, pretože by mal pochopiť produkt z pohľadu používateľa.

 

Výhody a nevýhody testovania na opiciach

Výzvy-testovanie záťaže

Skôr ako sa rozhodnete použiť techniku opičieho testovania, musíte pochopiť jej výhody a nevýhody.

 

Výhody testovania na opiciach

 

1. Vyhľadávanie vzácnych alebo skrytých chýb

Azda najpresvedčivejším prínosom opičieho testovania je schopnosť tejto techniky odhaliť chyby, nedostatky alebo správanie, ktoré by inak zostali nepovšimnuté. Nájsť tieto okrajové prípady je náročné pomocou tradičných testovacích techník, preto je opičie testovanie spoľahlivým spôsobom testovania pádov, poškodení údajov a všetkého, čo ohrozuje stabilitu aplikácie.

 

2. Zabezpečuje robustnosť

Monkey testing je určený na zistenie, ako aplikácia reaguje na nepredvídateľné podmienky, ktorým bude čeliť počas reálneho používania. Keď sa aplikácia dostane do rúk používateľa, bude mať za následok množstvo rôznych vstupov, ktoré vývojári nemôžu predvídať. Opičie testovanie napodobňuje túto situáciu, čo vedie k spoľahlivejším zostavám.

 

3. Nákladová efektívnosť

V porovnaní s inými typmi testovania je testovanie na opiciach veľmi nákladovo efektívne. Dôvodov je niekoľko. Po prvé, nemusíte stráviť veľa času navrhovaním prípadov použitia pre vašu aplikáciu. Softvérové nástroje na testovanie opíc sú z veľkej časti automatizované, čo vývojárom uvoľňuje čas na iné úlohy a šetrí peniaze.

 

4. Všestrannosť

Jednou z najlepších vecí na opičom testovaní je, že testy môžu vykonávať ľudia bez technického vzdelania. V niektorých prípadoch je skutočne lepšie mať niekoho, kto je úplne zelený. Navyše sa tieto testy dajú pomerne jednoducho nastaviť, čo opäť znižuje závislosť od kvalifikovaných inžinierov.

 

5. Včasné zisťovanie chýb

Hľadanie a riešenie chýb na začiatku životného cyklu vývoja šetrí čas v budúcnosti. Opičie testovanie vnáša do testovania istú úroveň náhodnosti, ktorá vám môže pomôcť nájsť chyby v kóde, pričom ich možno ľahko opraviť.

 

Nevýhody testovania opíc

 

1. Pokrytie

Hoci opičie testovanie môže viesť k lepšiemu pokrytiu testov, chýba mu plánovitosť a strategická dôkladnosť iných typov testovania. Keďže aplikáciu zasypávate náhodnými vstupmi, pri hľadaní chýb ste v podstate vydaní napospas chaosu. To neznamená, že nenájde všetko, ale bez jasnej a vopred definovanej stratégie si nemôžete byť stopercentne istí, že ste zachytili všetko.

 

2. Obmedzené aplikácie

Opičie testovanie nie je vhodné pre každý typ aplikácie. Je skvelý pre komplexné aplikácie s množstvom rôznych funkcií a vlastností, ktoré majú predovšetkým potenciál pre neočakávané interakcie používateľa. Programy, ktoré ponúkajú rigidnejšie a predvídateľnejšie funkcie, majú z týchto testov menší úžitok.

 

3. Časovo náročné

Manuálne testovanie opíc je časovo veľmi náročné. Vyžaduje si veľa interakcií s modulmi a softvérom, pričom nie je zaručené, že sa pri každej relácii objavia chyby. Tento proces môžete automatizovať, čím ušetríte veľa času a zdrojov.

 

4. Falošne pozitívne výsledky

Vzhľadom na chaotickú alebo náhodnú povahu opičieho testovania môžu niektoré vstupy simulovať scenáre, ktoré sa počas reálneho používania výrobku nevyskytnú. Táto situácia môže viesť k vytváraniu falošne pozitívnych výsledkov, čo vedie programátorov k odstraňovaniu problémov, ktoré nie sú potrebné.

 

Čo je to testovanie chaosu na opici?

Čo je to testovanie chaosu?

Testovanie chaosu je technika softvérového inžinierstva, ktorá využíva kontrolované a zámerné experimenty zamerané na narušenie systému (a dokonca aj na vyvolanie zlyhania) s cieľom posúdiť jeho odolnosť a schopnosť obnovy.

Myšlienka zámerného rozbitia systému s cieľom zabezpečiť jeho odolnosť je v oblasti vývoja softvéru celkom bežná a tieto metódy zvyčajne vedú k zostavám, za ktorými si inžinieri môžu stáť.

V roku 2008 sa populárna streamovacia služba Netflix po trojdňovom poškodení databázy rozhodla prejsť na webové služby Amazon (AWS). Cieľom bolo vyhnúť sa jednotlivým bodom zlyhania a znížiť problémy so škálovateľnosťou vyplývajúce z rozširovania ich služieb.

Tím zaviedol testovanie chaosu na testovanie inštancií pre verejnosť na infraštruktúre AWS. Výhody boli dvojaké:

  1. Tento proces odhalil nedostatky, ktoré mohli inžinieri spoločnosti Netflix odstrániť
  2. To inšpirovalo tím k vytvoreniu automatizovaných mechanizmov obnovy pre ich službu.

Testovanie opíc chaosu je súčasťou inžinierstva chaosu. Používa sa na testovanie odolnosti systému voči poruchám a jeho schopnosti udržať stabilitu a výkon aj pri neočakávanom zlyhaní jednotlivých komponentov.

Hoci súvisí s testovaním na opiciach, je to odlišná technika.

 

Testovanie opíc vs. testovanie goríl

Testovanie opíc vs. testovanie goríl

Možno ste už počuli aj o koncepte Gorilla testing pri vývoji softvéru. Hoci obe techniky majú názvy primátov, majú mnoho podobností a rozdielov. Pozrime sa, čo je to testovanie Gorila a kde sa dá použiť.

Testovanie Gorila sa považuje za štruktúrovanejšiu verziu testovania opice. V porovnaní s tým sa opičie testovanie často používa v počiatočných fázach testovania, keď nie sú k dispozícii formálne testovacie prípady. Na druhej strane, pri testovaní Gorilla sa používa automatizovaný nástroj alebo skript na generovanie náhodných vstupov pre softvérovú aplikáciu.

Testovanie Gorilla je rýchle a oveľa efektívnejšie ako manuálne testovanie opicami. Ponúka široké pokrytie a je to vynikajúci spôsob, ako nájsť poruchy, ktoré je potrebné vyriešiť. Najlepšie sa však používa pre aplikácie s presne vymedzenými hranicami alebo na dôkladné testovanie konkrétneho modulu.

Testovanie opíc aj goríl má svoje miesto v modernom testovaní vývoja softvéru. Ich pochopenie je kľúčom k použitiu správneho prístupu v správnom priestore.

 

IS YOUR COMPANY IN NEED OF

ENTERPRISE LEVEL

TASK-AGNOSTIC SOFTWARE AUTOMATION?

Aký je najlepší nástroj na testovanie opíc?

najlepšie nástroje na testovanie opíc

Softvér na testovanie opíc sa stal nevyhnutnou súčasťou súboru nástrojov moderného vývojára. Existuje však niekoľko možností. Ktorý je teda najlepší nástroj na testovanie opíc? Tu je niekoľko z nich, o ktorých by ste mali vedieť.

 

1. ZAPTEST

 

ZAPTEST je výkonný
bezplatný a podnikový nástroj na automatizáciu testovania softvéru
ktorý podporuje širokú škálu techník automatizácie testovania vrátane testovania opíc. Medzi funkcie ZAPTEST, ktoré pomáhajú pri testovaní opíc, patria:

 

  • Nahrávanie skriptov bez kódu: Tímy môžu zaznamenávať interakcie používateľov a konvertovať ich na testovací kód.
  • Generovanie vstupov: ZAPTEST uľahčuje generovanie náhodných vstupov, čo je základným prvkom testovania opíc.
  • Robustné vykazovanie: ZAPTEST ponúka výkonné možnosti reportovania, ktoré vám pomôžu zdokumentovať vaše testy

 

Samozrejme, tieto funkcie sú len poškriabaním povrchu možností ZAPTEST-u pre širokú škálu testovacích techník vrátane opičích testov. Vďaka integrácii WebDriveru, funkciám umelej inteligencie a ZAPTEST CoPilot môžu tímy zažiť budúcnosť testovania softvéru na jednom mieste.

Používatelia ZAPTEST Enterprise navyše získajú prístup k špecializovanému expertovi ZAP na plný úväzok a neobmedzený počet licencií, a to všetko za predvídateľnú fixnú cenu.

 

2. Appium

Appium je nástroj s otvoreným zdrojovým kódom. Môžete ho používať pre systém Android aj iOS. Umožňuje používateľom automatizovať interakcie mobilných aplikácií a má možnosti opičieho testovania. Vývojári môžu napodobňovať širokú škálu reakcií používateľského rozhrania, ako je zadávanie textu, klikanie, ťukanie a posúvanie.

Appium je síce skvelý nástroj pre mobilných vývojárov, ale chýbajú mu možnosti testovania počítačov a webových stránok.

 

3. Opičí test

Monkey Test Je to cloudová testovacia platforma s celým radom testovacích funkcií, medzi ktoré patrí aj testovanie na opici. Hoci je Monkey Test It používateľsky veľmi prívetivý, možno mu chýba výkon konkurenčných nástrojov.

Ďalšími nevýhodami je, že by mohol vyzerať elegantnejšie a byť vybavený lepšou dokumentáciou. Niektorí používatelia sa navyše sťažovali na nepresné výsledky testov. Napriek tomu ide o jednoduchý program s nízkou cenou, takže od neho nemôžete očakávať svet.

 

4. MonkeyTestJS

MonkeyTestJS je austrálsky nástroj s otvoreným zdrojovým kódom založený na JavaScripte, ktorý je určený len pre webové aplikácie. Je pomerne jednoduchý, ale svoju úlohu zvládne viac než dobre. Tento nástroj umožňuje vývojárom simulovať interakcie medzi používateľom a webovou aplikáciou, ako sú kliknutia, odoslanie formulára, vstupy z klávesnice a ďalšie.

Nevýhodou tohto nástroja je samozrejme to, že je k dispozícii len pre webové aplikácie. Stojí však za to, aby ste ho mali vo svojej výbave.

 

Aký je najlepší špecializovaný nástroj na testovanie opíc systému Android?

 

Existuje niekoľko dobrých možností pre vývojárov, ktorí chcú do testovania svojich aplikácií pre Android vniesť trochu chaosu. Pozrime sa na dve.

 

1. Cvičiteľ používateľského rozhrania/aplikácie Monkey pre Android

UI/Application Exerciser Monkey pre Android je nástroj príkazového riadka, ktorý umožňuje vývojárom posielať pseudonáhodné vstupy alebo udalosti do zariadení so systémom Android aj do emulácií. Tento nástroj sa spúšťa v prostredí Android Debug Bridge.

 

2. MonkeyRunner pre Android

MonkeyRunner pre Android je populárny nástroj na testovanie opíc pre Android. Tento softvér je rozhranie API, ktoré umožňuje vývojárom písať programy, ktoré emulujú alebo ovládajú zariadenie so systémom Android. Je to tiež dobrá voľba pre funkčné aj jednotkové testovanie.

Obe tieto aplikácie sú dobrými možnosťami. Sú však pomerne technické, čo nebude vyhovovať všetkým tímom.

 

Malo by byť testovanie opíc automatizované?

Automatické testovanie záťaže

Jedným z najväčších problémov manuálneho testovania opíc je jeho časová náročnosť. Ďalšia vec, ktorú by ste si mali uvedomiť, je, že pre niekoľko testerov je ťažké skutočne simulovať rôzne interakcie, ktoré môže mať široká základňa používateľov s konkrétnou aplikáciou.

Na prvý pohľad nás teda zaujmú tri nevýhody. Manuálne testovanie opíc je:

  • Časovo náročné
  • Drahé
  • Potenciálne nedostatočné pokrytie

Všetky tieto problémy rieši automatizovaný nástroj na testovanie opíc.

 

Je ZAPTEST tou správnou voľbou pre vaše potreby testovania opíc?

 

Monkey testing je dobrá technika, ktorú by ste mali mať v repertoári testovania, najmä ak navrhujete komplexné aplikácie. Nákup špecializovaného softvéru na testovanie opíc je však nákladný.


ZAPTEST
je flexibilný a výkonný
nástroj na automatizáciu testovania v plnom rozsahu.
Je vysoko prispôsobiteľný a umožňuje vývojárom aj netechnickým tímom vytvárať a navrhovať nekonečné množstvo techník testovania softvéru vrátane opičieho testovania.

Opičie testy sú skvelou voľbou, ak sa doplnia inými typmi testov. ZAPTEST ponúka všetko pod jednou strechou a navyše vysokokvalitné nástroje RPA.

 

Záverečné myšlienky

Softvér na testovanie opíc poskytuje vývojárom netradičný spôsob testovania ich aplikácií. Sila tejto techniky spočíva v jej schopnosti simulovať nespočetné množstvo nepredvídateľných spôsobov, akými môže používateľ pracovať so softvérom. Stručne povedané, opičie testovanie poskytuje pokrytie, ktoré by bolo ťažké dosiahnuť pomocou plánu testov.

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