Какво е тестване за накисване? Определение, значение, примери

Тестване на накисване

Тестване на накисване е вид нефункционално тестване, което се използва за измерване на производителността на софтуерно приложение при голямо натоварване за продължителен период от време. Целта на тестването на Soak е да се гарантира дали софтуерното приложение поддържа голям обем на използване и да се провери какво би се случило извън очакванията на неговия дизайн.

Изображението по-долу изобразява цикъл на тестване, който показва на кой етап е тестът за накисване (Тип тест за ефективност) се извършва върху приложение.

Тестване на накисване

При този тип тестване основното наблюдавано е използването на паметта от приложение в системата. Тества се на системно ниво, за да се установи дали системата ще издържи на много голям обем на използване и да се види какво би се случило извън проектните очаквания.

Защо да правите тестове за накисване?

Една система може да се държи нормално, когато се използва в продължение на 2 часа, но когато същата система се използва непрекъснато в продължение на 10 часа или повече от това, тогава тя може да се повреди или да се държи необичайно/произволно/може да се срине. За да се предскаже такава повреда, се извършва изпитване на накисване.

Кога да се направи тест за накисване?

Тестът за накисване трябва да се извърши при следните сценарии: –

  1. Преди изграденото да бъде внедрено на клиента, т.е. преди пускането на което и да е приложение на конкретна платформа, то трябва да премине през успешна серия от тестове за натоварване при високи или еквивалентни нива на трафик. След това се извършва изпитване на накисване. Помага ни да определим как да изпълняваме конкретно приложение за продължителен период от време. Ако се открият проблеми като изтичане на памет/повреда на паметта по време на периода, т.е. когато е на Soak, тогава това трябва да бъде докладвано незабавно.
  2. Най-доброто време за извършване на тестване за накисване е през уикендите, тъй като приложението трябва да бъде в работещо състояние за период от един ден или нощ. Изцяло зависи от ограниченията на тестовата ситуация. Тестовете за накисване са едно от най-важните изисквания за съответствие, което трябва да се спазва много стриктно от всяка компания.

Стратегия за тестване на накисване

Тестването с накисване при дълга сесия е стратегия, при която системата е под натоварване за по-дълго време.

Прост пример е, когато потребителят остава влязъл в системата в продължение на много часове, изпълнявайки редица бизнес транзакции. По този начин се създават много данни. Може да има голямо натоварване на системата/сървъра на базата данни, което може да доведе до спиране/срив на системата/сървъра на базата данни.

При тестване с накисване с дълга сесия многодневни (да речем 30 дни) дейности се извършват в ограничена времева рамка (да речем 2 дни). Броят на транзакциите в тази ограничена времева рамка трябва да съответства или да надвишава транзакциите за няколко дни. Фокусът трябва да бъде върху броя на обработените транзакции. Най-важната част от Soak Testing е да се провери наличната памет в процесора и количеството памет, което ще се използва. Трябва да запишем използването на паметта в началото и в края на теста за накисване. Ако е необходимо, тогава използването на паметта на съоръжения като Java Виртуалните машини също са важни и трябва да бъдат наблюдавани.

По-долу са дадени още няколко проверки, които трябва да се извършат от всеки потребител/тестер, преди да започнат с теста за накисване:

а) Наблюдавайте потреблението на ресурсите на базата данни.

b) Наблюдавайте потреблението на сървърни ресурси (без използване на процесора).

в) Тестът за накисване трябва да се изпълнява с реалистична потребителска паралелност.

Характеристики на теста за накисване

Стандартният метод за изпитване на накисване трябва да има следните характеристики:

  • Продължителността на повечето тестове за накисване често се определя от наличното време.
  • Всяко приложение трябва да работи без прекъсване, ако изисква продължителен период от време.
  • Той трябва да обхваща всички сценарии, които са договорени от заинтересованите страни.
  • В повечето случаи всяка система има редовен период от време за поддръжка и времето между тези периоди е ключов фактор за определяне на обхвата на теста за накисване.

ПРИМЕРИ за тестове за накисване

  • В случай на банков домейн, когато има голямо количество данни от търговци, тестерът ще постави системата под непрекъснато натоварване за 70 часа до 150 часа, за да провери как се държи приложението по време на този период на зареждане.
  • Да предположим, че има 33,000 60 влизания, които трябва да бъдат пуснати през системата, това представлява седем дни и половина активност. В този случай 70-6 часа тест за накисване може да започне до петък вечерта около XNUMX часа, който може да бъде завършен до Monday сутринта в 6 сутринта. Само с такъв тест ще бъде възможно да се наблюдава всяко влошаване на производителността при контролирани условия.
  • В случай на видео игри, подвижен приложения и т.н. включват оставяне на играта или приложението в работещо състояние за продължителен период от време, в различни режими на работа - като празен ход, пауза на заглавния екран и т.н., за да разберете дали приложението може да се справи с непрекъснато очакваното натоварване .

Често срещани проблеми, наблюдавани по време на тестване на накисване

  1. Разпределяне на памет (изтичане на памет, което в крайна сметка би довело до криза на паметта или грешки при закръгляване, които се проявяват само с течение на времето).
  2. Използване на ресурсите на базата данни (Неуспешно затваряне на курсорите на базата данни при някои условия, което в крайна сметка би довело до блокиране на цялата система).
  3. Това може също да доведе до влошаване на производителността, т.е. да се гарантира, че времето за реакция след дълъг период на продължителна активност е толкова добро, колкото е било в началото на теста.
  4. Неуспешно затваряне на връзки между нива на многослойна система при определени обстоятелства, което може да спре някои или всички модули на системата.
  5. Постепенното влошаване на времето за реакция на някои функции, тъй като вътрешните структури от данни стават по-малко ефективни по време на дълъг тест.

Oбобщение

  • In Софтуерно инженерство, Извършва се тест за накисване, за да се определи дали приложението, което се тества, може да издържи непрекъснатото натоварване.
  • Това е вид тест за ефективност.
  • Помага на системата да определи дали ще издържи на много голям обем на използване
  • При този тип тестване основното наблюдавано е използването на паметта от приложение в системата
  • Проверките, които трябва да бъдат извършени от всеки потребител/тестер, преди да започнат с Тестване за накисване, включват
  • Наблюдавайте потреблението на ресурсите на базата данни.
  • Наблюдавайте консумацията на ресурси на сървъра (използване на процесора).
  • Soak test трябва да се изпълнява с реалистична потребителска паралелност.