soak testing tutorial what is soak testing
Това изчерпателно ръководство за тестване с накисване обяснява какво е тестване с накисване, защо се нуждаем от него, неговото приложение, предимства, най-добри практики и недостатъци:
По време на тестването на софтуерно приложение трябва да се извършват различни видове тестване. Функционалното и нефункционалното тестване са двете широки категории, в които можем да категоризираме видовете тестване.
Функционалното тестване, както подсказва самото име, се отнася до тестване на функционалността на приложението. Нефункционалното тестване, от друга страна, обхваща всички останали тестове (използваемост, производителност и т.н.), различни от функционалните тестове.
Какво ще научите:
Тест за накисване - Пълно ръководство
Този урок ви запознава с концепциите за тестване Soak, което е вид тестване на производителността.
как да използвам stringstream c ++
Както се вижда на изображението по-горе, можем да кажем, че тестването на накисване е вид нефункционално тестване.
Какво е тестване на накисване
Това е вид тестване на производителността, за да се провери дали приложението под тест (AUT) може да издържи непрекъснато натоварване за предварително определен период от време. Това е нефункционален тип тестване. Също така се нарича като „Тестване на издръжливост“ или „Тестване на дълголетието“ .
Ако се придържате към буквалното му име, тогава думата „накисване“ сама по себе си съдържа значението на това, което възнамерява да направи това тестване. По този начин, подлагането на заявление за определен период на голямо натоварване е това, за което става въпрос при това тестване.
Човек може да се запита, каква може да е разликата, ако приложението е подложено на натоварване за един час или може би 20 часа. Но да, има значение.
Това може да се обясни по-добре с реален сценарий. Ако въжето бъде изтеглено от двата края от двама души за известно време, то може просто да устои на натиска, но ако същото продължава дни, тогава въжето може просто да се скъса, като се поддаде на натиска от двата края.
(изображение източник )
Такъв е случаят и със софтуера. Когато подложим приложението на голямо натоварване (няколкостотин или хиляди потребители), то може просто да работи добре в продължение на един час. Когато обаче едно и също приложение е подложено на натоварване в продължение на 20 часа, то може да се срути изобщо.
(изображение източник )
Непрекъснатият интензивен трафик за дълго време може да доведе до различни проблеми в приложението. По този начин възниква необходимостта от тестване на накисване.
При това тестване основната концепция е да заредите приложението с очаквани потребители, но за продължителен период. Това помага при идентифицирането на различните основни проблеми, които иначе биха останали неоткрити, докато действителният сценарий не се появи в приложението на живо.
Необходимост от тестване на накисване
За да разберем необходимостта, трябва също така да сме наясно с възможните проблеми, през които дадено приложение може да премине, в случай че се натъкне на голямо натоварване за дълго време.
Нека разгледаме различните причини, които правят необходимото тестване на Soak.
# 1) Необходимо е главно да се идентифицират проблеми като неправилно управление на паметта, проблеми с връзката с база данни, влошаващо времето за реакция на приложението и т.н.
Всеки от тези проблеми е обяснен по-долу:
- Неправилното управление на паметта може да включва проблеми като памет, която се разпределя за използване, но никога не се освобождава или когато ресурсите използват повече памет, отколкото е необходимо. Когато подобни сценарии продължават дълго време, това може да доведе до изчерпване на паметта на системата, в резултат на което приложението да спре да реагира.
- Проблеми с връзката с база данни - Грешка, възникнала при затваряне на връзка с база данни, може в дългосрочен план да доведе до цялостно сриване на приложението.
- Деградиращо време за реакция на приложението - Понякога приложението по някаква причина може да стане по-малко ефективно и времето за реакция може да се увеличи. С течение на времето това може да доведе до спиране на отговора на приложението.
За да избегнем възникването на подобни ситуации, бихме предпочели да тестваме нашето приложение. Той помага при идентифицирането на такива основни проблеми, които в противен случай могат да останат неоткрити.
# две) Soak Test помага да се определи дали нашето приложение е готово да поеме товара за продължителен период.
# 3) Това позволява на екипа да предприеме коригиращи действия въз основа на това как системата реагира на тестовете Soak.
Кога да започне тест за накисване?
(изображение източник )
В идеалния случай, както всяко друго тестване на производителността, това тестване трябва да се извършва по време на разработването на продукта, заедно с функционалните тестове. Това обаче се прави рядко. Причината е очевидна, т.е. управлението на разходите по проекта.
По този начин фокусът е главно върху функционалното тестване и всички форми на тестване на производителността обикновено се дават на заден план и се отнасят близо до датата на пускане на приложението.
По принцип тестването Soak се предприема непосредствено преди пускането на приложението на клиента. Но това има голям недостатък, свързан с отстраняването на проблема.
Когато някой проблем с производителността бъде открит на по-късен етап, може да е трудно да го поправите, тъй като това може да включва значителна промяна на кода, която може да не е възможна предвид близостта на датата на доставка на приложението.
Поради това винаги е препоръчително това тестване да се извърши добре навреме, за да могат да бъдат адресирани идентифицираните проблеми.
Стратегия за тестване на накисване
(изображение източник )
Точно както се подготвя тестова стратегия за тестване на приложение, така и предварително се изготвя стратегия за извършване на Soak тестване и това е много необходимо.
най-добрият mp3 изтеглящ музика за android
Нека да разгледаме какво влиза в подготовката на стратегията за тестване на накисване.
Преди да започне Soak Test, екипът трябва да определи натоварването, за което приложението трябва да бъде Soak Tested. Продължителността, за която трябва да бъде тествана, също трябва да бъде предварително определена. Като цяло това се осигурява от екипа за разработка.
Тестовият екип трябва да вземе решение относно сценариите, които планират за теста за накисване. Това от своя страна ще зависи от ангажимента на клиента и изискванията на тестваното приложение.
Тъй като тестването на Soak се фокусира основно върху идентифицирането на проблеми с изтичането на памет и ресурси, важно е предварително да се знае потреблението на паметта и базата данни спрямо наличните.
Детайлите за средата като операционната система, устройството и т.н., на които ще се извършва тестване Soak, също трябва да бъдат решени.
Не на последно място, но и рисковете, които са свързани, също трябва да бъдат взети под внимание. Винаги трябва да се прави резервен план за такива ситуации. Например, ако базата данни се срине по време на тестване, какви други алтернативи са налични на нейно място и т.н.
Сценарии за тестване на накисване
Когато уебсайт за електронна търговия обяви онлайн продажба на своите продукти, естествено е уебсайтът да се зарежда по време на периода на продажба, който може да продължи 3-5 дни. В такава ситуация уебсайтът трябва да бъде тестван Soak, за да се избегне неочакван срив.
По време на приключването на финансовата година уебсайтът на банка може да се наложи да се сблъсква с много голямо натоварване за непрекъснат период. В такава ситуация уебсайтът трябва да е Soak тестван, за да се избегне неочакван срив на уеб приложението.
Когато приложението е проектирано да се справи с предварително определен товар за непрекъснат предварително определен период, тогава става необходимо да се тества приложението за товар поне 2 пъти неговата известна способност за обработка на товара.
Например, ако е известно, че даден уебсайт обработва 500 потребителски товара за непрекъснат период от 15 часа, тогава приложението също трябва да бъде тествано Soak за 1000 потребители за 15 часа. Това би ни помогнало да разберем дали приложението ще реагира необичайно, когато бъде принудено да удвои капацитета си на натоварване.
Най-добри практики
(изображение източник )
- Тестовете за накисване винаги трябва да се извършват, като се знае ограничението за празен товар на приложението, както по отношение на потребителите, така и по времетраенето. Това се изисква, за да се знае, тъй като целта е да се зареди приложението с очакваните потребители, но за дълго време.
- Препоръчително е да провеждате тестове за накисване през нощта или ако трябва да се прави дори по-продължително тестване, препоръчително е да го правите през почивните дни. Причината е очевидна, т.е.по време на работното време ресурсите се връзват, докато през нощта или извън работно време тестовите сървъри могат да бъдат на разположение, за да се използват дълго време. По този начин неработното време е идеалното време за такива тестове.
- Рисковете, свързани със Soak тестване на приложение, винаги трябва да бъдат анализирани и планът за смекчаване трябва да бъде готов за същия инцидент.
Ограничения за тестване на накисване
(изображение източник )
- Дългата продължителност, необходима за тестване на приложение, е едно голямо ограничение като цяло поради липсата на време. По този начин тестването на накисване понякога може да бъде избегнато поради недостиг на време.
- Тестовата среда трябва да бъде внимателно подбрана, така че всеки друг вид тестване, който се извършва в Приложението, да не бъде засегнат. Това може да се случи, тъй като дългосрочното тестване на приложението за тежък товар може да доведе до проблеми.
- Времето за тестване на накисване трябва да бъде внимателно решено и трябва да бъде предимно извън работно време (като уикенд или нощ след затваряне на работа).
- По принцип за тестване на Soak са необходими инструменти за автоматизация, тъй като тестовете трябва да се изпълняват дълго време с голям брой потребители.
Недостатъци на теста за накисване
- Сроковете на проектите могат да бъдат засегнати поради теста за накисване, тъй като времето, необходимо за същото, обикновено е високо.
- Ресурсите се обвързват за продължителността на тестването, тъй като има голямо използване на паметта поради голям брой потребители, които имат достъп до приложението.
Заключение
Чрез този урок научихме какво е тестване Soak и какво налага да се извърши това тестване.
Сега с това разбиране за това какво е Soak Testing и какви проблеми помага при идентифицирането, ние можем много добре да разберем необходимостта от извършване на същото. Особено във времена, когато целият свят е винаги свързан, това тестване става задължително.
Видяхме кога трябва да започнем да тестваме Soak заедно с подхода, който трябва да се следва. Тук също бяха обсъдени сценарии, най-добри практики и свързаните с тях ограничения.
Надяваме се, че този урок ви е помогнал да разберете какво е тестване на Soak и трябва да е подобрил вашите познания за същото.
Препоръчително четене
- Тестване на натоварване с уроци за HP LoadRunner
- Урок за деструктивно тестване и безразрушително тестване
- Изтегляне на eBook за тестване на Primer
- Корелация - Тестване на натоварване с LoadRunner
- Функционално тестване срещу нефункционално тестване
- Разлика между десктоп, тестване на клиентски сървър и уеб тестване
- Тестване на товара с помощта на LoadUI - безплатен инструмент за тестване на товар с отворен код
- Урок за SOA тестване: Методология за тестване за архитектурен модел на SOA