fbpx

Enamik tarkvara testimise liike kasutab hoolikalt määratletud testiplaani, et tagada katvus. Kuigi need parameetrid hõlmavad paljusid tarkvara kasutamise võimalusi, ei jäljenda need siiski alati sellise kasutaja käitumist, kes ei ole rakendusega tuttav ja üritab sellega lihtsalt uurivalt suhelda: Sissepääs ahvide testimisele.

Selles artiklis vaatleme kõike, mis puudutab ahvide testimist, sealhulgas ahvide testimise tarkvara, protsesse, tüüpe, lähenemisviise ja muud.

 

Mis on ahvide testimine?

Inkrementaalne testimine tarkvara testimisel - süvitsi tutvumine, mis see on, tüübid, protsess, lähenemisviisid, tööriistad ja muud!

Ahvide testimine on üha populaarsem tarkvara testimise meetod. See hõlmab juhuslike sisendite saatmist rakendusse, et simuleerida kasutajaliidese interaktsiooni ettearvamatust.

Eesmärk on leida vigu või tõrkeid, mida võib olla raske tuvastada eelnevalt määratletud testjuhtumitega. Ahvitest imiteerib seda, kuidas inimene, kellel puuduvad kogemused või teadmised rakendusest, võib juhuslikult uurida tarkvara.

See tehnika on hea valik nii
koormus
ja
stressitestimiseks
rakendused. Tegelikult pakuvad testid pidevaid juhuslikke sisendeid, et üritada rakendust rikkuda.

Ahvide katsetamisel on palju sarnasusi ja
ad hoc testimine
eelkõige nende juhuslikkus ja testikavale mitte tuginemine. Siiski on nende kahe vahel piisavalt erinevusi, et pidada neid erinevateks lähenemisviisideks.

Kuigi mõned arendajad väidavad, et ahvitestimine on üks ad hoc testimise liike, on üks oluline erinevus nende kahe vahel see, et ahvitestimist võivad teostada inimesed, kes ei tunne rakendust üldse.

Ahvide testimine seisneb selles, et testiplaani ei ole. Tegemist on juhuslike sisendite sisestamisega, mille eesmärk on tarkvara kokkuvarisemine.

 

Miks nimetatakse seda ahvide testimiseks?

alfa-testimine vs. beetatestimine

Ei ole üksmeelt selles osas, miks seda tehnikat nimetatakse ahvide testimiseks. Nime taga on siiski mõned veenvad teooriad.

 

Teooria 1: Lõpmatu ahvi teoreem

 

Esimese teooria kohaselt on nimi seotud lõpmatu ahvi teoreemiga, mis on metafoor, mida kasutatakse statistilise tõenäosuse arutamiseks. Lühidalt öeldes väidab see, et kui ahv istuks kirjutusmasina ees ja vajutaks lõputu aja jooksul suvalisi klahve, saaks ta mingil hetkel valmis William Shakespeare’i teosed.

Selle mõte on, et ahvide testimine simuleerib neid juhuslikke klahvimasinate mässamisi ja piisava ajaga katab see kõik võimalused, millega rakendus tootmises kokku puutub.

 

Teooria 2: Macintoshi “The Monkey”

 

Teine teooria on, et nimi pärineb 1983. aasta MacOS-rakendusest nimega “The Monkey”. Lühidalt öeldes soovis esimese Macintosh-arvuti kallal töötav meeskond leida viisi, kuidas oma masinat stressitestida.

Nad arvasid, et kui nad lasevad ahvil meeletult klahve lüüa ja hiirt liigutada, aitab see neil testida arvuti vastupidavust. Kuna neil ei olnud elusat ahvi käepärast, ehitasid nad rakenduse, mis simuleeris sellist kasutamist, ja nimetasid selle “The Monkey”.

 

Miks on ahvide testimine oluline?

tarkvara testimise automatiseerimise segaduse selgitamine

Suur põhjus, miks ahvide testimine on oluline, on see, et see aitab meeskondadel avastada rakenduses esinevaid äärmuslikke juhtumeid või ootamatuid käitumisviise. Idee on selles, et arendajad saavad traditsiooniliste meetodite kõrval kasutada ka ahvitestimist, et saada paremat ettekujutust sellest, kuidas rakendus looduses vastu võetakse.

Isegi toote põhjalik testimine ei suuda konkureerida kümnete tuhandete või enamate kasutajate pikaajalise rakendusega tegelemisega. Väikesel protsendil neist juhtudest paluvad kasutajad rakendusel teha midagi ootamatut. Kõigi nende stsenaariumide avastamine testjuhtumite abil on peaaegu võimatu.

