what is endurance testing software testing
Въведение в софтуерното тестване за издръжливост:
В тази статия ще обсъдим и изследваме подробно тестването на софтуер за издръжливост.
Първоначално, за да започнем, нека се опитаме да разберем какво точно представлява изпитанието за издръжливост и след това ще проучим всички подробности за него. Сигурен съм, че тази статия наистина ще бъде идеално ръководство за тези, които са нови в концепцията за издръжливост.
Тази статия ще ви даде пълен преглед на тестовете за издръжливост, включително неговото значение, необходимост, продължителност, ползи, предизвикателства и стъпки, включени заедно с примери с прости думи, за да ви позволи да разберете идеята идеално.
Какво ще научите:
- Какво е тестване на издръжливост?
- Защо тестване на издръжливост?
- Продължителност на тест за издръжливост
- Предимства на тестовете за издръжливост
- Предизвикателства при тестване на издръжливост
- Пример
- Стъпки за извършване на този тест
- Инструменти за тестване на издръжливост
- Заключение
- Препоръчително четене
Какво е тестване на издръжливост?
Думата издръжливост означава „способността на нещо да издържи или да издържи на износването.“ Можете просто да го наречете като трайност, трайна сила или дълголетие.
Що се отнася до света на софтуера, тестът за издръжливост (тестване на накисване или тестване на дълголетието или тестване на капацитета) е вид нефункционално тестване, което се прави, за да се провери дали софтуерната система може да издържи при огромно очаквано натоварване, продължено за дълъг период от време.
Това е един от типа тестване на производителността и подтип на тестване на натоварване.
Защо тестване на издръжливост?
Основната цел на извършването на това тестване е да се идентифицират всички потенциални течове на памет. Така че, по време на това тестване, използването на паметта се следи отблизо. Надявам се, че сте наясно с концепцията за изтичане на памет. И все пак, нека накратко какво всъщност е изтичането на памет за тези, които може да са нови за този термин.
ДА СЕ изтичане на памет е повреда в софтуерна програма за освобождаване на изхвърлена памет, причиняваща влошена производителност или неуспех.
програми, които използват c ++
Изтичането на памет може да няма краткосрочно въздействие, но в дългосрочен план забавя системата, което не оставя свободна памет и по този начин накрая води до срив на приложение или система. Изтичането на памет е проблем, който става очевиден само след определен период от време.
Следователно се нуждаем от тестове за издръжливост, за да разкрием такива проблеми.
Възможно е обаче, че при значително значително натоварване приложението ви работи добре за известен период от 1 час. Но когато е изложен на едно и също количество товар непрекъснато за по-дълъг период, да речем, 3-4 часа, приложението ви се срива поради проблем с ресурсите и недостатъчно дисково пространство.
Друг важен въпрос, който тестовете за издръжливост на софтуера целят да идентифицират, е неговото влошаване на производителността. Трябва да се гарантира, че производителността или времето за реакция след продължителна употреба са еквивалентни или подобрени в сравнение с началото на теста.
Проблемите с връзката с база данни също са идентифицирани в теста за издръжливост. Ако връзката с базата данни не бъде затворена успешно, това може да доведе до срив на системата.
Тестът за издръжливост също проверява дали има правилно затваряне на връзката между слоевете на системата, което в противен случай би довело до увисване на определени модули на системата.
Накратко можем да кажем, че целта на теста за издръжливост е да се определи как системата се държи за дълъг период на продължителна употреба. Основните проблеми, които са идентифицирани като част от тестовете за издръжливост, са изтичане на памет, влошаване на производителността, проблеми с връзката с база данни и др.
Продължителност на тест за издръжливост
Ако това е 24 * 7 директен оперативен проект, тогава в идеалния случай тест за издръжливост трябва да работи в продължение на 72 часа. Причината е, че приложението трябва да е достатъчно способно да работи без надзор през уикендите (тъй като поддръжката през уикенда е скъпа за организациите).
И така, трябва да тестваме системата, изложена на значително натоварване за период малко по-голям от уикенд. Тъй като обаче провеждането на теста в продължение на 72 часа може да бъде твърде тромаво, като цяло провеждаме теста за издръжливост в продължение на 12 часа.
Освен това няма строго правило за продължителността на теста за накисване. Това зависи главно от фактори като участието на клиентите, реалното използване на производството и др. Понякога тестовете за издръжливост също се провеждат за една година!
Предимства на тестовете за издръжливост
Ползите, получени от това тестване, са изброени по-долу:
- Той осигурява годността на приложението.
- Той разкрива онези грешки, които иначе не могат да бъдат открити от друг тест за ефективност. Например , може да не намерите проблем с изтичане на памет по време на тестване на обем или стрес тестване.
- Прави приложението стабилно: Той идентифицира проблеми с влошаването на производителността, които могат да възникнат при огромно непрекъснато натоварване и след това отстраняването на тези проблеми прави приложението по-стабилно.
- Той разказва за поведението на системата при товар в дългосрочен план. С други думи, той проверява устойчивостта на системата във времето.
- Данните от резултатите от теста за издръжливост могат да се използват, за да може клиентът да потвърди или подобри своите инфраструктурни нужди.
Предизвикателства при тестване на издръжливост
Предизвикателствата, свързани с това тестване, включват:
- Това отнема много време. Така че е трудно да се проведе тестване за издръжливост в проект, който има много строги срокове.
- Не може да се направи ръчно. Изисква инструмент за автоматизация и експерт, притежаващ познанията за този инструмент.
- Често е трудно да се определи колко натоварване си струва да се приложи.
- Ако тестовата среда не е изолирана правилно от производствената среда на живо, тогава отказите на приложението или мрежата в теста за издръжливост могат да попречат на цялата работна система и да доведат до трайна загуба на данни / повреда на данните.
- Необработените изключения се наблюдават от клиента.
Пример
Пример, при който се изисква и може да се използва тестване за издръжливост, е приложението Банкиране.
В дните на затваряне на банката приложението се тества, за да се знае дали системата може да поддържа при продължително очаквано натоварване или голям брой транзакции за дълго.
Това е идеален пример за тест за издръжливост.
Стъпки за извършване на този тест
По-долу е подхода за извършване на това тестване:
# 1) Създаване на тестова среда:
Това включва да се разбере кой хардуер, софтуер, база данни (заедно с нейния размер, докато расте с продължителността на теста) и ОС са необходими за извършване на теста за издръжливост.
Той също така включва създаване на екип за извършване на тестове за издръжливост и разпределяне на ролите и отговорностите в екипа. Тестовата среда трябва да е готова преди изпълнението на теста и трябва да бъде изолирана правилно от действителната жива система.
# 2) Създаване на план за изпитване и сценарии за изпитване:
Тестовите случаи трябва да бъдат проектирани, прегледани и финализирани. Стратегията за изпълнение на теста също трябва да бъде изградена в тази стъпка.
Трябва да се определи точката на прекъсване на приложението и да се финализира колко натоварване ще бъде поставено върху приложението по време на тест за издръжливост.
# 3) Оценка на тестовия цикъл:
Включва анализ на това каква би била продължителността на всяка фаза на изпитване и колко цикъла на изпитване са необходими.
# 4) Анализ на риска:
Това е много важна стъпка в това тестване. Тестовите случаи се приоритизират въз основа на рисковия фактор.
Рисковете и проблемите, които тестващият може да срещне по време на теста за издръжливост, са посочени по-долу:
- Тестът за ефективност ще остане ли съобразен с времето?
- Има ли други незначителни проблеми, които все още не са приспаднати?
- Има ли някаква външна намеса, която все още не е адресирана?
# 5) График на теста:
Определете бюджета, резултатите и сроковете.
# 6) Изпълнение на теста:
Това включва най-накрая започване на теста за издръжливост.
# 7) Затваряне на тестовия цикъл:
Затворете тестовия цикъл въз основа на критериите за изход, зададени във фазата на планиране на теста. Може да се основава на откритите дефекти, продължителността на теста и т.н.
Инструменти за тестване на издръжливост
На пазара се предлагат множество инструменти.
По-долу са изброени някои от най-популярните и полезни инструменти за издръжливост:
Заключение
В тази статия научихме какво е тестване за издръжливост? Как трябва да се направи? Неговите предимства и недостатъци, както и различните налични инструменти.
Някои от ключовите неща за взимане са:
- Изпитването за издръжливост (тестване на накисване или тестване на дълголетието или тестване на капацитета) е вид нефункционално тестване, което се прави, за да се провери дали софтуерната система може да издържи при огромно очаквано натоварване, продължено в продължение на дълъг период от време.
- Това е подгрупа на Тестване на натоварване.
- Основните проблеми, които са идентифицирани като част от това тестване, са изтичане на памет, влошаване на производителността, проблеми с връзката с база данни и т.н.
- Продължителността на теста за издръжливост зависи от изискванията на бизнеса, проекта и клиента. Може да продължи 5-10 часа или няколко дни или месец или понякога дори година.
- Това прави приложението по-стабилно и го подготвя да издържа при продължителни тежки товари.
- Тъй като отнема много време, трябва да се избягва ръчното тестване на издръжливостта. Той е предимно автоматизиран.
- Тя трябва да започне с установяване на изолирана среда за изпитване, след това да се създадат планове за изпитване, да се изчисли продължителността на тестовите цикли, да се анализира риска, да се подготви графикът на теста, да се изпълни тестът за издръжливост и след това да се затвори накрая тестовият цикъл.
- Някои от страхотните инструменти за тест за издръжливост са Apache Jmeter, LoadStorm, LoadRunner, LoadUI, Appvance, OpenSTA, WebLoad и IBM Rational Performance Tester.
Допълнителна информация:
- Топ 15 на инструментите за тестване на производителността за 2018 г .: Списък с инструменти за тестване на зареждане
- STH Подробна статия за тестване на производителността - с примери
- 4 съвета за издръжливост, които трябва да знаете, когато извършвате този тест чрез Apache JMeter
Препоръчително четене
- Най-добри инструменти за тестване на софтуер 2021 г. [Инструменти за автоматизация на QA теста]
- Тестване на софтуер QA Assistant Job
- Тестване на натоварване с уроци за HP LoadRunner
- Курс за тестване на софтуер: Към кой институт за тестване на софтуер трябва да се присъединя?
- Изборът на софтуерно тестване като кариера
- Тестване на софтуер Техническо съдържание Writer Работа на свободна практика
- Някои интересни въпроси за интервю за тестване на софтуер
- Обратна връзка и рецензии на курсове за софтуерно тестване