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

Dauguma programinės įrangos testavimo tipų naudoja kruopščiai apibrėžtą testavimo planą, kad užtikrintų aprėptį. Tačiau, nors šie parametrai apima daugelį programinės įrangos naudojimo atvejų, jie ne visada atkartoja naudotojo, kuris nėra susipažinęs su programa ir tiesiog bando su ja sąveikauti tiriamuoju būdu, elgesį: Įveskite beždžionių testavimą.

Šiame straipsnyje apžvelgsime visus beždžionių testavimo aspektus, įskaitant beždžionių testavimo programinę įrangą, procesus, tipus, metodus ir kt.

 

Kas yra beždžionių testavimas?

Inkrementinis testavimas programinės įrangos testavime - gilus pasinėrimas į tai, kas tai yra, tipai, procesas, požiūriai, įrankiai ir dar daugiau!

Beždžionių testavimas yra vis populiaresnis programinės įrangos testavimo metodas. Tai reiškia, kad į programą siunčiami atsitiktiniai įėjimai, siekiant imituoti nenuspėjamą naudotojo sąsajos sąveiką.

Tikslas – rasti klaidų ar gedimų, kuriuos gali būti sunku aptikti naudojant iš anksto nustatytus testavimo atvejus. “Beždžionės” testas imituoja tai, kaip asmuo, neturintis patirties ar žinių apie programą, gali atsitiktinai ištirti programinę įrangą.

Šis metodas yra geras pasirinkimas tiek
įkelti
ir
testavimui nepalankiausiomis sąlygomis.
paraiškos. Iš tikrųjų testai nuolat teikia atsitiktinius įvesties duomenis, kuriais bandoma sugadinti programą.

Yra daug panašumų tarp beždžionių testavimo ir
ad hoc testavimu
visų pirma dėl jų atsitiktinio pobūdžio ir nesiremimo bandymų planu. Tačiau tarp šių dviejų metodų yra pakankamai skirtumų, kad juos būtų galima laikyti skirtingais.

Nors kai kurie kūrėjai teigia, kad “beždžionių” testavimas yra ad hoc testavimo rūšis, vienas esminis skirtumas tarp jų yra tas, kad “beždžionių” testavimą gali atlikti žmonės, neturintys jokių žinių apie programą.

Beždžionių testavimas – tai testavimo plano neturėjimas. Tai atsitiktinių įvesties duomenų pateikimas siekiant sugriauti programinę įrangą.

 

Kodėl tai vadinama beždžionių testavimu?

alfa testavimas ir beta testavimas

Nėra vieningos nuomonės, kodėl šis metodas vadinamas bandymu su beždžionėmis. Tačiau yra keletas įtikinamų teorijų, kuriomis grindžiamas šis pavadinimas.

 

1 teorija: begalinės beždžionės teorema

 

Pirmoji teorija teigia, kad pavadinimas susijęs su begalinės beždžionės teorema – metafora, naudojama statistinei tikimybei aptarti. Trumpai tariant, teigiama, kad jei beždžionė sėdėtų prie rašomosios mašinėlės ir be galo ilgai spaudinėtų atsitiktinius klavišus, tam tikru momentu ji parašytų visus Viljamo Šekspyro kūrinius.

Idėja yra ta, kad beždžionių testavimas imituoja atsitiktinį klavišų maigymą ir, turint pakankamai laiko, aprėpia visus atvejus, su kuriais programa susidurs gamyboje.

 

2 teorija: “Macintosh” “Beždžionė”

 

Kita teorija teigia, kad pavadinimas kilo iš 1983 m. sukurtos “MacOS” programos “The Monkey”. Trumpai tariant, pirmojo “Macintosh” kompiuterio kūrėjų komanda norėjo rasti būdą, kaip išbandyti savo kompiuterį nepalankiausiomis sąlygomis.

Jie nusprendė, kad jei beždžionė įnirtingai mušinėtų klavišus ir judintų pelę, tai padėtų jiems patikrinti kompiuterio atsparumą. Jie neturėjo po ranka gyvos beždžionės, todėl sukūrė programą, galinčią imituoti tokį naudojimą, ir pavadino ją “Beždžionė”.

 

