Тестирање Софтвера

Тестирање скалабилности за почетнике

30. октобар 2021

Тестирање скалабилности је а нефункционално тестирање метод који мери перформансе система или мреже када се број корисничких захтева повећа или смањи. Сврха овог тестирања је да се увери да систем може да поднесе пројектовано повећање обима података, корисничког саобраћаја, учесталости бројања трансакција, итд. То тестира систем у стању да задовољи растуће потребе.

Такође се назива тестирање перформанси, јер се фокусира на понашање апликације када се примени на систем или тестира под прекомерним оптерећењем. Тестирање скалабилности се користи за мерење начина на који апликација зауставља скалирање и идентификује разлог за то.

ПРИМЕР: Претпоставимо да тестирање скалабилности одређује максимално оптерећење на 10.000 корисника, а затим да систем буде скалабилан. У том случају, програмери треба да смање време одговора након што се достигне ограничење од 10.000 корисника или да повећају величину РАМ-а да би се прилагодили растућим корисничким подацима.

Преглед садржаја

Предуслови за тестирање скалабилности

    Способност дистрибуције оптерећења-Проверите да ли је алату за испитивање оптерећења потребно неколико машина за производњу оптерећења и управљање њиме са централне тачке.Оперативни систем-Проверите да агенти за генерисање оптерећења и мастер тест оптерећења раде под којим оперативним системимапроцесор-Проверите виртуелни кориснички агент и мастер теста оптерећења да бисте сазнали која врста ЦПУ-а је потребнаМеморија-Проверите колико меморије за виртуелни кориснички агент и мастер тест оптерећења ће бити довољно.

Кораци за покретање тестирања скалабилности

  1. Дефинишите процес који је поновљив за извршавање тестова скалабилности.
  2. Сада одредите критеријуме скалабилности.
  3. Сада направите ужи избор софтверских алата потребних за покретање теста.
  4. Подесите окружење и конфигуришите хардвер потребан за извођење тестова.
  5. Планирајте тест као и тестове скалабилности.
  6. Креирајте и проверава визуелни скрипт.
  7. Креирајте и демонстрирајте сценарије теста оптерећења.
  8. Извршите тестове.
  9. Оцените резултате.
  10. Генеришите потребне извештаје.

Савети за побољшање скалабилности

  1. Растерећење базе података ограничавањем трансакција. Међутим, немојте претерати, учитавајући све у слој апликације. Можете се суочити са другим проблемима са перформансама.
  2. Мењајте једну по једну променљиву. Ово одузима много времена, али превише промена одједном може погоршати перформансе ваше апликације.
  3. Ресетујте све пре извршавања теста како бисте били сигурни да тестови не утичу на ваш тренутни. Препоручује се да поново покренете цео софтверски систем, али можете оставити свој хардвер да ради.
  4. Кеш меморије могу значајно помоћи у ослобађању ресурса. Размислите о имплементацији ЦДН-а да бисте смањили оптерећење вашег изворног сервера и поставили га на ЦДН сервере за још брже перформансе.
  5. Нема потребе да се подаци трајно чувају у бази података. Чувајте само неопходне податке који вам помажу да унапредите своје пословање или апликацију.
  6. Разбијање процеса у фазе и њихово раздвајање у редове које треба да изврши минималан број радника може вам дати повећање перформанси.
  7. Аутоматизујте процес тестирања. На овај начин можете провести радно време анализирајући тестове који се спроводе ван радног времена. Аутоматизација осигурава да се тестирање и поновно тестирање обављају доследно са истим подешавањима.
  8. Ограничите приступ ресурсима. Ако имате различите захтеве за исту помоћ која обавља исти прорачун, нека се сваки заврши пре него што почнете. У супротном, процес ће се успорити.
  9. Мрежна комуникација траје више времена него комуникација у меморији, ограничавајући чаврљање између ваше апликације и мреже.

ПРОС

  • Помаже у одређивању недостатака веб апликације која се тестира у смислу употребе мреже, времена одговора, употребе ЦПУ-а итд.
  • Он одређује искуство крајњег корисника под оптерећењем. Требало би унапред предузети исправне мере да би се отклонили проблеми и апликација учинила скалабилнијом.
  • Да бисте смањили ризик од губитка новца и добре воље због лоших перформанси апликације, кључно је да урадите тестирање скалабилности пре него што је пустите у производно окружење.
  • Тестирање скалабилности помаже у корисном праћењу коришћења алата.
  • Открива тачан узрок неколико проблема са перформансама у апликацији у фази тестирања, штедећи време и новац ако се открије у производном окружењу.

