Тестване на натоварването (Load testing)
Това е един от най-популярните видове тестване, чиято цел е да установи как дадена система се справя с някакво натоварване. За какво точно става въпрос? Представете си, че разработвате приложение за онлайн пазаруване. Всичко изглежда наред и на пръв поглед то функционира безпроблемно. Но какво ще се случи, ако 10 души поръчат един и същи продукт едновременно? А ако това направят 100 души? Дали приложението ще продължи да работи нормално или ще започне да се забавя? Именно върху това акцентира тестването на натовареността. То е от изключителна важност, показателно за което са следните два факта:
Повечето потребители затварят дадено приложение, ако то не се е заредило за максимум 8 секунди;
Загубите от подобни проблеми с функционалността на софтуерни продукти възлизат на близо 4,5 млрд. долара;
Стрес тестване (stress testing)
Ако искате да разберете как и кога вашето приложение ще се „счупи“, стрес тестването ще ви даде отговора. Обикновено то се извършва по същия начин като тестването на натоварването. Разликата е, че при стрес тестването целта е системата да бъде претоварена. Ето и два примера:
Постепенно увеличаване на броя на потребителите, използващи дадено приложение, докато системата не „прегрее“;
Въвеждане на голямо количество информация в база данни;
На практика стрес тестването показва как даден софтуерен продукт се държи при извънредни условия или след срив (дали и колко бързо се възстановява, появяват ли се адекватни съобщения – error messages, колко често се получават подобни сривове и т.н.). Един и същи стрес тест може да се извършва многократно, докато не бъде постигнат желаният резултат.
Пиково тестване (spike testing)
При този специфичен вид тестване се наблюдава поведението на системата при рязко увеличение на натоварването за ограничен период от време. Представете си следното: разработвате приложение за авиокомпанията Х. Една от функциите е, че всеки потребител може да проверява дали има забавяне на неговия полет. Всичко функционира нормално, докато един ден мощен ураган не причинява истински транспортен хаос. Изведнъж броят на хората, проверяващи статуса на полетите си, рязко нараства. Пиковото тестване има за цел да разкрие дали софтуерният продукт се справя успешно с временно извънредно натоварване и дали то не причинява нежелани ефекти – като забавяне или чести сривове.
Тестване на издръжливостта (soak testing или endurance testing)
Ако тестването на натоварването проверява дали вашето приложение е готово за спринт на 100 метра, то тестването на издръжливостта ще покаже дали може да се включи в маратон. То продължава дълго време (понякога тестването на издръжливостта отнема цяла година, докато тестването на натоварването обикновено приключва за няколко часа) и има за цел да установи дали софтуерният продукт е напълно готов да бъде пуснат на пазара. Този тип тестове са трудни за изпълнение, но дават отговори на някои важни въпроси:
Колко често системата се срива?
Продължителното използване на системата води ли до нейното забавяне?
Каква част от паметта се използва и дали се забелязват някакви проблеми?
Най-често тестването на натоварването продължава няколко дни, като се следи внимателно дали има някакви проблеми. Всичко зависи от това с колко време разполагате и какъв е крайният срок, в който продуктът трябва да е готов.