У овом одељку ћемо научити о тестирању перформанси, зашто нам је потребно, врстама тестирања перформанси и процесу тестирања перформанси.
Следе теме које ћемо разумети у овом одељку:
Шта је тестирање перформанси?
То је најважнији део нефункционалног тестирања.
Провера понашања апликације применом неког оптерећења је позната као тестирање перформанси.
Генерално, ово тестирање дефинише колико брзо сервер одговара на захтев корисника.
Док радимо тестирање перформанси апликације, концентрисаћемо се на различите факторе као што су Време одзива, оптерећење и стабилност апликације.
Време одзива: Време одговора је време потребно серверу да одговори на захтев клијента.
Оптерећење: Овде, Учитавање значи да када Н-број корисника који истовремено користе апликацију или шаљу захтев серверу истовремено.
Стабилност: За фактор стабилности можемо рећи да када Н-број корисника који истовремено користе апликацију одређено време.
Када користимо тестирање перформанси?
Урадићемо тестирање перформанси када софтвер буде стабилан и премештен у производњу, и може му истовремено приступити више корисника, због чега може доћи до неких проблема са перформансама. Да би се избегли ови проблеми са перформансама, тестер обавља један круг тестирања перформанси.
Пошто је то нефункционално тестирање, што не значи да увек користимо тестирање перформанси, идемо на тестирање перформанси само када је апликација функционално стабилна.
Напомена: Тестирање перформанси се не може обавити ручно јер се његов скуп и тачан резултат не може одржавати.
Врсте тестирања перформанси
Следе врсте тестирања перформанси:
'масонова формула'
Хајде да разговарамо један по један да бисмо вам дали потпуно разумевање Оптерећење, стрес, скалабилност, и Стабилност тестирање перформанси.
Тестирање оптерећења
Тестирање оптерећења се користи за проверу перформанси апликације применом неког оптерећења које је мање или једнако жељеном оптерећењу, познато је као тестирање оптерећења.
На пример: На слици испод, 1000 корисника аре тхе жељено оптерећење , који даје купац, и 3/секунди је циљ што желимо да постигнемо обављањем тестирања оптерећења.
Тестирање на стрес
Тестирање стреса је тестирање, које проверава понашање апликације применом оптерећења већег од жељеног.
На пример: Ако бисмо узели горњи пример и повећали жељено оптерећење са 1000 на 1100 корисника, а циљ је 4/секунди. Током извођења стресног тестирања у овом сценарију, оно ће проћи јер је оптерећење веће (100 навише) од стварног жељеног оптерећења.
Тестирање скалабилности
Провера перформанси апликације повећањем или смањењем оптерећења на одређеним скалама (број корисника) позната је као тестирање скалабилности . Тестирање скалабилности навише и надоле се назива тестирање скалабилности.
Тестирање скалабилности је подељено на два дела, а то су:
Тестирање скалабилности навише
То је тестирање где ми повећати број корисника на одређеној скали док не добијемо тачку судара. Користићемо тестирање скалабилности навише да бисмо пронашли максимални капацитет апликације.
Тестирање скалабилности наниже
Тестирање скалабилности наниже се користи када тестирање оптерећења није прошло, а затим почните смањење бр. корисника у одређеном интервалу док се циљ не постигне. Тако да је лако идентификовати уско грло (буг).
Испитивање стабилности
Провера перформанси апликације од применом оптерећења у одређеном временском периоду је познат као Испитивање стабилности .
Пример тестирања перформанси
Узмимо један пример где хоћемо тестирати понашање апликације где је жељено оптерећење или мање од 1000 или једнако 1000 корисника .
На слици испод можемо видети да је 100 горе број корисника се стално повећава да би проверили максимално оптерећење , који се још назива тестирање скалабилности навише .
1200 → 3,5сец: [није мање или једнако жељеном оптерећењу зато ће Фаил ]
1300 → 4сец: [није мање или једнако жељеном оптерећењу. тј. Фаил ]
1400 → Срушио се
Напомена 1: Тестирање запремине и упијања је врста тестирања, али не и тестирање перформанси.
Волуме тестинг
Волуме тестинг је тестирање, које нам помаже да проверимо понашање апликације уметањем огромне количине оптерећења у смислу података познато је као тестирање запремине, и овде ћемо се концентрисати на број брзина преноса података него на број корисника .
Ноте 2:
Запремина је капацитет док је Оптерећење количина, односно, тестирање оптерећења значи бр. корисника, а обимно тестирање значи количину података.
Тестирање намакањем
У овој врсти тестирања, ми ћемо проверити понашање апликације у окружењу, које дуго времена не подржава, познато је као тестирање упијања.
Уопштено говорећи, тестирање намакања је негативна врста тестирања јер већ знамо да сервер или окружење не подржавају.
низ јава
Процес тестирања перформанси
Тестирање перформанси се не може обавити ручно јер:
- Треба нам много ресурса, а то је постао скупљи приступ.
- А тачност се не може одржати када ручно пратимо време одговора.
Процес тестирања перформанси ће бити завршен у следећим корацима:
- Идентификујте сценарије перформанси
- Планирајте и дизајнирајте скрипту за тестирање перформанси
- Конфигуришите тестно окружење и распоредите оптерећење
- Извршите тест скрипте
- Резултат
- Резултат анализе
- Идентификујте уско грло
- Поново покрените тест
Ако изведемо а позитиван ток процеса тестирања перформанси, могао би да прати следећи процес:
Идентификујте сценарије перформанси
Прво ћемо идентификовати сценарије учинка на основу ових фактора у наставку:
Најчешћи сценарији: То значи да можемо пронаћи сценарије перформанси на основу сценарија, који се обично користе као у Гмаил апликација; ми ћемо наступити пријављивање, пријемно сандуче, слање ставки, састављање поште и одјава .
Најкритичнији сценарији: Критични сценарији значе редовно коришћене и важне за пословање у Гмаил апликацији пријављивање, писање, пријемно сандуче и одјава .
Огромна трансакција података: Ако имамо огромне податке значи да је н-број корисника који користе апликацију у исто време.
Када идентификујемо сценарије перформанси, прећи ћемо на следећи корак.
Планирајте и дизајнирајте скрипту за тестирање перформанси
У овом кораку ћемо инсталирати алате у Тест Енгинеер Мацхине и приступити тест серверу, а затим ћемо написати скрипту према сценаријима тестирања и покренути алат.
Када завршимо са писањем сценарија, прећи ћемо на следећи корак.
Конфигуришите тестно окружење и распоредите оптерећење
Након што напишемо тест скрипте, средићемо окружење за тестирање пре извршења. Такође, управљајте алатима, другим ресурсима и расподелите оптерећење према 'Усаге Паттерн' или наведите трајање и стабилност.
Извршите тест скрипте
Када завршимо са дистрибуцијом оптерећења, извршићемо, потврдити и надгледати тест скрипте.
Резултат
Након извршавања тест скрипти, добићемо резултат теста. И проверите да ли резултат испуњава циљ у датом времену одговора или не, а време одговора може бити максимално, просечно и минимално.
Ако одговор не задовољава тражени временски одговор, онда ћемо прећи на негативан ток где ће се извршити следећи кораци:
филмска глумица Кајал
Резултат анализе
Прво ћемо анализирати резултат теста да ли одговара времену одговора или не.
Идентификујте уско грло
Након тога ћемо идентификовати уско грло (проблем са грешком или перформансама ). А уско грло би могло настати због ових аспеката као што су проблем у коду, проблем са хардвером (тврди диск, РАМ процесор), проблеми са мрежом, анд тхе проблем са софтвером (оперативни систем) . И након проналаска уског грла, наступићемо подешавање (поправка или подешавање) да се ово уско грло реши.
Поново покрените тест
Када поправимо уска грла, поново покрените тест скрипте и проверите резултат да ли испуњава тражени циљ или не.
Проблем се јавља у тестирању перформанси
Током обављања тестирања перформанси апликације, могу се појавити неки проблеми, а ти проблеми се такође називају питање перформанси .
Проблеми са перформансама су следећи:
Проблем са временом одговора
Време одговора значи колико брзо сервер одговара на захтев клијента. Ако се захтев корисника не заврши у датом времену за одговор, могуће је да корисник изгуби интересовање за одређени софтвер или апликацију. Зато апликација или софтвер треба да имају савршено време одговора за брзи одговор на захтев корисника.
Проблем скалабилности
Проблеми са скалабилностом настају када апликација не може истовремено да прихвати н-број корисника и очекиване корисничке захтеве. Зато ћемо тестирање скалабилности навише (проверите максимални капацитет апликације) и тестирање скалабилности наниже (када се очекивано време не поклапа са стварним временом).
Уско грло
Уско грло је неформални назив грешке, која се јавља када је апликација ограничена једном компонентом и ствара лош утицај на перформансе система.
Главни узроци уског грла су проблеми са софтвером (проблеми у вези са оперативним системом), проблеми са хардвером (проблеми у вези са чврстим диском, РАМ-ом и процесором), и проблем кодирања, итд.
Следе најчешћа уска грла у перформансама:
- Коришћење меморије
- Коришћење диска
- Искоришћеност ЦПУ-а
- Ограничења оперативног система
- Коришћење мреже
Проблеми са брзином
Када вршимо тестирање перформанси апликације, апликација би требало да буде бржа да би привукла интересовање и пажњу корисника, јер ако је брзина апликације спора, може изгубити интересовање корисника за апликацију.
Алати за тестирање перформанси
Имамо различите врсте алата за тестирање перформанси доступних на тржишту, од којих су неки комерцијални алати и алати отвореног кода.
Комерцијални алати: ЛоадРуннер[ХП], ВебЛОАД, НеоЛоад
Алатка отвореног кода: ЈМетер
ЛоадРуннер
То је један од најмоћнијих алата за тестирање перформанси, који се користи за подршку тестирању перформанси за широк спектар протокола, број технологија и окружења апликација.
Брзо идентификује најчешће узроке проблема са перформансама. И такође тачно предвиди скалабилност и капацитет апликације.
ЈМетер
Софтвер Апацхе ЈМетер је алатка отвореног кода, која је у потпуности Јава апликација дизајнирана да учита понашање функционалног теста и мери перформансе.
Генерално, дизајниран је за тестирање веб апликација, али је сада проширен и на друге тестне функције.
Апацхе ЈМетер се користи за тестирање перформанси за статичке и динамичке ресурсе и динамичке веб апликације.
Може се користити за репродукцију великог оптерећења на серверу, мрежи или објекту, групи сервера за тестирање његове снаге или за анализу укупних перформанси под различитим типовима оптерећења.
ц боолеан
ВебЛОАД
ВебЛОАД алатка за тестирање која се користи за тестирање веб апликација за тестирање оптерећења, тестирање перформанси и стрес тест.
ВебЛОАД алат комбинује перформансе, скалабилност и интегритет као један процес за верификацију веб и мобилних апликација.
НеоЛоад
Неотис развија алатку за тестирање која се зове НеоЛоад. НеоЛоад се користи за тестирање сценарија тестирања перформанси. Уз помоћ НеоЛоад-а, можемо пронаћи подручја уских грла у вебу и процесу развоја мобилних апликација.
Алат за тестирање НеоЛоад је бржи у поређењу са традиционалним алатима.
Осим њих, постоје још неки алати Електрично оптерећење, алатка за веб стрес, ЛоадУИ Про, СтресСтимулус, ЛоадВиев, ЛоадНиња и РедЛине13, што помаже у тестирању перформанси софтвера или апликације.