Већина типова тестирања софтвера користи пажљиво дефинисан план тестирања како би се осигурала покривеност. Међутим, иако ови параметри покривају многе могућности коришћења софтвера, они неће увек опонашати понашање корисника који није упознат са апликацијом и једноставно покушава да ступи у интеракцију са њом на истраживачки начин: Унесите мајмуна тестирање.
У овом чланку ћемо погледати све ствари тестирања мајмуна, укључујући софтвер за тестирање мајмуна, процесе, типове, приступе и још много тога.
Шта је тестирање мајмуна?
Тестирање мајмуна је све популарнија техника тестирања софтвера. То укључује слање насумичних улаза у апликацију како би се симулирала непредвидљивост интеракције корисничког интерфејса.
Циљ је пронаћи грешке или кварове које би могло бити тешко открити помоћу унапред дефинисаних тест случајева. Тест на мајмунима опонаша како особа без искуства или знања о апликацији може насумично истраживати софтвер.
Ова техника је добра опција и за оптерећење и за тестирање стреса апликације. У ствари, тестови обезбеђују континуиране насумичне улазе у покушају да разбију апликацију.
Постоји много сличности између тестирања мајмуна и ад хоц тестирања, посебно, њихова насумична природа и недостатак ослањања на план тестирања. Међутим, постоји довољно разлика између њих да се сматрају различитим приступима.
Док неки програмери сугеришу да је тестирање на мајмунима врста ад хоц тестирања, једна значајна разлика између њих је та што тестирање мајмуна могу да обављају људи без икаквог знања о апликацији.
Тестирање мајмуна значи да немате план тестирања. Ради се о уносу насумичних улаза са циљем да се софтвер сруши.
Зашто се то зове тестирање мајмуна?
Не постоји консензус о томе зашто се ова техника назива тестирањем мајмуна. Међутим, постоји неколико убедљивих теорија иза имена.
Теорија 1: Теорема о бесконачном мајмуну
Прва теорија сугерише да име има везе са теоремом о бесконачним мајмунима, метафором која се користи за дискусију о статистичкој вероватноћи. Укратко, каже се да ако би мајмун седео испред писаће машине и гњечио насумичне тастере бесконачно дуго, у неком тренутку би произвео комплетна дела Вилијама Шекспира.
Идеја је да тестирање на мајмунима симулира ово насумично мешање кључева и са довољно времена ће покрити сваку могућност са којом ће се апликација суочити у производњи.
Теорија 2: Мацинтосхов „Мајмун“
Друга теорија је да назив потиче из МацОС апликације из 1983. под називом „Мајмун“. Укратко, тим који је радио на првом Мацинтосх рачунару желео је да пронађе начин да тестира своју машину на стрес.
Они су закључили да би им то помогло да тестирају отпорност рачунара ако имају мајмуна који махнито удара по тастерима и креће се око миша. Нису имали живог мајмуна при руци, па су направили апликацију која би могла да симулира овакву употребу и назвали је „Тхе Монкеи“.
Зашто је тестирање мајмуна важно?
Велики разлог зашто је тестирање мајмуна важно је тај што помаже тимовима да открију ивице случајева или неочекивана понашања унутар апликације. Идеја је да програмери могу да користе тестирање мајмуна заједно са традиционалнијим методама да би стекли бољи осећај о томе како ће апликација бити примљена у дивљини.
Чак и свеобухватно тестирање производа не може да се такмичи са десетинама хиљада или више корисника који су ангажовани на апликацији током дужег временског периода. У малом проценту ових случајева, корисници ће тражити од апликације да уради нешто неочекивано. Откривање свих ових сценарија путем тест случајева је скоро немогуће.
Тестирање мајмуна покушава да покрије ове скоро насумичне сценарије. Када програмери направе тест случај, они имају тенденцију да имају интимно знање о апликацији. Они разумеју који су циљеви корисника и знају најбољи редослед интеракција које треба да користе да би постигли нешто у апликацији.
Насумично постављање ових уноса значи да се апликација тестира на начине које програмери нису узели у обзир. Све у свему, ово побољшава укупну отпорност и издржљивост софтвера и осигурава да он може да се појави у свету и суочи се са непредвидљивошћу широког спектра корисника без пада.
Када треба да користите тестирање на мајмунима?
Тестирање мајмуна је одлична додатна техника тестирања. Његова највећа предност лежи у његовој способности да пронађе неочекиване грешке које не би биле откривене традиционалнијим методама тестирања софтвера. Као такав, најбоље је када се користи заједно са методама као што су:
Типично, програмери користе тестирање мајмуна рано у процесу тестирања. То је посебно корисно када недостаје унапред дефинисаних планова тестирања на којима би се могли ослањати.
Како се врши тестирање мајмуна?
У не тако давној прошлости, тестирање мајмуна се вршило ручно. Тестери су били ангажовани да притискају дугмад, уносе текст, бирају објекте и тако даље да виде како ће систем издржати неконвенционалне уносе. Овде постоје очигледни проблеми. Прво, то је прилично дуготрајно. Друго, мало је гаранција да ће ове акције покрити сваки случај.
Примери ручног тестирања мајмуна
Ево неколико примера како се врши ручно тестирање мајмуна. Такође вам може дати идеју о томе шта аутоматско тестирање мајмуна жели да симулира.
- Тестер се креће по веб локацији тако што кликће на насумичне везе да види да ли могу да сруше апликацију или да доведу до неочекиваних страница
- Тестер уноси насумичне текстове у поље обрасца да види како апликација реагује
- Тестер превлачи и испушта иконе и објекте да би видео да ли се понашају како се очекује или дају нежељене исходе.
Различите врсте тестирања мајмуна
Постоје три главна типа мајмунских тестова које програмери користе да открију различите информације о отпорности својих апликација.
1. Тестирање глупих мајмуна
Тестирање глупих мајмуна описује приступ где тестер не зна ништа о апликацији која се тестира. Уместо тога, од тестера се тражи да лута около потпуно несвестан тока посла, притиска дугмади, уноса текста и тако даље. Ова техника може помоћи у откривању значајних недостатака којих програмери нису свесни.
2. Тестирање паметних мајмуна
Уз тестирање паметних мајмуна, тестер зна понешто о апликацији и њеним циљевима, па чак има и детаљне информације о томе како функционише. Овај процес такође користи фокусиранији тип случајног уноса који је дизајниран да помери апликацију преко одређених ограничења. Коришћење овог приступа је добро и за тестирање стреса и за тестирање оптерећења.
3. Бриљантно тестирање мајмуна
Бриљантно тестирање мајмуна је следећи ниво у односу на тестирање паметних мајмуна. Тестер има снажно и свеобухватно знање о апликацији и бира се на основу тог знања. Овај превид може помоћи тестеру да открије много грешака јер би требало да разуме производ из перспективе корисника.
Предности и мане тестирања на мајмунима
Пре него што одлучите да користите технику тестирања мајмуна, морате разумети њене предности и недостатке.
Предности тестирања мајмуна
1. Проналажење ретких или скривених грешака
Можда најупечатљивија предност тестирања на мајмунима је способност технике да открије грешке, дефекте или понашања која би иначе могла бити откривена. Проналажење ових рубних случајева је изазовно са традиционалним техникама тестирања, тако да је тестирање мајмуна солидан начин тестирања на рушење, оштећење података и било шта друго што угрожава стабилност апликације.
2. Осигурава робусност
Мајмунско тестирање је дизајнирано да види како апликација реагује на непредвидиве услове са којима ће се суочити током коришћења у стварном свету. Када се апликација стави у руке корисника, то ће резултирати великим бројем различитих уноса које програмери не могу да предвиде. Тестирање на мајмунима опонаша ту ситуацију, што доводи до поузданијих верзија.
3. Исплативост
У поређењу са другим врстама тестирања, тестирање на мајмунима је веома исплативо. Постоји неколико разлога за ово. Прво, не морате да трошите много времена на дизајнирање случајева употребе за своју апликацију. Затим, софтверски алати за тестирање мајмуна су у великој мери аутоматизовани, што програмерима ослобађа време за друге задатке, штедећи вам новац.
4. Свестраност
Једна од најбољих ствари у вези са тестирањем на мајмунима је то што тестове могу изводити људи без техничког искуства. Заиста, у неким случајевима је пожељно имати некога ко је потпуно зелен. Штавише, ови тестови су прилично једноставни за постављање, што опет смањује ослањање на квалификоване инжењере.
5. Рано откривање грешака
Проналажење и решавање грешака у раној фази животног циклуса развоја штеди време на путу. Тестирање мајмуна уводи ниво случајности у тестирање, што вам може помоћи да пронађете недостатке у вашем коду док их је лако поправити.
Недостаци тестирања на мајмунима
1. Покривеност
Док тестирање на мајмунима може довести до побољшане покривености тестовима, недостаје му планирана и стратешка темељност других типова тестирања. У ствари, пошто уништавате апликацију насумичним уносима, препуштени сте на милост и немилост хаоса у проналажењу грешака. То не значи да неће пронаћи све, али без јасне и унапред дефинисане стратегије, не можете бити 100% сигурни да је све ухваћено.
2. Ограничене примене
Тестирање мајмуна није погодно за сваку врсту апликације. Одличан је за сложене апликације са пуно различитих функција и функција које, што је најважније, имају потенцијал за неочекиване интеракције корисника. Програми који нуде ригидније и предвидљивије функције имају мање користи од ових тестова.
3. Дуготрајно
Ручно тестирање мајмуна је веома дуготрајно. Захтева много интеракција са модулима и софтвером, без гаранције да ће свака сесија открити грешке. Наравно, можете аутоматизовати процес, што штеди знатно време и ресурсе.
4. Лажни позитивни резултати
Због хаотичне или насумичне природе тестирања на мајмунима, неки улази могу симулирати сценарије који се неће десити током употребе производа у стварном свету. Ова ситуација може довести до генерисања лажних позитивних резултата, наводећи кодере да поправе проблеме који нису неопходни.
Шта је тестирање хаос мајмуна?
Хаос тестирање је техника софтверског инжењеринга која користи контролисане и намерне експерименте дизајниране да поремете систем (па чак и изазову кварове) како би проценили његову отпорност и способност да се опорави.
Идеја о намерном разбијању система како би се обезбедила отпорност прилично је уобичајена у простору за развој софтвера, а ове методе обично резултирају изградњом иза којих инжењери могу да стоје.
Године 2008, након што је доживео тродневну корупцију базе података, популарни сервис за стриминг Нетфлик одлучио је да пређе на Амазон Веб Сервицес (АВС). Циљ је био да се избегну појединачне тачке квара и смање проблеми скалабилности који су резултат проширења њихове услуге.
Тим је имплементирао тестирање хаос мајмуна да би тестирао јавне инстанце на АВС инфраструктури. Предности су биле двоструке:
- Процес је разоткрио слабости које су Нетфлик инжењери могли поправити
- То је инспирисало тим да изгради аутоматизоване механизме опоравка за своју услугу.
Тестирање хаос мајмуна је део Цхаос Енгинееринга. Користи се за тестирање толеранције система на грешке и његове способности да одржи стабилност и перформансе чак и када појединачне компоненте неочекивано покваре.
Иако је повезано са тестирањем мајмуна, то је посебна техника.
Тестирање мајмуна против тестирања горила
Можда сте такође чули за концепт Горилла тестирања у развоју софтвера. Иако обе технике имају имена примата, оне имају много сличности и разлика. Хајде да истражимо шта је Горилла тестирање и где се може користити.
Тестирање на горилама се сматра структуриранијом верзијом тестирања мајмуна. За поређење, тестирање на мајмунима се често користи у раним фазама тестирања када нема доступних формалних тест случајева. Горилла тестирање, с друге стране, користи аутоматизовани алат или скрипту за генерисање насумичних улаза за софтверску апликацију.
Горила тестирање је брзо и далеко ефикасније од ручног тестирања мајмуна. Нуди широку покривеност и одличан је начин да пронађете падове које треба решити. Међутим, најбоље се користи за апликације са добро дефинисаним границама или за темељно тестирање одређеног модула.
И тестирање мајмуна и тестирање горила имају своје место у модерном тестирању развоја софтвера. Њихово разумевање је кључно за коришћење правог приступа у правом простору.
Који је најбољи алат за тестирање мајмуна?
Софтвер за тестирање мајмуна постао је суштински део алата модерног програмера. Међутим, постоји неколико опција. Дакле, који је најбољи алат за тестирање мајмуна? Ево неколико о којима треба да знате.
1. ЗАПТЕСТ
ЗАПТЕСТ је моћан бесплатни алат за аутоматизацију тестирања софтвера за предузећа који подржава широк спектар техника аутоматизације тестирања, укључујући тестирање мајмуна. Неке од ЗАПТЕСТ функција које помажу у тестирању мајмуна укључују:
- Снимање скрипте без кода: Тимови могу да снимају интеракције корисника и конвертују их у тестни код.
- Генерисање улаза: ЗАПТЕСТ олакшава насумично генерисање улаза, што је кључни елемент тестирања мајмуна
- Робусно извештавање: ЗАПТЕСТ нуди моћне могућности извештавања које вам помажу да документујете своје тестове
Наравно, ове карактеристике само загребају површину ЗАПТЕСТ-ових могућности за широк спектар техника тестирања, укључујући тестове на мајмунима. Уз ВебДривер интеграцију, АИ функције и ЗАПТЕСТ ЦоПилот, тимови могу да искусе будућност тестирања софтвера на једном месту.
Штавише, ЗАПТЕСТ Ентерприсе корисници добијају приступ сталном, наменском ЗАП Екперту и неограниченим лиценцама, и све то по предвидљивој фиксној цени.
2. Аппиум
Аппиум је алатка отвореног кода. Можете га користити и за Андроид и за иОС. Омогућава корисницима да аутоматизују интеракције мобилних апликација и има могућности тестирања мајмуна. Програмери могу да опонашају широк спектар реакција корисничког интерфејса, као што је уношење текста, кликање, тапкање и померање.
Иако је Аппиум одличан алат за програмере мобилних уређаја, недостају му могућности за десктоп и веб тестирање.
3. Мајмун Тест Ит
Тест мајмуна То је платформа за тестирање заснована на облаку са низом могућности тестирања које укључују тестирање мајмуна. Иако је Монкеи Тест веома једноставан за коришћење, можда му недостаје моћ ривалских алата.
Други недостаци су што би могао да изгледа лепше и да долази са бољом документацијом. Штавише, неки корисници су се жалили на нетачне резултате тестова. Ипак, то је једноставан програм са ниском ценом, тако да не можете очекивати свет од њега.
4. МонкеиТестЈС
МонкеиТестЈС је аустралијски ЈаваСцрипт базиран алат отвореног кода који је направљен само за веб апликације. То је прилично основно, али је више него способно за обављање посла. Алат омогућава програмерима да симулирају интеракције корисника и веб апликације, као што су кликови, подношење обрасца, унос са тастатуре и још много тога.
Очигледно, један недостатак алата је то што је доступан само за веб апликације. Међутим, вреди га имати у кутији са алатима.
Који је најбољи наменски Андроид алат за тестирање мајмуна?
Постоји неколико добрих опција за програмере који желе да унесу мало хаоса у тестирање својих Андроид апликација. Хајде да погледамо два.
1. УИ/Апплицатион Екерцисер Монкеи за Андроид
УИ/Апплицатион Екерцисер Монкеи за Андроид је алатка командне линије која омогућава програмерима да шаљу псеудо-случајне уносе или догађаје и на Андроид уређаје и на емулације. Овај алат ради у љусци Андроид Дебуг Бридге.
2. МонкеиРуннер за Андроид
МонкеиРуннер за Андроид је популаран Андроид алат за тестирање мајмуна. Софтвер је АПИ који омогућава програмерима да пишу програме који или опонашају или контролишу Андроид уређај. Такође је добра опција и за функционално и за тестирање јединица.
Обе ове апликације су добре опције. Међутим, они су прилично технички, што неће одговарати свим тимовима.
Да ли тестирање мајмуна треба да буде аутоматизовано?
Један од највећих проблема са мануелним тестирањем мајмуна је то што је толико дуготрајно. Друга ствар коју треба да приметите је да је неколицини тестера тешко да заиста симулирају различите интеракције које широка база корисника може имати са одређеном апликацијом.
Дакле, искачу нам три непосредне мане. Ручно тестирање мајмуна је:
- Дуготрајан
- Скупо
- Потенцијално недостатак покривености
Аутоматизовани алат за тестирање мајмуна решава све ове проблеме.
Да ли је ЗАПТЕСТ прави избор за ваше потребе тестирања мајмуна?
Тестирање мајмуна је добра техника коју треба имати у свом репертоару тестирања, посебно ако дизајнирате сложене апликације. Међутим, куповина наменског софтвера за тестирање мајмуна је скупа.
ЗАПТЕСТ је флексибилан и моћан комплетан алат за аутоматизацију тестирања. Веома је прилагодљив и омогућава и програмерима и нетехничким тимовима да изграде и дизајнирају бескрајну количину техника тестирања софтвера, укључујући тестирање мајмуна.
Тестирање мајмуна је одличан избор када се допуни другим врстама тестова. ЗАПТЕСТ нуди све под једним кровом, уз додатак висококвалитетни РПА алати.
Последње мисли
Софтвер за тестирање мајмуна пружа програмерима неконвенционалан начин да тестирају своје апликације. Снага ове технике лежи у њеној способности да симулира безброј непредвидивих начина на које би корисник могао да користи део софтвера. Укратко, тестирање на мајмунима пружа покривеност коју би могло бити тешко постићи планом тестирања.