Kodėl svarbu atlikti beždžionių testavimą?

kai kurių neaiškumų programinės įrangos testavimo automatizavimo srityje išaiškinimas

Svarbi priežastis, kodėl beždžionių testavimas yra svarbus, yra ta, kad jis padeda komandoms aptikti kraštinius atvejus arba netikėtą programėlės elgesį. Kūrėjai gali naudoti beždžionių testavimą kartu su tradiciniais metodais, kad geriau suprastų, kaip programėlė bus priimta natūralioje aplinkoje.

Net ir išsamus produkto testavimas negali konkuruoti su dešimtimis tūkstančių ar daugiau naudotojų, kurie ilgą laiką naudojasi programa. Nedidele dalimi tokių atvejų naudotojai paprašys programos atlikti ką nors netikėto. Atskleisti visus šiuos scenarijus naudojant bandymų atvejus beveik neįmanoma.

Atliekant bandymus su beždžionėmis bandoma aprėpti šiuos beveik atsitiktinius scenarijus. Kūrėjai, kurdami bandomąjį atvejį, paprastai gerai išmano programėlę. Jie supranta, kokie yra naudotojų tikslai, ir žino, kokia geriausia sąveikų seka turėtų būti naudojama, kad būtų pasiektas tam tikras programos tikslas.

Atsitiktinis šių įvesties duomenų pasiskirstymas reiškia, kad programa išbandoma taip, kaip kūrėjai nenumatė. Apskritai tai padidina bendrą programinės įrangos atsparumą ir ilgaamžiškumą ir užtikrina, kad ji gali veikti pasaulyje ir susidurti su nenuspėjamais įvairių naudotojų veiksmais be sutrikimų.

 

Kada turėtumėte naudoti beždžionių testavimą?

kontrolinis sąrašas uat, žiniatinklio programų testavimo įrankiai, automatizavimas ir dar daugiau

Beždžionių testavimas yra puikus papildomas testavimo metodas. Didžiausias jos privalumas – gebėjimas rasti netikėtų klaidų, kurių nepavyktų aptikti taikant tradicinius programinės įrangos testavimo metodus. Todėl jį geriausia naudoti kartu su tokiais metodais kaip:

Paprastai kūrėjai testavimo proceso pradžioje taiko beždžionių testavimą. Tai ypač naudinga, kai trūksta iš anksto parengtų bandymų planų, kuriais būtų galima remtis.

 

Kaip atliekamas beždžionių testavimas?

30 populiariausių RPA (robotų procesų automatizavimo) įrankių ir programinės įrangos

Netolimoje praeityje bandymai su beždžionėmis buvo atliekami rankiniu būdu. Bandytojai turėjo spaudyti mygtukus, įvesti tekstą, pasirinkti objektus ir t. t., kad būtų galima patikrinti, kaip sistema atlaikys netradicinius įvesties veiksnius. Čia yra akivaizdžių problemų. Pirma, tai užima daug laiko. Antra, mažai garantijų, kad šie veiksmai apims visus galimus atvejus.

 

Rankinio beždžionių testavimo pavyzdžiai

Pateikiame keletą pavyzdžių, kaip atliekamas rankinis beždžionių testavimas. Tai taip pat gali padėti suprasti, ką siekiama imituoti automatizuotu beždžionių testavimu.

  • Bandytojas naršo svetainėje spustelėdamas atsitiktines nuorodas ir tikrina, ar jos gali sugadinti programą arba nuvesti į netikėtus puslapius.
  • Testuotojas į formos lauką įveda atsitiktinius tekstus, kad pamatytų, kaip reaguoja programa.
  • Testuotojas tempia ir meta piktogramas ir objektus, kad pamatytų, ar jie elgiasi taip, kaip tikimasi, ar sukelia nepageidaujamų rezultatų.

 

Įvairūs beždžionių testavimo tipai

žiniatinklio programų automatizavimo testavimas

