Какво е тестване за издръжливост в софтуерното тестване? (с пример)

Тест за издръжливост

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

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

Издръжливостта означава капацитет, така че с други думи можете да наречете теста за издръжливост като тестване на капацитета.

Цели на теста за издръжливост

  • Основната цел на теста за издръжливост е да се провери за изтичане на памет.
  • За да разберете как работи системата при продължителна употреба.
  • За да се гарантира, че след дълъг период времето за реакция на системата ще остане същото или по-добро от началото на теста.
  • За определяне на броя потребители и/или транзакции дадена система ще поддържа и ще отговаря на целите за ефективност.
  • За да управляваме бъдещите натоварвания, трябва да разберем колко допълнителни ресурси (като капацитет на процесора, капацитет на диска, използване на паметта или честотна лента на мрежата) са необходими за поддържане на използването в бъдеще.
  • Тестовете за издръжливост обикновено се извършват чрез претоварване на системата или чрез намаляване на определени системни ресурси и оценка на последствията.
  • Извършва се, за да се гарантира, че няма да възникнат дефекти или изтичане на памет след това, което се счита за относително „нормален“ период на използване.

Какво да наблюдавате при тестовете за издръжливост

Тест за издръжливост

При тестовете за издръжливост се тестват следните неща.
  • Тествайте изтичане на памет– Извършват се проверки, за да се провери дали има изтичане на памет в приложението, което може да причини срив на системата или операционната система
  • Тествайте затварянето на връзката между слоя на системата – Ако връзката между слоевете на системата не е затворена успешно, това може да спре някои или всички модули на системата.
  • Тестовата връзка с базата данни се затваря успешно– Ако връзката с базата данни не е затворена успешно, това може да доведе до срив на системата
  • Време за реакция на теста – Системата се тества за времето за реакция на системата, тъй като приложението става по-малко ефективно в резултат на продължителната употреба на системата.

Как се извършва тест за издръжливост

По-долу е основният подход за тестване за тест за издръжливост
  • Тестова среда – Идентифицирайте необходимия хардуер, софтуер, операционна система за тестване на издръжливостта, разпределяне на роли и отговорности в екипа и т.н. Средата трябва да е готова преди изпълнението на теста. Трябва също така да оцените общия производствен размер на базата данни и годишния растеж. Това е необходимо, тъй като трябва да тествате как вашето приложение ще реагира след година, две или пет.
  • Създаване на план за тестване, сценарии – Въз основа на естеството на тестването – ръчно или автоматизирано, или комбинация от двете, Тестов случай проектирането, прегледите и изпълнението трябва да бъдат планирани. Тестване за натоварване на системата, тестване на точка на прекъсване и т.н. също трябва да бъдат част от плана за тестване. Тестването за стрес на системата определя точката на прекъсване в приложението.
  • Тестова оценка – Предоставете приблизителна оценка колко време ще отнеме завършването на фазата на тестване. Трябва да се анализира въз основа на броя на участващите тестери и броя на необходимите тестови цикли.
  • Анализ на риска – Анализиране на риска и предприемане на подходящи действия за превенция. Приоритизиране на тестови случаи според рисковия фактор и идентифициране на рисковете и проблемите по-долу, които тестерът може да направи по време на теста за издръжливост.
  • Ще остане ли ефективността постоянна във времето?
  • Има ли други незначителни проблеми, които все още не са открити?
  • Има ли външна намеса, на която не е обърнато внимание?
  • График на тестовете – Определете бюджета, резултатите в рамките на времевите рамки. като Тест за издръжливост прилага огромно, но естествено натоварване на транзакциите към системата/приложението за непрекъснат период от време.

Пример за тест за издръжливост

Докато Стрес тестове извежда тестваната система до нейните граници, Тест за издръжливост извежда приложението до неговия лимит с течение на времето. Например, най-сложните проблеми – изтичане на памет, използване на сървър на база данни и блокиране на системата – се случват, когато софтуерът работи за продължителен период от време. Ако пропуснете тестовете за издръжливост, шансовете ви да откриете такива дефекти преди внедряването са доста ниски.

Инструменти за тестване на издръжливостта

  • WebLOAD
  • Зареждането завърши
  • Apache JMeter
  • LoadRunner
  • Appvance
  • LoadUI
  • OpenSTA
  • Rational Performance Tester

Предимства на тестовете за издръжливост

  • Помага при определяне на това как работното натоварване може да се справи със системата под натоварване.
  • Предоставя точни данни, които клиентът може да използва, за да потвърди или подобри своите инфраструктурни нужди.
  • Идентифицира проблеми с производителността, които могат да възникнат, след като системата е работила на високо ниво за по-дълъг период от време
  • Типичните проблеми се идентифицират в по-малки целеви тестове за производителност, което означава, че гарантира, че приложението остава достъпно дори когато има огромно натоварване за много кратък период от време.
  • Тестът за издръжливост се използва и за проверка дали има влошаване на производителността след дълъг период на изпълнение

Недостатъци на тестовете за издръжливост

  • Често е трудно да се определи колко стрес си струва да се прилага.
  • Тестването за издръжливост може да причини сривове в приложението и/или мрежата, които могат да доведат до значителни смущения, ако Тестова среда не са изолирани.
  • Може да възникне постоянна загуба или повреда на данни при прекомерно натоварване на системата.
  • Използването на ресурсите остава много високо след отстраняване на стреса.
  • Някои компоненти на приложението не отговарят.
  • Необработените изключения се наблюдават от крайния потребител.

Oбобщение

  • In Софтуерно инженерство, Тестването за издръжливост е подмножество от тестовете за натоварване.
  • Тестването за издръжливост е дълъг процес и понякога продължава дори до една година
  • Извършват се проверки за проверка
  • Тествайте изтичане на памет
  • Време за реакция на теста
  • Тествайте връзката с база данни и др.