Ahvide testimine püüab katta neid peaaegu juhuslikke stsenaariume. Kui arendajad koostavad testjuhtumit, on neil tavaliselt rakendusest põhjalikud teadmised. Nad mõistavad, millised on kasutaja eesmärgid, ja teavad, milline on parim interaktsioonide järjestus, mida nad peaksid rakenduses kasutama, et midagi saavutada.

Nende sisendite juhuslikuks muutmine tähendab, et rakendust testitakse viisil, millega arendajad ei ole arvestanud. Kokkuvõttes suurendab see tarkvara üldist vastupidavust ja vastupidavust ning tagab, et see võib minna maailma ja seista silmitsi paljude kasutajate ettearvamatusega, ilma et see kokku kukuks.

 

Millal peaksite kasutama ahvide testimist?

kontrollnimekiri uat, veebirakenduste testimise vahendid, automatiseerimine ja muu

Ahvide testimine on suurepärane täiendav testimismeetod. Selle suurim eelis on võime leida ootamatuid vigu, mida traditsiooniliste tarkvaratesti meetoditega ei avastataks. Seetõttu on see parim, kui seda kasutatakse koos selliste meetoditega nagu:

Tavaliselt kasutavad arendajad testimise käigus varakult ahvide testimist. See on eriti kasulik siis, kui puuduvad eelnevalt määratletud testikavad, millele tugineda.

 

Kuidas toimub ahvide testimine?

Top 30 populaarseimat RPA (robotiseeritud protsesside automatiseerimise) tööriistu ja tarkvara

Mitte nii kauges minevikus viidi ahvide testimine läbi käsitsi. Testijad pidid vajutama nuppe, sisestama teksti, valima objekte jne, et näha, kuidas süsteem talub ebatavalisi sisendeid. Siin on ilmselgeid probleeme. Esiteks on see üsna aeganõudev. Teiseks on vähe garantiid, et need meetmed katavad kõik võimalused.

 

Manuaalse ahvide testimise näited

Siin on mõned näited sellest, kuidas manuaalset ahvide testimist teostatakse. See võib anda teile ka ettekujutuse sellest, mida püütakse simuleerida automatiseeritud ahvitestimisega.

  • Testija navigeerib veebisaidil, klõpsates juhuslikel linkidel, et näha, kas need võivad rakenduse kokku kukutada või viia ootamatutele lehekülgedele.
  • Testija sisestab juhuslikke tekste vormi väljale, et näha, kuidas rakendus reageerib.
  • Testija tõmbab ja laseb ikoonid ja objektid, et näha, kas need käituvad ootuspäraselt või tekitavad soovimatuid tulemusi.

 

Erinevad ahvide testimise tüübid

veebirakenduse automatiseerimise testimine

On olemas kolme peamist tüüpi ahviteste, mida arendajad kasutavad, et leida erinevat teavet oma rakenduste vastupidavuse kohta.

 

1. Rumala ahvi testimine

 

IS YOUR COMPANY IN NEED OF

ENTERPRISE LEVEL

TASK-AGNOSTIC SOFTWARE AUTOMATION?

Dumb monkey testing kirjeldab lähenemisviisi, mille puhul testija ei tea testitavast rakendusest midagi. Selle asemel palutakse testijal täiesti teadmatuses tööprotsessist ringi torkida, vajutada nuppe, sisestada teksti jne. See tehnika võib aidata paljastada olulisi puudusi, millest arendajad ei ole teadlikud.

 

2. Tarkade ahvide testimine

 

Nutika ahvi testimise puhul teab testija natuke rakendusest ja selle eesmärkidest ning tal on isegi üksikasjalik teave selle toimimise kohta. Selles protsessis kasutatakse ka sihipärasemat tüüpi juhuslikku sisendit, mis on mõeldud rakenduse teatud piiride ületamiseks. Selle lähenemisviisi kasutamine on hea nii stressi- kui ka koormustesti jaoks.

 

3. Briljantne ahvi testimine

 

Briljantne ahvide testimine on järgmine tase arukate ahvide testimisest. Testijal on tugevad ja põhjalikud teadmised rakendusest ning ta valitakse nende teadmiste põhjal. See tähelepanelikkus võib aidata testijal palju vigu avastada, sest ta peaks mõistma toodet kasutaja vaatenurgast.

 

Ahvide testimise plussid ja miinused

väljakutsed-koormuse testimine

Enne kui otsustate kasutada ahvide testimise tehnikat, peate mõistma selle plusse ja miinuseid.

 

