what is scalability testing
Увод у испитивање скалабилности:
Тестирање скалабилности је нефункционална тестна методологија у којој се перформансе апликације мере у смислу њене способности да повећа или смањи број корисничких захтева или других таквих атрибута мере перформанси.
Тестирање скалабилности може се извршити на нивоу хардвера, софтвера или базе података.
Параметри који се користе за ово тестирање разликују се од апликације до апликације, за веб страницу то може бити број корисника, коришћење процесора, употреба мреже, док би за веб сервер то био број обрађених захтева.
Овај водич ће вам дати потпун преглед Тестирање скалабилности, заједно са својим атрибутима и разним корацима који су укључени у извођење теста, са практичним примерима који ће вам омогућити да концепт разумете на бољи начин.
јава низ уклони елемент у индексу
Шта ћете научити:
- Испитивање скалабилности вс тестирање оптерећења
- Атрибути испитивања скалабилности
- Кораци за тестирање скалабилности апликације
- Закључак
- Препоручено читање
Испитивање скалабилности вс тестирање оптерећења
Испитивање оптерећења мери апликацију која се тестира под максималним оптерећењем при којем би систем пао. Главна сврха испитивања оптерећења је идентификација вршне тачке након које корисници не би могли да користе систем.
Јава кодирање интервју питања и одговори за искусне
Оптерећење и скалабилност спадају у методологију испитивања перформанси.
Скалабилност се разликује од тестирања оптерећења по томе што тест скалабилности мери систем на минималном и максималном оптерећењу на свим нивоима, укључујући ниво софтвера, хардвера и базе података. Када се утврди максимално оптерећење, програмери треба да реагују на одговарајући начин како би осигурали да је систем скалабилан након одређеног оптерећења.
Пример: Ако испитивање скалабилности утврди да је максимално оптерећење 10.000 корисника, да би систем био скалабилан, програмери треба да предузму мере на факторе као што су смањење времена одзива након достизања ограничења од 10.000 корисника или повећање величине РАМ-а како би се прилагодили растућим корисничким подацима.
Испитивање оптерећења укључује стављање максималног оптерећења на развијене апликације одједном, док испитивање скалабилности укључује постепено повећавање оптерећења током одређеног временског периода.
Тестирање учитавања одређује тачку у којој се апликација руши, док скалабилност покушава да идентификује разлог пада апликације и предузме кораке за решавање проблема.
Укратко, Лоад Тестинг помаже у идентификовању проблема са перформансама, док тестирање скалабилности помаже да се утврди да ли систем може да се повећа до све већег броја корисника.
Атрибути испитивања скалабилности
Атрибути теста скалабилности дефинишу мере перформанси на основу којих ће се ово тестирање извршити.
Следе неки од уобичајених атрибута:
1) време одзива:
- Време одзива је време између корисничког захтева и одговора апликације. Ово тестирање се врши да би се идентификовало време одзива сервера под минималним оптерећењем, граничним оптерећењем и максималним оптерећењем да би се идентификовало место у којем би се апликација прекинула.
- Време одзива може се повећати или смањити на основу различитог оптерећења корисника у апликацији. У идеалном случају, време одзива апликације смањивало би се како се оптерећење корисника повећава.
- Апликација се може сматрати скалабилном ако може пружити исто време одзива за различите нивое корисничког оптерећења.
- У случају кластер окружења у којима се оптерећење апликације распоређује на више компоненти сервера, тестирање скалабилности мора мерити у којој мери уравнотеживач оптерећења дистрибуира оптерећење између више сервера. Ово ће осигурати да један сервер не буде преоптерећен захтевима, док други сервер седи у стању мировања и чека да захтев уђе.
- Време одзива сваке серверске компоненте мора се пажљиво измерити ако је апликација хостована у кластер окружењу, а тестирање скалабилности мора осигурати да време одзива сваке серверске компоненте мора бити исто без обзира на количину оптерећења на сваком серверу.
- Пример: Време одзива може се мерити као време у којем корисник уноси УРЛ у веб прегледач до времена до ког веб страници треба за учитавање садржаја. Што је мање времена одзива, то би перформансе апликације биле веће.
2) Пропусност:
- Пропусност је мера броја захтева које апликација обрађује у јединици времена.
- Исход протока може се разликовати од једне до друге апликације. Ако се ради о веб апликацији, проток се мери у смислу броја обрађених захтева корисника у јединици времена и ако је реч о бази података. проток се мери у смислу броја упита обрађених у јединици времена.
- Сматра се да је апликација скалабилна ако може да пружи исти проток за различите нивое оптерећења унутрашњих апликација, хардвера и базе података.
3) Употреба процесора:
- Употреба ЦПУ-а је мера коришћења ЦПУ-а за извршавање задатка помоћу апликације. Коришћење процесора се обично мери у јединицама МегаХертз.
- У идеалном случају, што је оптимизованији код апликације, мање ће бити примећено коришћење ЦПУ-а.
- Да би то постигле, многе организације користе стандардне праксе програмирања како би смањиле употребу ЦПУ-а на минимум.
- Пример: Уклањање мртвог кода у апликацији и минимизирање употребе Тхреада. Методе спавања су једна од најбољих пракси програмирања за смањење употребе ЦПУ-а.
4) Употреба меморије:
- Употреба меморије је мера меморије коју апликација троши за извршавање задатка.
- У идеалном случају, меморија се мери у бајтовима (МегаБитес, ГигаБитес или Тера Битес) које развијена апликација користи за приступ меморији случајног приступа (РАМ).
- Употреба меморије у апликацији може се свести на минимум следећи најбоље програмске праксе.
- Примери најбоље праксе програмирања били би не коришћење сувишних петљи, смањивање погодака у базу података, употреба кеш меморије, оптимизација употребе СКЛ упита итд. Сматра се да је апликација скалабилна ако минимализује употребу меморије на максимални могући степен.
- Пример: Ако простора за складиштење расположивог за одређени број корисника остане без меморије, програмер ће бити приморан да дода додатно складиште базе података како би надокнадио губитак података.
5) Коришћење мреже:
- Коришћење мреже је количина пропусног опсега коју апликација која се тестира троши.
- Циљ употребе мреже је смањење загушења мреже. Коришћење мреже мери се бајтовима примљеним у секунди, примљеним кадровима у секунди, примљеним и послатим сегментима у секунди итд.
- Технике програмирања попут употребе техника компресије могу помоћи у смањењу загушења и смањењу употребе мреже. Сматра се да је апликација скалабилна ако може да ради са минималним загушењима мреже и пружа високе перформансе апликације.
- Пример: Уместо да следи механизам реда за обраду корисничких захтева, програмер може написати код за обраду корисничких захтева када и када захтев стигне у базу података.
Поред ових параметара, постоји још неколико мање коришћених параметара као што су време одговора на захтев сервера, време извршавања задатка, време трансакције, време учитавања веб странице, време за преузимање одговора из базе података, време поновног покретања, време исписа, време сесије, прелазак екрана , трансакције у секунди, погоци у секунди, захтеви у секунди итд.
Атрибути за тестирање скалабилности могу се разликовати од једне до друге апликације, јер мера перформанси веб апликација не мора бити иста као она радне површине или клијент-сервер апликације.
Кораци за тестирање скалабилности апликације
Главна предност извођења овог тестирања на апликацији је разумевање понашања корисника када се достигне максимално оптерећење и начини за његово решавање.
Такође, ово тестирање омогућава тестерима да идентификују деградацију на страни сервера и време одзива с обзиром на оптерећење корисника апликације. Као резултат, ово тестирање се преферира у неколико организација широм света.
како отворити бинарну датотеку у Виндовсима
Доље је дата листа корака за тестирање скалабилности апликације:
- Направите поновљиве сценарије теста за сваки од атрибута тестирања скалабилности.
- Тестирајте апликацију на различите нивое оптерећења као што су мала, средња и велика оптерећења и проверите понашање апликације.
- Направите тест окружење које је довољно стабилно да издржи читав циклус тестирања скалабилности.
- Конфигуришите хардвер неопходан за обављање овог тестирања.
- Дефинишите скуп виртуелних корисника за верификацију понашања апликације под различитим оптерећењем корисника.
- Поновите сценарије тестирања за више корисника под различитим условима интерних апликација, хардвера и промена базе података.
- У случају кластер окружења, потврдите да ли уравнотеживач терета усмерава корисничке захтеве на више сервера како би се осигурало да ниједан сервер није преоптерећен низом захтева.
- Извршите тест сценарије у тест окружењу.
- Анализирајте генерисане извештаје и проверите подручја побољшања, ако их има.
Закључак
Укратко,
=> Тестирање скалабилности је нефункционална методологија тестирања да би се верификовало да ли апликација може да се повећа или смањи на различите атрибуте. Атрибути коришћени за ово тестирање ће се разликовати од једне до друге апликације.
=> Главни циљ овог тестирања је утврдити када апликација почиње да се деградира при максималном оптерећењу и предузети одговарајуће кораке како би се осигурало да је развијена апликација довољно скалабилна да прилагоди променама у интерним апликацијама, софтверу, хардверу и такође у бази података промене у будућности.
=> Ако се ово тестирање изведе правилно, у развијеним апликацијама могу се открити главне грешке у погледу перформанси софтвера, хардвера и базе података.
=> Главни недостатак овог тестирања било би ограничење складиштења података, уз ограничења величине базе података и простора међуспремника. Такође, ограничења пропусног опсега мреже могу бити препрека тестирању скалабилности.
=> Процес тестирања скалабилности разликује се од организације до организације јер ће се атрибути теста скалабилности једне апликације разликовати од осталих апликација.
Препоручено читање
- Испитивање оптерећења помоћу ХП ЛоадРуннер водича
- Испитивање перформанси вс испитивање оптерећења вс тестирање напрезања (разлика)
- Разлика између тестирања радне површине, клијентског сервера и веб тестирања
- Испитивање оптерећења, стреса и перформанси веб апликација помоћу ВАПТ-а
- Најбољи алати за тестирање софтвера 2021. [Алати за аутоматизацију КА теста]
- Водич за тестирање безбедности веб апликација
- Тестирање апликација - у основе тестирања софтвера!
- Инсталирајте своју апликацију на уређај и започните тестирање из програма Ецлипсе