Yra trys pagrindiniai beždžionių testų tipai, kuriuos kūrėjai naudoja norėdami sužinoti skirtingą informaciją apie savo programų atsparumą.

 

1. Kvailų beždžionių testavimas

 

IS YOUR COMPANY IN NEED OF

ENTERPRISE LEVEL

TASK-AGNOSTIC SOFTWARE AUTOMATION?

Testavimas “kvailomis beždžionėmis” apibūdina metodą, kai testuotojas nieko nežino apie testuojamą programą. Vietoj to testuotojo prašoma naršyti visiškai nesuvokiant darbo eigos, spaudyti mygtukus, įvesti tekstą ir pan. Šis metodas gali padėti aptikti svarbių trūkumų, apie kuriuos kūrėjai nežino.

 

2. Išmaniųjų beždžionių testavimas

 

Atlikdamas testavimą su išmaniosiomis beždžionėmis, testuotojas šiek tiek žino apie programą ir jos tikslus ir netgi turi išsamios informacijos apie jos veikimą. Šiame procese taip pat naudojama tikslingesnė atsitiktinė įvestis, skirta tam, kad programa peržengtų tam tikras ribas. Šis metodas tinka ir testavimui nepalankiausiomis sąlygomis, ir apkrovos testavimui.

 

3. Puikūs beždžionių bandymai

 

Genialių beždžionių testavimas – tai dar vienas aukštesnis lygis nei išmaniųjų beždžionių testavimas. Testuotojas turi gerų ir išsamių žinių apie taikomąją programą ir yra pasirenkamas remiantis šiomis žiniomis. Ši klaida gali padėti testuotojui aptikti daug klaidų, nes jis turėtų suprasti produktą iš naudotojo perspektyvos.

 

Bandymų su beždžionėmis privalumai ir trūkumai

iššūkiai-apkrovos-testavimas

Prieš nuspręsdami naudoti beždžionių testavimo metodą, turite suprasti jo privalumus ir trūkumus.

 

Beždžionių testavimo privalumai

 

1. Retų ar paslėptų klaidų paieška

Bene labiausiai įtikinama beždžionių testavimo nauda yra tai, kad šis metodas gali padėti atskleisti klaidas, defektus ar elgseną, kurie kitu atveju liktų nepastebėti. Tokius kraštinius atvejus rasti naudojant tradicinius testavimo metodus yra sudėtinga, todėl beždžionių testavimas yra patikimas būdas patikrinti, ar nėra gedimų, duomenų pažeidimų ir kitų pavojų programos stabilumui keliančių veiksnių.

 

2. Užtikrina patikimumą

Beždžionių testavimas skirtas patikrinti, kaip programa reaguoja į nenuspėjamas sąlygas, su kuriomis ji susiduria realaus naudojimo metu. Kai programėlė patenka į naudotojo rankas, į ją patenka daug įvairių įvesties duomenų, kurių kūrėjai negali numatyti. Beždžionių bandymai imituoja tokią situaciją, todėl galima sukurti patikimesnes konstrukcijas.

 

3. Ekonominis efektyvumas

Palyginti su kitais bandymų tipais, beždžionių bandymai yra labai ekonomiški. Tai lemia kelios priežastys. Pirma, nereikia daug laiko skirti programėlės naudojimo atvejams kurti. Be to, beždžionių testavimo programinės įrangos įrankiai dažniausiai yra automatizuoti, todėl kūrėjai gali skirti laiko kitoms užduotims ir sutaupyti pinigų.

 

4. Universalumas

Vienas geriausių beždžionių testavimo aspektų yra tai, kad testus gali atlikti žmonės, neturintys techninio išsilavinimo. Iš tiesų kai kuriais atvejais geriau turėti žmogų, kuris yra visiškai žalias. Be to, šiuos bandymus gana paprasta nustatyti, todėl vėlgi reikia mažiau kvalifikuotų inžinierių.

 

5. Ankstyvas klaidų aptikimas

Kūrimo ciklo pradžioje radus ir išsprendus klaidas, sutaupoma laiko. Testavimas beždžionėmis suteikia testavimui atsitiktinumo lygį, kuris gali padėti rasti kodo trūkumų, kol juos lengva ištaisyti.

 

