Тестване на натоварването (Load testing)
Tо показва дали софтуерният продукт функционира нормално при повишено натоварване. Пример за подобно натоварване е увеличаване на броя на потребителите, използващи софтуера по едно и също време. Да кажем, че разработвате приложение за поръчване на храна. То работи идеално, ако в един и същи момент 100 души се възползват от услугата. Но какво ще стане, ако броят им стане 1000? Или 10 000?
Стрес тестване (Stress testing)
Oтчасти то прилича на тестването на натоварването, но има една голяма разлика. Стрес тестването показва как работи софтуерът извън границите на нормалните условия. Например – ако разработвате приложение за банкови трансакции, стрес тестът ще покаже колко такива операции могат да се правят едновременно, преди то да блокира.
Тестване на издръжливостта (Endurance testing)
Tо показва как функционира даден софтуерен продукт през дълъг период от време. Това тестване разкрива проблеми, които първоначално могат да останат незабелязани. Представете си, че анализирате състоянието на даден сайт. В началото всичко изглежда добре и на пръв поглед няма нужда да бъдат извършвани промени. Но с течение на времето може да се окаже, че сайтът започва да се зарежда по-бавно или има т. нар. изтичане на памет. Именно откриването на подобни проблеми е основната цел на тестването на издръжливостта.
Пиково тестване (Spike testing)
Tова е специален вид стрес тестване. При него се симулира поведението на софтуер, когато натоварването се увеличава бързо и многократно. Ето и конкретен пример – приложение за пътния трафик предоставя информация за задръстванията в реално време. Заради започването на ремонтни дейности, натоварен булевард остава затворен. Оказва се, че хиляди хора отварят въпросното приложение в началото и в края на работния си ден, за да се ориентират какъв маршрут да изберат. Пиковото тестване ще даде отговор на въпроса дали софтуерът ще успее да се справи с подобно рязко покачване на броя на потребителите.
Тестване на обема (Volume testing)
При него софтуерът е „залят“ с голямо количество данни. Целта е да се анализира работата на системата, когато се увеличи количеството информация в базата данни.
Днес съществува богато разнообразие от инструменти, с които може да се тества производителността на даден софтуер. Един от тях е WebLOAD. Той генерира реални сценарии, приложими дори към най-сложните системи. Освен това е сравнително лесен за използване. Друг подобен инструмент е LoadRunner. Той симулира натоварване от хиляди потребители, а освен това записва тестовете и анализира получените резултати. Трета опция е NeoLoad, който е специално разработен да тества приложения преди тяхното пускане на пазара. Впечатляващото при него е, че той може да симулира използването на софтуера от милиони потребители едновременно.
Полезен инструмент е и StresStimulus. Той записва действията на потребителите и ги възпроизвежда, а освен това се фокусира върху сценарии, които е трудно да бъдат тествани с други програми. Не бива да се забравя и LoadNinja – cloud базиран инструмент, който се радва на голяма популярност. Той предоставя възможността сложни тестове да се записват и след това веднага да се възпроизведат. LoadNinja може да съкрати времето за тестване на натоварването с над 60 процента.
Тестването на производителността трябва да следва и няколко важни стъпки:
- Определяне на конкретните цели;
- Изготвяне на тестови сценарии;
- Подготвяне на тестовата среда – важно е тя да е максимално близка до реалните условия, в които ще функционира софтуера;
- Внимателно анализиране на получените данни;
- Повтаряне на тестовете, за да бъде гарантирано, че получените резултати са точни;
И още няколко съвета – тествайте колкото се може по-рано и по-често. По този начин ще сте сигурни, че пред какъвто и проблем да се изправите, ще бъдете подготвени и ще можете да реагирате навреме, вземайки необходимите мерки за отстраняването му. Бъдете реалисти – производителността на вашия сайт или приложение зависи от ресурсите ви и затова не бива да си поставяте непостижими цели. Винаги си задавайте въпроса какви са вашите потребители. Да кажем, че имате сайт, който се посещава предимно от хора, използващи своите смартфони. Достатъчно добра ли е мобилната му версия? Появяват ли се проблеми, ако броят на потребителите рязко се увеличи? Отговорите на подобни въпроси могат да се окажат от огромно значение за бъдещето на сайта ви.
Не забравяйте, че тестването на производителността е работа, която никога не свършва! То е един постоянен процес, който в никакъв случай не бива да бъде пренебрегван. Докато вашият сайт или приложение се разраства, вие ще сте принудени да извършвате промени. Казано с други думи – колкото повече стават потребителите, толкова по-голямо ще е и натоварването. Не си мислете, че е добра идея да пропуснете тестването на производителността (колкото и изкушаващо на моменти да изглежда това). Опитът сочи, че по този начин може да нанесете много големи щети и на практика да се превърнете в жертва на собствения си успех!