detail description jmeter components
Преглед компонената Јметра (ИИ део):
=> Ово је део ЈМетер серије обуке. Списак свих туторијала из ове серије погледајте овде .
Надам се да сте сви морали проћи кроз Увод и инсталација ЈМетер-а до сада. Како настављамо са следећом у низу, топло се препоручује да сви морате инсталирати ЈМетер и вежбати раме уз раме.
У овом упутству читаоци би се упознали са њима све компоненте ЈМетера и како их користити у плану испитивања да покрије све могуће сценарије испитивања перформанси за тестирање АУТ (Апплицатион Ундер Тест).
Елементи Јметра били су наведени у претходном чланку.
Шта ћете научити:
Компоненте ЈМетер-а
Поново се пријавите за референцу:
- План испитивања
- ТхреадГроуп
- Самплерс
- Слушаоци
- ВоркБенцх
- Тврдње
- Цонфиг Елемент
- Логиц Цонтроллерс
- Тајмер
Све главне компоненте Јметра, као што су Тхреад Гроуп, Самплерс, Листенерс и Цонфиг Елементс, детаљно су објашњене касније у чланку.
Погледајте доњи дијаграм тока како бисте разумели сваку компоненту и њихов однос према одређеним модулима ЈМетера.
Сада бисмо почели да додирујемо сваку компоненту Јметра заједно са случајевима коришћења само да бисмо знали како то функционише и како тестери могу да их примене у свом тестирању. Имајте на уму да у овом чланку нећемо покривати све Самплере, слушаоце. Радићемо на онима који се најчешће користе, а одморићемо се у следећем чланку када креирамо тест планове у реалном времену.
План испитивања
Баш као што се једноставни план тестирања у софтверском тестирању састоји од свих корака којима се извршава скрипта, тако и ЈМетер-ов тестни план има исту сврху. Све што је укључено у план теста извршава се у низу од врха до дна или према дефинисаном низу у плану теста.
План теста може бити најједноставнији колико год могао бити, са Јуст ТхреадГроуп, Самплер и Листенер и он постаје сложенији чим започнете са додавањем више елемената као што су елементи конфигурације, претпроцесори или контролери.
Као што сви знамо да ЈМетер мери перформансе генеришући виртуелне кориснике или нити који погађају тестирани сервер као да стварни корисници шаљу захтеве серверу. Према томе, сваки тестни план треба да има виртуелне кориснике или Тхреад Гроуп како их ми називамо у терминима ЈМетер.
Важне тачке о плану испитивања:
- План теста треба сачувати пре покретања
- Јметер датотеке или планови испитивања чувају се у облику. Датотеке ЈМКС екстензија
- Такође можете сачувати делове Плана теста као другачији избор. На пример, Ако желите да сачувате ХТТП Рекуест Самплер са Листенер-ом, можете га сачувати као Тест Фрагмент тако да се може користити и у другим тестним сценаријима
- Елементи ВоркБенцха се не чувају помоћу плана теста
Тхреад Гроуп
Тхреад Гроуп је група корисника која ће истовремено погађати тестирани сервер или у неком унапред дефинисаном низу. Групу нити можете додати у план испитивања десним кликом на план испитивања. ЈМетер је све “Десни клик”, све опције добијате десним кликом.
Можете да преименујете назив групе нити у своје. Само промените име и кликните било где изван прозора Плана тестирања, видећете да се име мења.
Погледајте доњи снимак екрана за додавање група тема
(Белешка: Кликните на било коју слику за увећани приказ)
Веома је важно да конфигуришете своју групу нити у складу са условима теста.
На пример, ако желите да тестирате како се веб сервер понаша када га истовремено погоди 100 корисника, можете да подесите Тхреад Гроуп на следећи начин:
У основи, постоје три главна параметра која морају бити конфигурисана да генеришу стварно оптерећење или виртуелне кориснике:
- Број нити (корисника) - Дефинише број виртуелних корисника. У сврху тестирања, требало би да генеришемо само ограничену количину оптерећења, јер би генерисање огромног волумена одједном значило трошење пуно нити, што на крају може довести до велике употребе ЦПУ-а.
- Период повећања - Ово поље је веома важно за контролу стварања оптерећења. Период повећања је дефинисао временски период у коме ће се генерисати укупно оптерећење.
Пример 1:
- То значи да ће свих 10 корисника истовремено ударати на сервере чим се покрене тест
Пример 2:
- Сигурно сте сви приметили поље за потврду „Планер“ на горњем снимку екрана. У случају да желите да се тест покрене у одређено време касније, можете подесити тајминге, као што можете видети и на снимку екрана испод. То значи да ће сваке 1 секунде нови корисник ударати на сервер. Оптерећење неће бити истовремено, већ ће бити у корацима. До 10тхдруго, сви корисници би погодили захтев.
- Лооп Цоунт - Дефинише колико ће пута Тхреад Гроуп извршити. Ако потврдите поље Заувек, тест ће трајати заувек, осим ако га ручно не зауставите. Ово се може користити за тестирање нечега попут „Ако се ваш сервер не сруши при непрекидном учитавању неколико минута“.
Самплерс
Па, како Јметер зна какав је захтев послат серверу ???
- То је кроз Самплерс. Узорке је потребно додати у план испитивања, јер само он може Јметру знати који тип захтева треба ићи на који сервер и са било којим унапред дефинисаним параметрима или не. Захтеви могу бити ХТТП, ХТТП (с), ФТП, ТЦП, СМТП, СОАП итд.
Узорци се могу додати у групу нити, а не директно у оквиру плана тестирања, јер групе нити морају да користе самплер за слање захтева на УРЛ сервера који се тестира. Узорак се може додати путем Група нити -> Самплер -> ХТТП захтев.
ХТТП захтеви
Ово су најчешћи захтеви послати серверима. Реци, на пример, желимо да погоди 100 корисника хттпс://ввв.гоогле.цом истовремено, то се може учинити како је описано на доњем снимку екрана:
- Стаза је навигација унутар главне веб странице. На пример, ако желимо да притиснемо хттп://ввв.гоогле.цом/гмаил, тада можемо да поставимо „/ Гмаил“ у путању, а остатак остаје исти
- Не треба да укуцате „ввв“ у име сервера
- Број порта користи се ако користите било који проки сервер
- Тимеоут Цоннецт и Респонсе се могу поставити ако желите да имате референтну вредност времена повезивања са сервером и времена одзива. Ваш захтев неће успети ако серверу треба више времена да пошаље одговор од конфигурисаног
- Такође можете да конфигуришете параметре који ће се слати уз ваш захтев. На пример: У неким случајевима ће вам можда требати послати жетон за ауторизацију са својим захтевом, па сте их додали у ХТТП захтев као на доле:
ФТП захтеви
Путања-> План испитивања-> Група нити-> Узорак-> ФТП захтев
ФТП је скраћеница од Филе Трансфер Протоцол и користи се за отпремање или преузимање датотеке са сервера. ЈМетрове нити шаљу захтеве ФТП серверима за отпремање или преузимање датотека одатле и мере перформансе.
питања и одговори за интервју за администратора информатике
- Локална датотека је место на којем треба да сачувате преузету датотеку
- Користите опцију ГЕТ ако преузимате са ФТП сервера
- Корисничка ПОСТ опција ако преносите било коју датотеку на ФТП сервер
Имамо много слушалаца који ће бити покривени када прођемо кроз неке стварне тест планове који се састоје од самплера, слушалаца, конфигурационих елемената итд.
Слушаоци
Дакле, до сада смо видели неколико узорака који шаљу захтеве на сервер, али још увек нисмо анализирали одговор. Тестирање перформанси се састоји од анализе одговора сервера у разном облику, а затим представљања истих клијенту.
Слушаоци се користе за приказ резултата извршавања теста како би тестери упознали статистику. У Јметру имамо око 15 слушалаца, али углавном се користе табела, стабло и граф.
Погледајте резултате у табели:
Ово је најчешће коришћени и лако разумљив облик слушалаца. Приказује резултат у облику табеле са неким важним параметрима перформанси.
Слушаоци се могу додати директно под планом теста или под узорковањем. Разлика је у томе што када додате слушалац под самплер, он ће приказати резултате само тог самплера. Ако узоркивач додамо директно под план теста, он приказује резултат за све узорке у хијерархији.
Снимак екрана испод за вашу референцу:
Резултате видите на следећи начин:
- Латентност : То је време када је примљен први податак, тј. Примљен је први бајт података
- Повежите време : Потребно је време за успостављање везе са сервером
- Узорак времена : Потребно је време за пријем комплетних података
- Узорак - Редослед броја узорка
- Битес - Величина примљених података.
Погледајте резултате у Трее-у:
Ово је још један од најчешће коришћених слушалаца и пружа детаљне информације са захтевом и одговором. Такође се може видети ХТМЛ страница која се генерише као одговор, осим прегледа Јсон, КСМЛ, Тект, РегЕк.
Веома је корисно јер тестери могу да тврде на примљени одговор како би били сигурни да је тест положен. Резултати Јметра и даље показују „Пасс“ чак и ако одговор није жељен.
На пример: Рецимо, погодили смо ХТТП захтев на било којој веб локацији ввв.киз.цом и као одговор очекујемо КСИЗ или једноставним речима, када притиснемо ову страницу, почетна страница компаније се отвара са њеним именом. Ако нисмо ставили тврдњу, Јметер ће и даље приказивати резултате пошто је погодак прешао на сервер.
Погледајте доле како бисте сазнали формат резултата:
За преглед ХТМЛ странице у одговору, кликните на падајући мени у левом окну, а затим изаберите „ХТМЛ“, дођите до картице одговора и проверите страницу која се враћа као одговор сервера.
Ворк Бенцх
Радни сто је место где можете да сачувате оне елементе који се не користе у вашем тренутном плану испитивања, али који се касније могу копирати у њега. Када сачувате датотеку ЈМетер, компоненте које су присутне у радном окружењу не чувају се аутоматски. Морате их спремити одвојено десним кликом и одабрати опцију „Сачувај као“.
Сви тада можда размишљате о томе шта користи радни сто, у сваком случају лако је додати било коју компоненту директно у Јметер-ов тест план.
Разлог постојања радног стола био је тај што је корисник могао да изврши неке експерименте и испроба нове сценарије. Као што већ знамо, елементи у радном окружењу се не чувају, тако да корисник може дословно да користи било шта, а затим баци. Али, постоје неке „Нетестиране компоненте“ које су доступне само у ВоркБенцх-у.
Овде су наведени:
- ХТТП Миррор Сервер
- ХТТП (с) Рецорд Сцрипт Рецордер
- Приказ имовине
ХТТП (с) Рецорд Сцрипт Рецордер је најважнији нетестирани елемент који се користи у ЈМетер-у. Помаже тестерима у снимању скрипте, а затим у конфигурисању оптерећења за сваку трансакцију.
Јметер бележи само захтев послат серверу. Немојте се збунити са функцијом „Сними и репродукуј“ КТП / Селениум. Сви захтеви се бележе и тестери могу да примене жељено оптерећење на њих да би видели понашање.
Овај елемент је веома важан за сценарије у којима тестери не знају шта се све дешава из њихове апликације. За снимање апликације која се тестира могу да користе снимач скрипти Хттп (с).
Тестирање перформанси мобилних апликација такође се може извршити на овај начин подешавањем ЈМетер проки сервера и бележењем захтева које наша мобилна апликација шаље серверу. Поступак по корак за тестирање перформанси мобилних уређаја биће објашњен у следећем чланку.
Тврдње
До сада смо обрађивали како ЈМетер погађа сервер и како се одговори приказују преко слушалаца. Да бисмо били сигурни да је примљени одговор тачан и према очекивањима, морамо да додамо тврдње. Тврдње су једноставно валидације које морамо ставити на одговоре да бисмо упоредили резултате.
Испод су врсте тврдњи које се често користе:
- Тврдња одговора
- Трајање тврдње
- Утврђивање величине
- КСМЛ тврдња
- ХТМЛ тврдња
Тврдња одговора
У тврдњи одговора можемо додати сопствене низове узорака, а затим их упоређивати са одговорима добијеним са сервера. На пример, сви знате да је код одговора 200 када било који захтев успешно врати неки одговор. Дакле, ако додамо низ шаблона „Респонсе Цоде = 202“, онда тест случај не би требало да успе.
Погледајте доленаведене снимке екрана да бисте додали тврдњу кода одговора.
Сада, када се тест покреће, приказује резултат са црвеном бојом која показује да резултати тврдње нису успели.
Трајање тврдње
Трајање Тврдња је веома важна и потврђује да је сервер одговорио у датом временском периоду. Ово се може користити у сценаријима у којима морамо узорковати 100 захтева и осигурати да сваки пут када одговор добијемо у оквиру референтне границе.
Случај : 10 корисника истовремено погађа сервер „гоогле.цом“, а трајање тврдње је постављено на 1000 мс. Молимо погледајте доленаведене снимке екрана:
КСМЛ Ассертион потврђује ако подаци одговора садрже исправан КСМЛ документ, а ХТМЛ Ассертион верификује ХТМЛ синтаксу одговора примљеног од сервера.
Цонфиг Елементс
Захтеви послати серверу могу се даље параметеризовати помоћу неких конфигурационих елемената који се извршавају пре стварног захтева. Једноставан пример тога може бити читање вредности променљиве из ЦСВ датотеке за коју се користи ЦСВ Дата Сет Цонфиг.
Испод су неки од важних конфигурационих елемената који се користе за тестирање перформанси веба и мобилних апликација
- Конфигурација ЦСВ скупа података.
- Кориснички дефинисане променљиве
- ХТТПС захтева подразумевано
- ХТТПС Цацхе Манагер
- ХТТПС менаџер колачића
Конфигурација ЦСВ скупа података
Конфигурација ЦСВ скупа података помаже Јметру да одабере вредности неких параметара из ЦСВ датотеке, уместо да прослеђује различите параметре у сваком одвојеном захтеву. На пример, ако треба да тестирамо функционалност пријаве са различитим скупом корисника и лозинки, тада можемо створити две колоне у ЦСВ датотеци и тамо унети вредности тако да ЈМетер може одабрати по један за сваки захтев послат серверу.
Испод је ток коришћења ЦСВ скупа података конфигурације за тестирање временског АПИ-ја за различите градове у Индији.
- Додавање ЦСВ елемента конфигурације скупа података у план теста
- Креирање ЦСВ датотеке
- Пролазна променљива у параметру захтева. АППИД параметар се може динамички генерисати из хттп://опенвеатхермап.орг/аппид
- Покретање теста и преглед резултата.
Кориснички дефинисане променљиве
Помаже Јметру да бира вредности из унапред дефинисане променљиве. На пример, подршка која вам је потребна да бисте креирали тест план у којем требате додати много ХТТП захтева на исти УРЛ и могао би постојати сценарио у којем клијент планира да га касније мигрира на неки други УРЛ. Дакле, како би се избегло ажурирање УРЛ-а у сваком захтеву можемо рећи ЈМетеру да одабере УРЛ са УДВ (Усер Дефинед Вариабле) која се касније може ажурирати како би обрађивала све захтеве за ажурираном УРЛ адресом.
Дакле, да бисмо избегли ажурирање УРЛ-а у сваком захтеву, можемо да кажемо ЈМетеру да одабере УРЛ са УДВ (Усер Дефинед Вариабле) која се касније може ажурирати да би обрађивала све захтеве за ажурираном УРЛ адресом.
Задане вредности ХТТП захтева
Овај елемент конфигурације је веома користан за специфицирање подразумеваних вредности хттпс захтева. Да бисмо вас водили више, узмимо пример где морамо да погодимо 50 различитих захтева на гоогле серверу. У овом сценарију, ако додамо подразумевани ХТТП захтев, онда не треба да наводимо име сервера, путању или било која друга својства попут броја порта, везе својства временског ограничења. Све што је наведено у ХТТП захтеву Подразумевани елемент конфигурације наслеђују сви ХТТП захтеви.
У овом сценарију, ако додамо подразумевани ХТТП захтев, тада не морамо навести име сервера, путању или било која друга својства као што су број порта, својства временског ограничења везе. Све што је наведено у ХТТП захтеву Подразумевани елемент конфигурације наслеђују сви ХТТП захтеви.
Молимо погледајте доле како додати ХТТП захтев подразумевани и навести сервер и путању.
ХТТП менаџер кеш меморије и ХТТП менаџер колачића користе се за постизање понашања ЈМетер-а као прегледача у реалном времену. ХТТП менаџер кеш меморије може очистити кеш меморију након сваког захтева, док други може управљати подешавањима колачића.
Логички контролери и тајмери
Логички контролери и тајмери помажу Јметру да контролише ток трансакција. Тајмери осигуравају кашњење сваке нити ако је потребно тестирати било који сервер. На пример, ако нам треба ФТП захтев да сачекамо 5 секунди након завршетка ХТТП захтева, можемо тамо додати тајмер.
Логички контролери се користе за дефинисање тока захтева који се шаљу серверу. Такође вам може омогућити да засебно складиштите захтеве за сваки модул, попут пријаве и одјаве.
Закључак
До сада сте се сви морали упознати са компонентама ЈМетера и покушали сте да их користите и морате се суочити са неким проблемима. У следећем чланку ћемо размотрити неке сценарије тестирања перформанси у стварном времену који покривају домен мобилности, тако да ћете сви добити више практичног знања о ЈМетер-у.
Будите у току! Следећи чланак ће вам помоћи да управљате захтевима, као и да анализирате резултате и упоређујете са мерилима тестирања перформанси.
=>Наставите да читате ИИИ део: ЈМетер процесори и контролери
која је разлика између осигурања квалитета и контроле квалитета?
=> Кликните овде за ЈМетер лекције: Комплетна бесплатна обука на ЈМетер-у (20+ видео снимака)
Препоручено читање
- Како постићи ЈМетер корелацију на примеру
- План испитивања Јметер и ВоркБенцх
- Рад са ФТП захтевом у ЈМетер-у
- Топ 5 ЈМетер додатака и како их користити (са примерима)
- ЈМетер Тајмери: Константни, БеанСхелл и Гуассиан Рандом Тимер
- Рад са ХТТП захтевима у ЈМетер-у
- Јметер контролори 1. део
- Јметер контролери, 2. део