Тест за накисване
Soak Testing е вид нефункционално тестване, което се използва за измерване на производителността на софтуерно приложение при огромен обем натоварване за продължителен период от време. Целта на теста Soak е да гарантира дали софтуерното приложение поддържа голям обем на използване и да провери какво ще се случи извън очакванията му за дизайн.
Изображението по-долу изобразява цикъл на изпитване, който показва на кой етап се извършва тестването на накисване ( тип тест за ефективност ) на приложение.
При този тип тестване основно се наблюдава използването на паметта от приложение в системата. Тества се на системно ниво, за да се установи дали системата ще издържи на много голям обем на използване и да се види какво ще се случи извън нейните дизайнерски очаквания.
В този урок ще научите -
- Защо тестване на накисване?
- Кога да се направи тестване на накисване?
- Стратегия за тестване на накисване
- Характеристики на теста за накисване
- ПРИМЕРИ за тестване на накисване
- Често срещани проблеми, наблюдавани по време на теста за накисване
Защо тестване на накисване?
Системата може да се държи нормално, когато се използва в продължение на 2 часа, но когато същата система се използва непрекъснато в продължение на 10 часа или повече от това, тогава тя може да се повреди или да се държи необичайно / произволно / може да се срине. За да се предскаже такава повреда се извършва Soak Testing.
Кога да се направи тестване на накисване?
Тестването на накисване трябва да се извършва в следните сценарии: -
- Преди вграденото да бъде внедрено в клиента, т.е. преди пускането на което и да е приложение на определена платформа, то трябва да премине през успешна поредица от тестове за натоварване при високи или еквивалентни нива на трафик. След това се извършва тестване на накисване . Помага ни да определим как да стартираме конкретно приложение за продължителен период. Ако проблеми като изтичане на памет / повреда на паметта бъдат открити през периода, т.е. когато е на Soak, трябва незабавно да се докладва.
- Най-доброто време за тестване на накисване е през почивните дни, тъй като приложението трябва да е в работно състояние толкова дълго, колкото през деня или нощта. Това изцяло зависи от ограниченията на ситуацията на тестване. Тестовете за накисване са едно от най-важните изисквания за съответствие, които трябва да се следват много стриктно от всяка компания.
Стратегия за тестване на накисване
Тестът за накисване с дълга сесия е стратегия, при която системата е под натоварване за по-дълго време.
Един прост пример е, когато потребителят остава влязъл в системата в продължение на много часове, изпълнявайки редица бизнес транзакции. По този начин се създават много данни. Може да има много натоварване на сървъра на системата / базата данни, което може да доведе до забавяне / срив на сървъра на системата / базата данни.
При теста за накисване с продължителна сесия се извършват многодневни (да речем 30 дни) дейности в ограничен период от време (да речем 2 дни). Броят на транзакциите в този ограничен период от време трябва да съвпада или да надхвърля транзакциите на стойност няколко дни. Фокусът трябва да бъде върху броя на обработените транзакции. Най-важната част от Soak Testing е да се провери наличната памет в процесора и количеството памет, която ще се използва. Трябва да запишем използването на паметта в началото и в края на теста за накисване. Ако е необходимо, тогава използването на паметта на съоръжения като Java Virtual Machines също е важно и трябва да се следи.
По-долу има още няколко проверки, които трябва да бъдат извършени от всеки потребител / тестер, преди да започнат с тестване на накисване:
а) Наблюдавайте потреблението на ресурси на базата данни.
б) Наблюдавайте потреблението на сървърни ресурси (предишно използване на процесора).
в) Тестът за накисване трябва да работи с реалистична паралелност на потребителя.
Характеристики на теста за накисване
Стандартният метод за тестване на накисване трябва да има следните характеристики:
- Продължителността на повечето тестове за накисване често се определя от наличното време.
- Всяко приложение трябва да работи без прекъсване, ако изисква продължителен период от време.
- Той трябва да обхваща всички сценарии, договорени от заинтересованите страни.
- Почти всяка система има редовен период от време за поддръжка и времето между тях е ключов двигател за определяне на обхвата на Soak Test.
ПРИМЕРИ за тестване на накисване
- В случай на банков домейн, когато има голямо количество данни от търговци, тестерът ще натовари системата непрекъснато от 70 часа до 150 часа, за да провери как приложението се държи през този период на зареждане.
- Да предположим, че има 33 000 влизания, които трябва да бъдат въведени през системата, това представлява седем дни и половина активност. В този случай 60-70 часа тест за накисване може да започне до петък вечерта около 18:00, който може да бъде завършен до понеделник сутринта в 6 сутринта. Само с такъв тест ще бъде възможно да се наблюдава всяко влошаване на производителността при контролирани условия.
- В случай на видеоигри, мобилните приложения и т.н. включват оставяне на играта или приложението в работещо състояние за продължителен период от време, в различни режими на работа - като празен ход, пауза на заглавния екран и така нататък, за да разберете дали приложението може да се справи с непрекъснато очакваното натоварване.
Често срещани проблеми, наблюдавани по време на теста за накисване
- Разпределение на паметта (изтичане на памет, което в крайна сметка би довело до криза в паметта или закръгляване, които се проявяват само с течение на времето)
- Използване на ресурсите на базата данни (Неуспех при затваряне на курсори на база данни при някои условия, което в крайна сметка би довело до спиране на цялата система).
- Това може също да доведе до влошаване на производителността, т.е. да гарантира, че времето за реакция след дълъг период на продължителна активност е толкова добро, колкото е било в началото на теста.
- Неуспех при затваряне на връзки между нива на многостепенна система при някои обстоятелства, които биха могли да спрат някои или всички модули на системата.
- Постепенното влошаване на времето за реакция на някои функции, тъй като вътрешните структури от данни стават по-малко ефективни по време на дълъг тест.
Обобщение
- В софтуерното инженерство се извършва Soak тестване, за да се определи дали тестваното приложение може да издържи непрекъснатото натоварване.
- Това е вид тест за ефективност.
- Помага на системата да определи дали ще издържи на много голям обем на използване
- При този тип тестване основно се наблюдава използването на паметта от приложение в системата
- Проверките, които трябва да бъдат извършени от който и да е потребител / тестер, преди да започнат с Soak Testing, включват
- Наблюдавайте потреблението на ресурси на базата данни.
- Наблюдавайте потреблението на сървърни ресурси (предишно използване на процесора).
- Тестът за накисване трябва да се изпълнява с реалистичен потребителски паралел.
Тази статия е предоставена от Pallavi De