Lielākajā daļā programmatūras testēšanas veidu pārklājuma nodrošināšanai tiek izmantots rūpīgi definēts testēšanas plāns. Tomēr, lai gan šie parametri aptver daudzus programmatūras lietošanas gadījumus, tie ne vienmēr atdarina lietotāja, kurš nav pazīstams ar lietojumprogrammu un vienkārši mēģina ar to mijiedarboties izpētes veidā, uzvedību: Ieviesiet pērtiķa testēšanu.
Šajā rakstā mēs apskatīsim visu, kas saistīts ar pērtiķu testēšanu, tostarp pērtiķu testēšanas programmatūru, procesus, veidus, pieejas un daudz ko citu.
Kas ir pērtiķu testēšana?
Monkey testēšana ir arvien populārāka programmatūras testēšanas metode. Tas ietver nejaušu ievades datu nosūtīšanu lietojumprogrammā, lai simulētu lietotāja saskarnes mijiedarbības neparedzamību.
Mērķis ir atrast kļūdas vai darbības traucējumus, kurus varētu būt grūti atklāt, izmantojot iepriekš definētus testēšanas gadījumus. Mūķa tests imitē to, kā persona bez pieredzes vai zināšanām par lietojumprogrammu var nejauši izpētīt programmatūru.
Šis paņēmiens ir labs risinājums gan
ielādēt
un
.
lietojumprogrammas. Faktiski testi nodrošina nepārtrauktu nejaušu ievadīšanu, mēģinot izjaukt lietojumprogrammu.
Pastāv daudzas līdzības starp pērtiķu testēšanu un
ad hoc testēšanu
jo īpaši to nejaušais raksturs un tas, ka nav paļaušanās uz testu plānu. Tomēr starp abām metodēm ir pietiekami daudz atšķirību, lai tās uzskatītu par atšķirīgām pieejām.
Lai gan daži izstrādātāji uzskata, ka pērtiķu testēšana ir ad hoc testēšanas veids, būtiska atšķirība starp abām testēšanas veidiem ir tā, ka pērtiķu testēšanu var veikt cilvēki bez jebkādām zināšanām par lietojumprogrammu.
Testēšana ar pērtiķiem nozīmē, ka nav testa plāna. Tā ir nejaušu datu ievadīšana ar mērķi sabojāt programmatūru.
Kāpēc to sauc par pērtiķu testēšanu?
Nav vienprātības par to, kāpēc šo metodi sauc par pērtiķu testēšanu. Tomēr ir dažas pārliecinošas teorijas par nosaukuma izcelsmi.
1. teorija: Bezgalīgā pērtiķa teorēma
Pirmā teorija liecina, ka nosaukums ir saistīts ar bezgalīgo pērtiķu teorēmu, kas ir metafora, ko izmanto, lai apspriestu statistisko varbūtību. Īsāk sakot, tajā apgalvots, ka, ja pērtiķis bezgalīgi ilgi sēdētu pie rakstāmmašīnas un bezgalīgi ilgi nospiestu nejaušus taustiņus, kādā brīdī tiktu uzrakstīti visi Viljama Šekspīra darbi.
Ideja ir tāda, ka pērtiķa testēšana simulē šo nejaušo taustiņu mashing, un, ja tam veltīs pietiekami daudz laika, tā aptvers visas iespējamās situācijas, ar kurām lietojumprogramma saskarsies ražošanas procesā.
2. teorija: Macintosh “pērtiķis”
Otra teorija ir tāda, ka nosaukums cēlies no 1983. gadā izstrādātās MacOS lietojumprogrammas “The Monkey”. Īsāk sakot, komanda, kas strādāja pie pirmā Macintosh datora, vēlējās atrast veidu, kā pārbaudīt savu ierīci stresa testos.
Viņi secināja, ka, ja pērtiķis drudžaini sitīs pa taustiņiem un kustinās peli, tas palīdzēs pārbaudīt datora izturību. Viņiem rokā nebija dzīvu pērtiķu, tāpēc viņi izveidoja lietojumprogrammu, kas varēja simulēt šāda veida lietošanu, un nosauca to par “The Monkey”.
Kāpēc pērtiķu testēšana ir svarīga?
Galvenais iemesls, kāpēc pērtiķu testēšana ir svarīga, ir tas, ka tā palīdz komandām atklāt galējos gadījumus vai negaidītu uzvedību lietotnē. Ideja ir tāda, ka izstrādātāji līdztekus tradicionālajām metodēm var izmantot pērtiķu testēšanu, lai labāk izprastu, kā lietotne tiks uztverta praksē.
Pat vispusīga produkta testēšana nevar konkurēt ar desmitiem tūkstošu vai vairāk lietotāju, kas ar lietojumprogrammu nodarbojas ilgstošā laika posmā. Nelielā daļā gadījumu lietotāji pieprasa, lai lietojumprogramma veic kādu neparedzētu darbību. Atklāt visus šos scenārijus, izmantojot testa gadījumus, ir gandrīz neiespējami.
Ar pērtiķu testēšanu tiek mēģināts aptvert šos gandrīz nejaušos scenārijus. Kad izstrādātāji veido testa gadījumu, viņi parasti labi pārzina lietotni. Viņi saprot, kādi ir lietotāja mērķi, un viņi zina, kāda ir labākā mijiedarbību secība, kas jāizmanto, lai kaut ko sasniegtu lietotnē.
Šo ievades datu nejaušība nozīmē, ka lietojumprogramma tiek pārbaudīta tādā veidā, ko izstrādātāji nav ņēmuši vērā. Kopumā tas uzlabo programmatūras kopējo elastību un izturību un nodrošina, ka tā var doties pasaulē un saskarties ar plaša lietotāju loka neparedzamību bez sabrukšanas.
Kad jāizmanto pērtiķu testēšana?
Testēšana ar pērtiķiem ir lielisks papildu testēšanas paņēmiens. Tās lielākā priekšrocība ir spēja atrast negaidītas kļūdas, kuras netiktu atklātas ar tradicionālākām programmatūras testēšanas metodēm. Tāpēc to vislabāk izmantot kopā ar tādām metodēm kā:
Parasti izstrādātāji izmanto pērtiķu testēšanu testēšanas procesa sākumā. Tas ir īpaši noderīgi, ja trūkst iepriekš izstrādātu testēšanas plānu, no kuriem varētu vadīties.
Kā tiek veikta pērtiķu testēšana?
Ne tik senā pagātnē pērtiķu testēšana tika veikta manuāli. Testētāji tika nodarbināti ar pogu nospiešanu, teksta ievadīšanu, objektu atlasīšanu u. tml., lai pārbaudītu, kā sistēma izturēs netradicionālus ievades procesus. Šeit ir acīmredzamas problēmas. Pirmkārt, tas ir diezgan laikietilpīgi. Otrkārt, ir maz garantiju, ka šie pasākumi aptvers visus iespējamos gadījumus.
Manuālās pērtiķu testēšanas piemēri
Šeit ir sniegti daži piemēri, kā tiek veikta manuāla pērtiķu testēšana. Tas var arī sniegt priekšstatu par to, ko automatizētā testēšana ar pērtiķiem cenšas simulēt.
- Testētājs izmanto tīmekļa vietni, noklikšķinot uz nejaušām saitēm, lai pārbaudītu, vai tās var sabojāt lietojumprogrammu vai novest uz negaidītām lapām.
- Testētājs formas laukā ievada nejaušus tekstus, lai redzētu, kā lietojumprogramma reaģē.
- Testētājs velk un nomet ikonas un objektus, lai pārbaudītu, vai tie darbojas, kā paredzēts, vai arī rada nevēlamus rezultātus.
Dažādi pērtiķu testēšanas veidi
Ir trīs galvenie pērtiķu testu veidi, kurus izstrādātāji izmanto, lai atklātu atšķirīgu informāciju par savu lietojumprogrammu noturību.
1. Dumb monkey testēšana
Testēšana ar muļķi pērtiķi apraksta pieeju, kurā testētājs neko nezina par testējamo lietojumprogrammu. Tā vietā testētājam tiek prasīts, lai viņš pilnīgi nezinot darba gaitu, nospiežot pogas, ievadot tekstu utt., izstaigā apkārt. Šī metode var palīdzēt atklāt būtiskus trūkumus, par kuriem izstrādātāji nav informēti.
2. Viedo pērtiķu testēšana
Veicot testēšanu ar gudro pērtiķi, testētājs zina kaut ko par lietojumprogrammu un tās mērķiem un viņam pat ir detalizēta informācija par tās darbību. Šajā procesā tiek izmantots arī mērķtiecīgāks nejaušas ievades veids, kas ir paredzēts, lai pārsniegtu konkrētas lietojumprogrammas robežas. Šāda pieeja ir piemērota gan stresa, gan slodzes testēšanai.
3. Spilgtu pērtiķu testēšana
Brilliant monkey testēšana ir nākamais līmenis, kas ir augstāks par smart monkey testēšanu. Testētājam ir plašas un vispusīgas zināšanas par lietojumprogrammu, un viņš tiek izvēlēts, pamatojoties uz šīm zināšanām. Šāda neuzmanība var palīdzēt testētājam atklāt daudz kļūdu, jo viņam ir jāsaprot produkts no lietotāja perspektīvas.
Testēšanas ar pērtiķiem plusi un mīnusi
Pirms nolemjat izmantot pērtiķu testēšanas metodi, jums ir jāizprot tās plusi un mīnusi.
Pērtiķu testēšanas priekšrocības
1. Retu vai slēptu kļūdu atrašana
Iespējams, vislielākais pērtiķu testēšanas ieguvums ir šīs metodes spēja atklāt kļūdas, defektus vai uzvedību, kas citādi varētu palikt neatklāta. Šādu robežgadījumu atrašana ir sarežģīta, izmantojot tradicionālās testēšanas metodes, tāpēc pērtiķu testēšana ir drošs veids, kā testēt avārijas, datu bojājumus un citas problēmas, kas apdraud lietojumprogrammas stabilitāti.
2. Tas nodrošina noturību
Mūku testēšana ir paredzēta, lai pārbaudītu, kā lietojumprogramma reaģē uz neparedzamiem apstākļiem, ar kuriem tā saskarsies reālās lietošanas laikā. Kad lietojumprogramma nonāk lietotāja rokās, tā radīs daudz dažādu ievades datu, kurus izstrādātāji nevar paredzēt. Šādu situāciju imitē pērtiķu testēšana, kas ļauj veidot uzticamākus veidojumus.
3. Izmaksu efektivitāte
Salīdzinot ar citiem testēšanas veidiem, pērtiķu testēšana ir ļoti rentabla. Tam ir vairāki iemesli. Pirmkārt, jums nav nepieciešams pavadīt daudz laika, izstrādājot lietotnes lietošanas gadījumus. Turklāt pērtiķu testēšanas programmatūras rīki lielākoties ir automatizēti, tādējādi atbrīvojot izstrādātāju laiku citiem uzdevumiem un ietaupot naudu.
4. Daudzpusība
Viena no labākajām pērtiķu testēšanas īpašībām ir tā, ka testus var veikt cilvēki bez tehniskas sagatavotības. Dažos gadījumos patiešām ir vēlams, lai jūsu rīcībā būtu kāds, kas ir pilnīgi “zaļš”. Turklāt šos testus ir diezgan vienkārši iestatīt, kas atkal samazina atkarību no kvalificētiem inženieriem.
5. Agrīna kļūdu atklāšana
Kļūdu atklāšana un novēršana agrīnā izstrādes dzīves cikla posmā ietaupa laiku. Ar pērtiķu testēšanu testēšanā tiek ieviests nejaušības līmenis, kas var palīdzēt jums atrast koda nepilnības, kamēr tās ir viegli labojamas.
Mūku testēšanas trūkumi
1. Segums
Lai gan pērtiķu testēšana var uzlabot testēšanas pārklājumu, tai trūkst plānotas un stratēģiskas rūpības kā citiem testēšanas veidiem. Tā kā lietojumprogrammai tiek ievadīti nejauši ievadīti dati, kļūdu atrašana ir atkarīga no haosa. Tas nenozīmē, ka tā neatradīs visu, taču bez skaidras un iepriekš definētas stratēģijas nevar būt 100% pārliecināts, ka viss ir uztverts.
2. Ierobežots pieteikumu skaits
Mūku testēšana nav piemērota visiem lietojumprogrammu veidiem. Tas ir lieliski piemērots sarežģītām lietojumprogrammām ar daudz dažādām funkcijām un funkcijām, kurās, kas ir vissvarīgākais, ir iespējama negaidīta lietotāja mijiedarbība. Programmas, kas piedāvā stingrākas un paredzamākas funkcijas, visticamāk, mazāk izmantos šos testus.
3. Laikietilpīgs
Manuāla pērtiķu testēšana ir ļoti laikietilpīga. Tas prasa daudz mijiedarbību ar moduļiem un programmatūru, turklāt nav garantijas, ka katrā sesijā tiks atklātas kļūdas. Protams, šo procesu var automatizēt, tādējādi ietaupot daudz laika un resursu.
4. Viltus pozitīvi rezultāti
Tā kā pērtiķu testēšana ir haotiska vai nejauša, daži ievades dati var simulēt scenārijus, kas nenotiks produkta reālas lietošanas laikā. Šādā situācijā var rasties viltus pozitīvi rezultāti, kas liek programmētājiem novērst problēmas, kas nav nepieciešamas.
Kas ir haosa pērtiķu testēšana?
Haosa testēšana ir programmatūras inženierijas metode, kas izmanto kontrolētus un apzinātus eksperimentus, kuru mērķis ir izjaukt sistēmas darbību (un pat izraisīt kļūmes), lai novērtētu tās noturību un spēju atjaunoties.
Programmatūras izstrādes jomā ir diezgan izplatīta ideja apzināti salauzt sistēmu, lai nodrošinātu tās elastīgumu, un šīs metodes parasti ļauj izveidot būves, par kurām inženieri var būt pārliecināti.
2008. gadā populārais straumēšanas pakalpojums Netflix pēc trīs dienas ilgušas datu bāzes bojāejas nolēma pāriet uz Amazon Web Services (AWS). Mērķis bija izvairīties no atsevišķiem kļūmes punktiem un samazināt mērogojamības problēmas, kas rodas, paplašinot pakalpojumu.
Komanda īstenoja haosa pērtiķu testēšanu, lai testētu publiski pieejamus gadījumus AWS infrastruktūrā. Ieguvumi bija divējādi:
- Process atklāja nepilnības, kuras Netflix inženieri varēja novērst.
- Tas iedvesmoja komandu izveidot automatizētus pakalpojuma atjaunošanas mehānismus.
Haosa pērtiķu testēšana ir daļa no haosa inženierijas. To izmanto, lai pārbaudītu sistēmas noturību pret kļūdām un tās spēju saglabāt stabilitāti un veiktspēju pat tad, ja negaidīti sabojājas atsevišķi komponenti.
Lai gan tas ir saistīts ar pērtiķu testēšanu, tas ir atšķirīgs paņēmiens.
Testēšana ar pērtiķi pret testēšanu ar gorillām
Iespējams, esat dzirdējuši arī par Gorilla testēšanas koncepciju programmatūras izstrādē. Lai gan abām metodēm ir primātu nosaukumi, tām ir daudz līdzību un atšķirību. Izpētīsim, kas ir Gorilla testēšana un kur to var izmantot.
Gorilla testēšana tiek uzskatīta par strukturētāku pērtiķu testēšanas versiju. Salīdzinājumam – pērtiķu testēšanu bieži izmanto testēšanas sākumposmā, kad nav pieejami oficiāli testēšanas gadījumi. Savukārt Gorilla testēšanā tiek izmantots automatizēts rīks vai skripts, lai ģenerētu nejaušus ievades datus programmatūras lietojumprogrammai.
Gorilla testēšana ir ātra un daudz efektīvāka nekā manuāla pērtiķu testēšana. Tas nodrošina plašu pārklājumu un ir lielisks veids, kā atrast avārijas, kuras nepieciešams novērst. Tomēr vislabāk to izmantot lietojumprogrammās ar skaidri definētām robežām vai lai rūpīgi pārbaudītu konkrētu moduli.
Gan pērtiķu testēšanai, gan gorillu testēšanai ir sava vieta mūsdienu programmatūras izstrādes testēšanā. Lai izmantotu pareizo pieeju pareizajā vietā, ir svarīgi tos izprast.
Kāds ir labākais pērtiķu testēšanas rīks?
Monkey testēšanas programmatūra ir kļuvusi par būtisku mūsdienu izstrādātāja rīku komplekta sastāvdaļu. Tomēr ir dažas iespējas. Kurš ir labākais pērtiķu testēšanas rīks? Šeit ir daži no tiem, par kuriem jums jāzina.
1. ZAPTEST
ZAPTEST ir jaudīgs
bezmaksas un uzņēmumu programmatūras testēšanas automatizācijas rīks
kas atbalsta plašu testēšanas automatizācijas metožu klāstu, tostarp pērtiķu testēšanu. Dažas no ZAPTEST funkcijām, kas palīdz veikt pērtiķu testēšanu, ir šādas:
- Skripta ierakstīšana bez koda: Komandas var ierakstīt lietotāju mijiedarbību un pārvērst to testa kodā.
- Ieejas datu ģenerēšana: ZAPTEST atvieglo nejaušas ievades ģenerēšanu, kas ir pērtiķu testēšanas pamatelements.
- Droša ziņošana: ZAPTEST piedāvā jaudīgas atskaišu veidošanas iespējas, kas palīdz dokumentēt testus.
Protams, šīs funkcijas tikai ieskicē ZAPTEST iespējas izmantot dažādas testēšanas metodes, tostarp pērtiķu testus. Pateicoties WebDriver integrācijai, mākslīgā intelekta funkcijām un ZAPTEST CoPilot, komandas var izbaudīt programmatūras testēšanas nākotni vienuviet.
Turklāt ZAPTEST Enterprise lietotājiem ir pieejams pilna laika ZAP eksperts un neierobežots licenču skaits, turklāt par prognozējamu fiksētu cenu.
2. Appium
Appium ir atvērtā koda rīks. To var izmantot gan Android, gan iOS. Tas ļauj lietotājiem automatizēt mobilo lietojumprogrammu mijiedarbību un piedāvā pērtiķu testēšanas iespējas. Izstrādātāji var atdarināt dažādas lietotāja saskarnes reakcijas, piemēram, teksta ievadīšanu, klikšķināšanu, piesitienu un ritināšanu.
Lai gan Appium ir lielisks rīks mobilo ierīču izstrādātājiem, tam trūkst iespēju darbvirsmas un tīmekļa testēšanai.
3. Pārbaudiet to ar pērtiķiem
Monkey Test Tā ir uz mākoņa balstīta testēšanas platforma ar dažādām testēšanas iespējām, tostarp pērtiķu testēšanu. Lai gan Monkey Test It ir ļoti ērts lietotājam, tam, iespējams, trūkst konkurējošo rīku jaudas.
Citi trūkumi ir tādi, ka tā varētu izskatīties glītāka un tai varētu būt pievienota labāka dokumentācija. Turklāt daži lietotāji ir sūdzējušies par neprecīziem testu rezultātiem. Tomēr tā ir vienkārša programma ar zemu cenu, tāpēc no tās nevar gaidīt pasaules mēroga sasniegumus.
4. MonkeyTestJS
MonkeyTestJS ir uz JavaScript balstīts Austrālijas atklātā koda rīks, kas ir paredzēts tikai tīmekļa lietojumprogrammām. Tas ir diezgan vienkāršs, taču tas ir vairāk nekā piemērots darbam. Šis rīks ļauj izstrādātājiem simulēt lietotāja un tīmekļa lietojumprogrammas mijiedarbību, piemēram, klikšķus, veidlapu iesniegšanu, ievades no tastatūras un citas darbības.
Acīmredzot viens no rīka trūkumiem ir tas, ka tas ir pieejams tikai tīmekļa lietojumprogrammām. Tomēr to ir vērts izmantot savā rīku komplektā.
Kāds ir labākais specializētais Android pērtiķu testēšanas rīks?
Ir dažas labas iespējas izstrādātājiem, kuri vēlas ieviest nelielu haosu Android lietojumprogrammu testēšanā. Aplūkosim divus.
1. Lietotāja saskarnes/pielikumu praktizētājs Monkey for Android
UI/Application Exerciser Monkey for Android ir komandrindas rīks, kas ļauj izstrādātājiem sūtīt pseidonormālas ievades vai notikumus gan Android ierīcēm, gan emulācijām. Šis rīks darbojas Android Debug Bridge apvalkā.
2. MonkeyRunner priekš Android
MonkeyRunner for Android ir populārs Android pērtiķu testēšanas rīks. Programmatūra ir API, kas ļauj izstrādātājiem rakstīt programmas, kas emulē vai kontrolē Android ierīci. Tas ir arī labs risinājums gan funkcionālajai, gan vienības testēšanai.
Abas šīs lietojumprogrammas ir labas iespējas. Tomēr tie ir diezgan tehniski, kas nederēs visām komandām.
Vai pērtiķu testēšana ir jāautomatizē?
Viena no lielākajām manuālās pērtiķu testēšanas problēmām ir tā, ka tā ir ļoti laikietilpīga. Cita lieta, kas jums jāņem vērā, ir tā, ka dažiem testētājiem ir grūti reāli simulēt dažādas mijiedarbības, kādas ar konkrētu lietojumprogrammu varētu būt plašam lietotāju lokam.
Uzreiz mums uzreiz parādās trīs trūkumi. Manuāla pērtiķu testēšana ir:
- Laiietilpīgs
- Dārgi
- Potenciāli nepietiekams pārklājums
Automatizēts pērtiķu testēšanas rīks atrisina visas šīs problēmas.
Vai ZAPTEST ir pareizā izvēle jūsu pērtiķu testēšanas vajadzībām?
Testēšana ar pērtiķiem ir labs paņēmiens, ko vajadzētu iekļaut testēšanas repertuārā, jo īpaši, ja izstrādājat sarežģītas lietojumprogrammas. Tomēr īpašas pērtiķu testēšanas programmatūras iegāde ir dārga.
ZAPTEST
ir elastīgs un jaudīgs
pilnas paketes testēšanas automatizācijas rīks.
Tas ir ļoti viegli pielāgojams un ļauj gan izstrādātājiem, gan netehniskajām komandām veidot un projektēt bezgalīgi daudz programmatūras testēšanas paņēmienu, tostarp pērtiķu testēšanu.
Testēšana ar pērtiķiem ir lieliska izvēle, ja to papildina cita veida testi. ZAPTEST piedāvā visu zem viena jumta, pievienojot augstas kvalitātes RPA rīki.
Nobeiguma domas
Monkey testēšanas programmatūra nodrošina izstrādātājiem netradicionālu veidu, kā testēt savas lietojumprogrammas. Šīs metodes priekšrocība ir tās spēja simulēt neskaitāmus un neparedzamus veidus, kā lietotājs var izmantot programmatūru. Īsāk sakot, pērtiķu testēšana nodrošina pārklājumu, ko varētu būt grūti sasniegt ar testēšanas plānu.