ЦОНС

  • Употреба алата за тестирање скалабилности и одређеног тима за тестирање за тестирање перформанси може довести до прекорачења буџета.
  • Тестови који добро функционишу бивају неуспешни у фази тестирања због погрешног теста, а тест скрипте доводе до губљења времена у уносу измена.
  • Функционалне грешке се не могу идентификовати у тестирању скалабилности.
  • Прозор за тестирање је веома узак да не би пореметио пословне процесе, а самим тим и недостаци остају неоткривени.
  • Време утрошено на тестирање сваког атрибута тестирања скалабилности је понекад велико и може да одложи испуњавање рокова пројекта.
  • Окружење за тестирање није исто као производно окружење и може довести до различитих проблема.

Атрибути за тестирање скалабилности

    Пропусност

Дефинише се као неколико захтева обрађених у јединици времена. Међутим, за различите апликације, дефиниција протока може да варира и тестира се другачије.

    Употреба меморије

Коришћење меморије се такође тестира да би се добили најбољи резултати потрошње меморије за апликацију. За мање коришћење меморије, програмери би требало да следе добре праксе програмирања као што је мање коришћење сувишних петљи, смањење броја погодака у бази података, руковање потпуним валидацијама само на страни клијента, итд. Апликација често остаје без меморије због великог број захтева, тако да би програмери увек требало да воде додатну базу података за решавање таквих ситуација.

    ЦПУ Усаге

Тестира се да провери ЦПУ који се користи за обављање задатка у апликацији. Употреба ЦПУ-а се мери у мегахерцима. За већу пропусност и мање коришћење ЦПУ-а, код било које апликације написан на било ком програмском језику треба да буде правилно оптимизован.

    Коришћење мреже

Тестира се пропусни опсег који се троши у обављању задатка у апликацији. Коришћење мреже се мери бајтовима, сегментима, примљеним или послатим пакетима у секунди преко мреже. Да би беспрекорна апликација дала најбоље резултате, коришћење мреже би требало да буде минимално.

    Време одзива

Време одзива је време између одговора и корисничког захтева са сервера апликација. Тестира се на различитим оптерећењима или повећањем броја захтева по кориснику или повећањем броја корисника да би се проверило да ће у ком тренутку апликација почети да одговара касно.

План тестирања скалабилности

Направите детаљан распоред истраживања пре него што коначно направите експерименте. То је суштински корак да се осигура да је евалуација у складу са спецификацијама апликације.

    Кораци за скрипте:Требало би предузети детаљан корак у сценарију теста да би се одлучило о прецизним радњама које ће особа извршити.Подаци о времену извођења:Сви подаци о времену извођења који се користе за комуникацију са програмом могу се одредити распоредом тестирања.Тестови засновани на подацима:Ако скрипте захтевају различите податке током извршавања, сва поља којима су ти подаци потребни морају бити позната.

Најбољи алати за тестирање скалабилности

ЦиберФлоод

ЦиберФлоод је моћно и једноставно за коришћење решење за тестирање које генерише реалистичан саобраћај апликација и нападе да би тестирали перформансе, скалабилност и безбедност ваших мрежних уређаја и решења који су свесни апликација. Тестирајте и примените смернице за саобраћај апликација. Бенцхмарк перформансе и капацитет. Потврди мрежна безбедност .

КАРАКТЕРИСТИКЕ

  • Емулација, а не симулација.
  • Широке могућности.
  • Шифровање.

ЦЕНА

Морате контактирати продавца за цену.

Лоад Импацт

Лоад Импацт је систем за тестирање заснован на облаку за креирање својих веб локација, мобилних апликација и АПИ-ја извођењем серије тестова перформанси који показују издржљивост вашег система на стрес.

КАРАКТЕРИСТИКЕ

  • Могућност додавања додатних ИП адреса.
  • АПИ тестирање.
  • Аутоматско и напредно писање скрипти.
  • Емулација претраживача.
  • Мобилно тестирање

ЦЕНА

    Основни-89 долара месечноСтандард-299 долара месечнонапредно-699 долара месечноЗа-1299 долара месечно

ФАКс

Шта је тестирање скалабилности?

Тестирање скалабилности је нефункционална метода тестирања која мери перформансе система или мреже када се број корисничких захтева повећа или смањи. Сврха овог тестирања је да се увери да систем може да поднесе пројектовано повећање обима података, корисничког саобраћаја, учесталости бројања трансакција, итд. То тестира систем у стању да задовољи растуће потребе.

Зашто постоји потреба за тестирањем скалабилности?

Тестирање скалабилности вам помаже да утврдите како се ваша апликација повећава са повећањем радног оптерећења.
Он одређује ограничење корисника за веб апликацију.
Он одређује деградацију на страни клијента и искуство крајњег корисника под оптерећењем.
Одређује робусност и деградацију на страни сервера.