Beždžionių testavimo trūkumai

 

1. Aprėptis

Nors beždžionių testavimas gali pagerinti testavimo aprėptį, jis nėra planuotas ir strategiškai kruopštus kaip kitų tipų testavimas. Iš tikrųjų, kadangi į programą siunčiate atsitiktinius įvesties duomenis, ieškodami klaidų esate priklausomi nuo chaoso malonės. Tai nereiškia, kad nerasite visko, tačiau neturėdami aiškios ir iš anksto nustatytos strategijos negalite būti 100 proc. tikri, kad viskas buvo užfiksuota.

 

2. Ribotos programos

Beždžionių testavimas tinka ne visoms taikomųjų programų rūšims. Ji puikiai tinka sudėtingoms programėlėms, turinčioms daug skirtingų funkcijų ir ypatybių, kurios, svarbiausia, gali sukelti netikėtų naudotojo sąveikų. Mažiau tikėtina, kad šie testai bus naudingi programoms, kurios siūlo griežtesnes ir labiau nuspėjamas funkcijas.

 

3. Daug laiko reikalaujantis

Rankinis beždžionių testavimas atima daug laiko. Reikia daug sąveikos su moduliais ir programine įranga, be jokios garantijos, kad per kiekvieną sesiją bus aptikta klaidų. Be abejo, šį procesą galima automatizuoti, todėl sutaupoma daug laiko ir išteklių.

 

4. Klaidingi teigiami rezultatai

Dėl chaotiško ar atsitiktinio beždžionių bandymų pobūdžio kai kurie įvesties duomenys gali imituoti scenarijus, kurie neįvyks realiai naudojant gaminį. Tokia situacija gali lemti klaidingų teigiamų rezultatų atsiradimą, todėl programuotojai gali ištaisyti problemas, kurios nėra būtinos.

 

Kas yra chaoso beždžionių testavimas?

kas yra chaoso beždžionių testavimas?

Chaoso testavimas – tai programinės įrangos inžinerijos metodas, kurį taikant atliekami kontroliuojami ir sąmoningi eksperimentai, skirti sistemai sutrikdyti (ir net sukelti gedimus), kad būtų įvertintas jos atsparumas ir gebėjimas atsistatyti.

Idėja sąmoningai sugadinti sistemą, kad būtų užtikrintas atsparumas, yra gana paplitusi programinės įrangos kūrimo srityje, ir šie metodai paprastai padeda sukurti sistemas, kurias inžinieriai gali palaikyti.

2008 m., po tris dienas trukusio duomenų bazės gedimo, populiari srautinio duomenų perdavimo paslauga “Netflix” nusprendė pereiti prie “Amazon Web Services” (AWS). Taip buvo siekiama išvengti vieno gedimo taško ir sumažinti mastelio keitimo problemas, kylančias plečiant paslaugą.

Komanda įgyvendino chaoso beždžionių testavimą, kad išbandytų viešai prieinamus AWS infrastruktūros egzempliorius. Naudos buvo dvejopos:

  1. Procesas atskleidė trūkumus, kuriuos “Netflix” inžinieriai galėjo ištaisyti
  2. Tai įkvėpė komandą sukurti automatizuotus savo paslaugos atkūrimo mechanizmus.

Chaoso beždžionių testavimas yra chaoso inžinerijos dalis. Jis naudojamas sistemos atsparumui gedimams ir jos gebėjimui išlaikyti stabilumą bei našumą net ir netikėtai sugedus atskiriems komponentams patikrinti.

Nors tai susiję su beždžionių testavimu, tai yra atskiras metodas.

 

Beždžionių ir gorilų testavimas

Bandymai su beždžionėmis ir gorilomis

Galbūt taip pat esate girdėję apie “Gorilla” testavimo koncepciją programinės įrangos kūrimo srityje. Nors abi technikos pavadintos primatų vardais, jos turi daug panašumų ir skirtumų. Panagrinėkime, kas yra “Gorilla” testavimas ir kur jis gali būti naudojamas.