Ahvide testimise eelised

 

1. Haruldaste või varjatud vigade leidmine

Võib-olla on ahvide testimise kõige kaalukam eelis see, et see tehnika võimaldab avastada vigu, defekte või käitumist, mis muidu võivad jääda avastamata. Nende äärmuslikumate juhtumite leidmine on traditsiooniliste testimismeetoditega keeruline, seega on ahvide testimine kindel viis, kuidas testida krahhide, andmekorruptsioonide ja kõige muu, mis ohustab rakenduse stabiilsust.

 

2. See tagab töökindluse

Ahvide testimine on mõeldud selleks, et näha, kuidas rakendus reageerib ettearvamatutele tingimustele, millega see reaalses kasutuses kokku puutub. Kui rakendus pannakse kasutaja kätte, tekib palju erinevaid sisendeid, mida arendajad ei suuda ette näha. Ahvide testimine jäljendab seda olukorda, mis viib usaldusväärsemate ehitiste valmimiseni.

 

3. Kulutõhusus

Võrreldes teiste testimisviisidega on ahvide testimine väga kuluefektiivne. Sellel on mitu põhjust. Esiteks ei pea te kulutama palju aega oma rakenduse kasutusjuhtumite kavandamisele. Järgmiseks on ahvide testimise tarkvaravahendid suures osas automatiseeritud, mis vabastab arendajate aja teiste ülesannete jaoks, säästes teile raha.

 

4. Mitmekülgsus

Üks parimaid asju ahvide testimise juures on see, et teste saavad teha inimesed, kellel puudub tehniline taust. Mõnel juhul on tõepoolest parem, kui keegi on täiesti roheline. Veelgi enam, neid teste on üsna lihtne üles seada, mis omakorda vähendab sõltuvust kvalifitseeritud inseneridest.

 

5. Varajane vigade tuvastamine

Vigade leidmine ja lahendamine arenduse elutsükli varases etapis säästab hiljem aega. Ahvide testimine lisab testimisse juhuslikkuse taseme, mis aitab teil leida oma koodis puudusi, kuigi seda on lihtne parandada.

 

Ahvide testimise puudused

 

1. Katvus

Kuigi ahvitestimine võib parandada testide katvust, ei ole see nii planeeritud ja strateegiliselt põhjalik kui teised testimisviisid. Kuna te paiskate rakendust juhuslike sisenditega, olete vigade leidmisel tegelikult kaose armu all. See ei tähenda, et see ei leia kõike, kuid ilma selge ja eelnevalt määratletud strateegiata ei saa olla 100% kindel, et kõik on tabatud.

 

2. Piiratud rakendused

Ahvide testimine ei sobi igat tüüpi rakenduste jaoks. See sobib suurepäraselt keeruliste rakenduste jaoks, millel on palju erinevaid funktsioone ja funktsioone, mis võivad põhjustada ootamatuid kasutajakäike. Programmid, mis pakuvad jäikemaid ja prognoositavamaid funktsioone, saavad nendest testidest vähem kasu.

 

3. Ajamahukas

Manuaalne ahvide testimine on väga aeganõudev. See nõuab palju suhtlemist moodulite ja tarkvaraga, ilma et oleks tagatud, et iga sessiooniga avastatakse vead. Loomulikult saate protsessi automatiseerida, mis säästab märkimisväärselt aega ja ressursse.

 

4. Valepositiivsed tulemused

Kuna ahvitestimine on kaootiline või juhuslik, võivad mõned sisendid simuleerida stsenaariume, mis toote tegeliku kasutamise ajal ei juhtu. Selline olukord võib põhjustada valepositiivsete tulemuste tekkimist, mis sunnib kodeerijaid parandama probleeme, mis ei ole vajalikud.

 

Mis on kaose ahvide testimine?

mis on kaosemängude testimine?

Kaose testimine on tarkvaratehnika, mille puhul kasutatakse kontrollitud ja tahtlikke katseid, mille eesmärk on süsteemi häirida (ja isegi põhjustada tõrkeid), et hinnata selle vastupidavust ja taastumisvõimet.

Süsteemi tahtliku purustamise idee, et tagada vastupidavus, on tarkvaraarenduse valdkonnas üsna levinud ja nende meetodite tulemuseks on tavaliselt ehitised, mille taga insenerid saavad seista.

2008. aastal otsustas populaarne voogedastusteenus Netflix pärast kolmepäevast andmebaasi rikkumist minna üle Amazon Web Services’ile (AWS). Eesmärgiks oli vältida ühekordseid tõrkepunkte ja vähendada teenuse laiendamisest tulenevaid skaleeritavusprobleeme.