“Gorilos” testavimas laikomas labiau struktūruota beždžionių testavimo versija. Palyginimui, beždžionių testavimas dažnai naudojamas ankstyvuosiuose testavimo etapuose, kai nėra oficialių testavimo atvejų. Kita vertus, atliekant “Gorilla” testavimą naudojama automatizuota priemonė arba scenarijus, skirtas atsitiktiniams įvesties duomenims programinei įrangai generuoti.

“Gorilla” testavimas yra greitas ir daug efektyvesnis nei rankinis beždžionių testavimas. Ji apima platų spektrą ir yra puikus būdas rasti gedimus, kuriuos reikia pašalinti. Tačiau geriausia jį naudoti programoms, turinčioms aiškiai apibrėžtas ribas, arba norint nuodugniai išbandyti tam tikrą modulį.

Šiuolaikiniame programinės įrangos kūrimo testavime savo vietą užima ir beždžionių, ir gorilų testavimas. Norint taikyti tinkamą metodą tinkamoje erdvėje, svarbiausia juos suprasti.

 

IS YOUR COMPANY IN NEED OF

ENTERPRISE LEVEL

TASK-AGNOSTIC SOFTWARE AUTOMATION?

Koks yra geriausias beždžionių testavimo įrankis?

geriausi beždžionių testavimo įrankiai

Beždžionių testavimo programinė įranga tapo svarbia šiuolaikinio kūrėjo įrankių rinkinio dalimi. Tačiau yra keletas galimybių. Taigi, kuris yra geriausias beždžionių testavimo įrankis? Štai keletas, apie kurias turite žinoti.

 

1. ZAPTEST

 

ZAPTEST yra galingas
nemokama ir įmonių programinės įrangos testavimo automatizavimo priemonė.
kuri palaiko įvairius bandymų automatizavimo metodus, įskaitant beždžionių testavimą. Kai kurios ZAPTEST funkcijos, padedančios atlikti beždžionių testavimą, yra šios:

 

  • Skripto įrašymas be kodo: Komandos gali įrašyti naudotojų sąveikas ir paversti jas bandymų kodu.
  • Įvesties generavimas: ZAPTEST palengvina atsitiktinių įvesties duomenų generavimą, kuris yra pagrindinis beždžionių testavimo elementas.
  • Patikimos ataskaitos: ZAPTEST siūlo galingas ataskaitų teikimo galimybes, kurios padeda dokumentuoti testus.

 

Žinoma, šios funkcijos tik atskleidžia ZAPTEST galimybes naudoti įvairius testavimo metodus, įskaitant beždžionių testus. Su “WebDriver” integracija, dirbtinio intelekto funkcijomis ir “ZAPTEST CoPilot” komandos gali išbandyti programinės įrangos testavimo ateitį vienoje vietoje.

Be to, “ZAPTEST Enterprise” naudotojai gali naudotis nuolatiniu, specialiai jiems skirtu ZAP ekspertu ir neribotais licencijų kiekiais, ir visa tai už nuspėjamą fiksuotą kainą.

 

2. Appium

“Appium” yra atvirojo kodo įrankis. Ją galite naudoti ir “Android”, ir “iOS”. Ji leidžia naudotojams automatizuoti mobiliųjų programų sąveikas ir turi beždžionių testavimo galimybes. Kūrėjai gali imituoti įvairias naudotojo sąsajos reakcijas, pavyzdžiui, teksto įvedimą, spustelėjimą, bakstelėjimą ir slinkimą.

Nors “Appium” yra puikus įrankis mobiliųjų įrenginių kūrėjams, jam trūksta darbalaukio ir žiniatinklio testavimo galimybių.

 

3. Beždžionių testas

“Monkey Test It” – tai debesų kompiuterija pagrįsta testavimo platforma su įvairiomis testavimo galimybėmis, įskaitant testavimą su beždžionėmis. Nors “Monkey Test It” labai patogi naudoti, jai galbūt trūksta konkurentų įrankių galios.