Meeskond rakendas AWSi infrastruktuuris avalikult kasutatavate instantside testimiseks kaose ahvide testimist. Kasu oli kahekordne:

  1. Protsess paljastas nõrkused, mida Netflixi insenerid said parandada
  2. See inspireeris meeskonda looma oma teenuse jaoks automaatsed taastamismehhanismid.

Kaose ahvide testimine on osa Chaos Engineeringist. Seda kasutatakse süsteemi veatolerantsuse ja selle võime testimiseks, et säilitada stabiilsus ja jõudlus isegi siis, kui üksikud komponendid ootamatult välja langevad.

Kuigi see on seotud ahvide testimisega, on see siiski omaette tehnika.

 

Ahvide testimine vs. Gorilla testimine

Ahvide testimine vs. gorilla testimine

Võib-olla olete kuulnud ka Gorilla testimise kontseptsioonist tarkvaraarenduses. Kuigi mõlemal tehnikal on primaatide nimed, on neil palju sarnasusi ja erinevusi. Uurime, mis on Gorilla testimine ja kus seda saab kasutada.

Gorilla testimist peetakse ahvide testimise struktureeritumaks versiooniks. Seevastu ahvitestimist kasutatakse sageli testimise varajases etapis, kui puuduvad formaalsed testjuhtumid. Gorilla testimine seevastu kasutab automatiseeritud tööriista või skripti, et genereerida juhuslikke sisendeid tarkvararakendusele.

Gorilla testimine on kiire ja palju tõhusam kui käsitsi tehtud ahvide testimine. See pakub laiaulatuslikku katvust ja on suurepärane võimalus leida lahendamist vajavaid tõrkeid. Siiski on seda kõige parem kasutada hästi määratletud piiridega rakenduste puhul või konkreetse mooduli põhjalikuks testimiseks.

Nii ahvide kui ka gorillade testimisel on oma koht kaasaegses tarkvaraarenduse testimises. Nende mõistmine on võti, et kasutada õiget lähenemist õiges ruumis.

 

IS YOUR COMPANY IN NEED OF

ENTERPRISE LEVEL

TASK-AGNOSTIC SOFTWARE AUTOMATION?

Milline on parim ahvide testimise vahend?

parimad ahvide testimise vahendid

Ahvide testimistarkvara on muutunud kaasaegse arendaja tööriistakomplekti oluliseks osaks. Siiski on olemas mõned võimalused. Milline on siis parim ahvide testimise vahend? Siin on mõned neist, mida peate teadma.

 

1. ZAPTEST

 

ZAPTEST on võimas
tasuta ja ettevõtte tarkvara testimise automatiseerimise vahend
mis toetab mitmesuguseid testide automatiseerimistehnikaid, sealhulgas ahvide testimist. Mõned ZAPTESTi funktsioonid, mis aitavad ahvide testimisel, hõlmavad järgmist:

 

  • Koodita skripti salvestamine: Meeskonnad saavad salvestada kasutaja interaktsioonid ja teisendada need testkoodiks.
  • Sisendi genereerimine: ZAPTEST hõlbustab juhusliku sisendi genereerimist, mis on ahvide testimise põhielement.
  • Usaldusväärne aruandlus: ZAPTEST pakub võimsaid aruandlusvõimalusi, mis aitavad teil dokumenteerida oma teste.

 

Loomulikult on need funktsioonid vaid kriimustuseks ZAPTESTi võimalustest mitmesuguste testimismeetodite, sealhulgas ahvitestide puhul. Tänu WebDriveri integratsioonile, tehisintellekti funktsioonidele ja ZAPTEST CoPilotile saavad meeskonnad kogeda tarkvara testimise tulevikku ühes kohas.

Lisaks sellele saavad ZAPTEST Enterprise’i kasutajad juurdepääsu täiskohaga ZAPi eksperdile ja piiramatutele litsentsidele ning seda kõike prognoositava püsikulu eest.

 

2. Appium

Appium on avatud lähtekoodiga tööriist. Saate seda kasutada nii Androidi kui ka iOSi jaoks. See võimaldab kasutajatel automatiseerida mobiilirakenduste koostoimimist ja omab ahvide testimisvõimalusi. Arendajad saavad jäljendada mitmesuguseid kasutajaliidese reaktsioone, nagu teksti sisestamine, klõpsamine, koputamine ja kerimine.

Kuigi Appium on suurepärane vahend mobiiliarendajatele, puuduvad tal võimalused töölaua- ja veebitesti jaoks.

 

3. Monkey Test It

Monkey Test It on pilvepõhine testimisplatvorm, mis pakub mitmesuguseid testimisvõimalusi, sealhulgas ahvide testimist. Kuigi Monkey Test It on väga kasutajasõbralik, ei ole see võib-olla nii võimas kui konkureerivad tööriistad.

Muud puudused on see, et see võiks välja näha libedam ja tulla koos parema dokumentatsiooniga. Veelgi enam, mõned kasutajad on kurtnud testide ebatäpsete tulemuste üle. See tähendab, et tegemist on lihtsa ja odava programmiga, nii et te ei saa temalt maailma tippu oodata.

 

4. MonkeyTestJS

MonkeyTestJS on avatud lähtekoodiga Austraalia JavaScript-põhine tööriist, mis on loodud ainult veebirakenduste jaoks. See on küllaltki lihtne, kuid on rohkem kui võimeline seda tööd tegema. Tööriist võimaldab arendajatel simuleerida kasutaja ja veebirakenduse vahelist suhtlust, näiteks klõpsamist, vormi esitamist, klaviatuurisisestust ja muud.

Ilmselgelt on selle tööriista puuduseks see, et see on saadaval ainult veebirakenduste jaoks. Siiski tasub see oma tööriistakastis olla.

 

Milline on parim spetsiaalne Androidi ahvide testimisvahend?

 

Arendajatele, kes soovivad oma Androidi rakenduste testimisse pisut kaost tuua, on mõned head võimalused. Vaatame kahte.

 

1. Kasutajaliidese/rakenduse treener Monkey for Android

UI/Application Exerciser Monkey for Android on käsurea tööriist, mis võimaldab arendajatel saata pseudosituatsioonilisi sisendeid või sündmusi nii Androidi seadmetele kui ka emulatsioonidele. See tööriist töötab Android Debug Bridge’i kestas.

 

2. MonkeyRunner Androidile

MonkeyRunner for Android on populaarne Androidi ahvide testimisvahend. Tarkvara on API, mis võimaldab arendajatel kirjutada programme, mis emuleerivad või kontrollivad Androidi seadet. Samuti on see hea valik nii funktsionaalseks kui ka ühiktestimiseks.

Mõlemad rakendused on head valikud. Need on siiski üsna tehnilised, mis ei sobi kõigile meeskondadele.

 

Kas ahvide testimine peaks olema automatiseeritud?

Automaatne koormuse testimine

Üks suurimaid probleeme manuaalse ahvide testimisega on see, et see on väga aeganõudev. Teine asi, mida peaksite tähele panema, on see, et mõne testija jaoks on raske simuleerida erinevaid interaktsioone, mida lai kasutajate baas võib konkreetse rakendusega teha.

Nii et kolm otsest puudust hüppavad meile silma. Käsitsi ahvide testimine on:

  • Ajamahukas
  • Kallis
  • Võimalik puudulik katvus

Automaatne ahvide testimise tööriist lahendab kõik need probleemid.

 

Kas ZAPTEST on õige valik teie ahvide testimise vajaduste jaoks?

 

Ahvide testimine on hea meetod, mis peaks olema teie testimisrepertuaaris, eriti kui te kavandate keerulisi rakendusi. Spetsiaalse ahvide testimise tarkvara ostmine on aga kallis.


ZAPTEST
on paindlik ja võimas
täisfunktsionaalne testide automatiseerimise tööriist.
See on väga hästi kohandatav ja võimaldab nii arendajatel kui ka mittetehnilistel meeskondadel luua ja kujundada lõputu hulk tarkvara testimise tehnikaid, sealhulgas ahvide testimist.

Ahvide testimine on suurepärane valik, kui seda täiendatakse muud tüüpi testidega. ZAPTEST pakub kõike ühe katuse all, millele lisandub kvaliteetsed RPA-vahendid.

 

Lõplikud mõtted

Monkey testimise tarkvara pakub arendajatele ebakonventsionaalset viisi oma rakenduste testimiseks. Selle meetodi tugevus seisneb selles, et sellega on võimalik simuleerida hulgaliselt ettearvamatuid viise, kuidas kasutaja võib tarkvaraga suhelda. Lühidalt öeldes pakub ahvidega testimine katvust, mida võib olla raske saavutada testiplaaniga.

Download post as PDF

Alex Zap Chernyak

Alex Zap Chernyak

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

Get PDF-file of this post

Virtual Expert

ZAPTEST

ZAPTEST Logo