Kiti trūkumai yra tai, kad ji galėtų atrodyti sklandžiau ir turėti geresnius dokumentus. Be to, kai kurie naudotojai skundėsi dėl netikslių testų rezultatų. Vis dėlto tai paprasta programa už nedidelę kainą, todėl iš jos negalima tikėtis nieko nuostabaus.

 

4. MonkeyTestJS

“MonkeyTestJS” yra atvirojo kodo Australijos “JavaScript” pagrindu sukurta priemonė, skirta tik žiniatinklio programoms. Jis yra gana paprastas, tačiau daugiau nei tinkamas darbui atlikti. Įrankis leidžia kūrėjams imituoti naudotojo ir žiniatinklio programos sąveiką, pvz., paspaudimus, formos pateikimą, klaviatūros įvestis ir kt.

Akivaizdu, kad vienas iš įrankio trūkumų yra tas, kad jis skirtas tik žiniatinklio programoms. Tačiau verta turėti jį savo įrankių rinkinyje.

 

Koks yra geriausias specialus “Android” beždžionių testavimo įrankis?

 

Kūrėjai, norintys įnešti šiek tiek chaoso į savo “Android” programų testavimą, turi keletą gerų galimybių. Pažvelkime į dvi.

 

1. “Android” vartotojo sąsajos ir programėlių treniruoklis “Monkey

“Android” vartotojo sąsajos / programėlės treniruoklis “Monkey for Android” yra komandinės eilutės įrankis, kuriuo kūrėjai gali siųsti pseudoatsitiktinius įvesties signalus arba įvykius tiek “Android” įrenginiams, tiek emuliacijoms. Šis įrankis veikia “Android” derinimo tilto apvalkale.

 

2. “MonkeyRunner”, skirta “Android

“MonkeyRunner for Android” yra populiarus “Android” beždžionių testavimo įrankis. Ši programinė įranga yra API, leidžianti kūrėjams rašyti programas, kurios imituoja arba valdo “Android” įrenginį. Tai taip pat geras pasirinkimas tiek funkciniam, tiek vienetiniam testavimui.

Abi šios programos yra geros galimybės. Tačiau jie yra gana techniški, todėl tiks ne visoms komandoms.

 

Ar beždžionių testavimas turėtų būti automatizuotas?

Automatinis apkrovos testavimas

Viena didžiausių rankinio beždžionių testavimo problemų yra ta, kad jis užima daug laiko. Kitas dalykas, į kurį turėtumėte atkreipti dėmesį, yra tai, kad keliems bandytojams sunku iš tikrųjų imituoti įvairias sąveikas, kurias su tam tikra programa gali turėti daugybė naudotojų.

Taigi, iš karto į akis krinta trys trūkumai. Rankinis beždžionių testavimas yra:

  • Daug laiko reikalaujantis
  • Brangus
  • Galimai trūksta aprėpties

Automatizuotas beždžionių testavimo įrankis išsprendžia visas šias problemas.

 

Ar ZAPTEST yra tinkamas pasirinkimas jūsų beždžionių testavimo poreikiams?

 

“Beždžionių” testavimas yra geras testavimo metodas, ypač jei kuriate sudėtingas programas. Tačiau pirkti specialią beždžionių testavimo programinę įrangą yra brangu.


ZAPTEST
yra lankstus ir galingas
testavimo automatizavimo įrankis.
Ji labai lengvai pritaikoma ir leidžia tiek programuotojams, tiek netechnikų komandoms kurti ir projektuoti begalę programinės įrangos testavimo metodų, įskaitant beždžionių testavimą.

Bandymai su beždžionėmis yra puikus pasirinkimas, kai juos papildo kitų tipų testai. ZAPTEST siūlo viską po vienu stogu, be to aukštos kokybės RPA įrankiai.

 

Galutinės mintys

Beždžionių testavimo programinė įranga suteikia kūrėjams netradicinį būdą testuoti savo programas. Šio metodo stiprybė – galimybė imituoti daugybę nenuspėjamų būdų, kuriais naudotojas gali dirbti su programine įranga. Trumpai tariant, beždžionių testavimas užtikrina aprėptį, kurią gali būti sunku pasiekti naudojant testavimo planą.

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