Какво е тестване на натоварването? (Примери)
Какво е тестване на натоварването?
Тестване на товара е процес на нефункционално тестване на софтуер, при който производителността на софтуерното приложение се тества при определено очаквано натоварване. Той определя как се държи софтуерното приложение, докато има достъп от множество потребители едновременно. Целта на Load Testing е да подобри проблемите с производителността и да осигури стабилност и гладко функциониране на софтуерното приложение преди внедряването.
Това тестване обикновено идентифицира -
- Максималният работен капацитет на приложението
- Определете дали текущата инфраструктура е достатъчна за стартиране на приложението
- Устойчивост на приложението по отношение на пиково потребителско натоварване
- Брой едновременни потребители, които едно приложение може да поддържа, и мащабируемост, за да позволи на повече потребители да имат достъп до него.
Това е вид нефункционално тестване. В софтуерното инженерство тестването на натоварването обикновено се използва за клиент/сървър, уеб базирани приложения – както интранет, така и интернет.
Необходимост от тестване на натоварването
Някои изключително популярни сайтове са претърпели сериозни прекъсвания, когато са получили огромен обем трафик. Уебсайтовете за електронна търговия инвестират сериозно в рекламни кампании, но не и в тестване на натоварването, за да осигурят оптимална производителност на системата, когато този маркетинг носи трафик.
Разгледайте следните примери за тестване на натоварване
- Популярният магазин за играчки Toysrus.com не можа да се справи с увеличения трафик, генериран от тяхната рекламна кампания, което доведе до загуба както на маркетингови долари, така и на потенциални продажби на играчки.
- Уебсайт на авиокомпания не успя да обработи 10000 XNUMX+ потребители по време на фестивална оферта.
- Encyclopedia Britannica обяви безплатния достъп до тяхната онлайн база данни като промоционална оферта. Те не успяха да издържат на натиска на трафика в продължение на седмици.
Много сайтове страдат от забавено време на зареждане, когато срещат голям трафик. Малко факти –
- Повечето потребители щракват след 8 секунди забавяне при зареждане на страница
- $ 4.4 Billion Губи се годишно поради лошо представяне
Защо тестване на натоварване?
- Тестването на натоварване дава увереност в системата и нейната надеждност и производителност.
- Тестването на натоварването помага да се идентифицират тесните места в системата при тежки потребителски стрес сценарии, преди да се появят в производствена среда.
- Тестването на натоварване дава отлична защита срещу лоша производителност и включва допълнителни стратегии за управление на производителността и мониторинг на производствена среда.
Цели на тестването на натоварването
Зареждащото тестване идентифицира следните проблеми, преди да премести приложението на пазар или производство:
- Време за отговор за всяка транзакция
- Работоспособност на компонентите на системата при различни натоварвания
- Производителност на компонентите на базата данни при различни натоварвания
- Мрежово забавяне между клиента и сървъра
- Проблеми с дизайна на софтуера
- Проблеми с конфигурацията на сървъра като уеб сървър, сървър на приложения, сървър на база данни и др.
- Проблеми с хардуерни ограничения като максимизиране на процесора, ограничения на паметта, тесни места в мрежата и др.
Тестването на натоварването ще определи дали системата трябва да бъде фино настроена или е необходима модификация на хардуера и софтуера за подобряване на производителността. За да проведете ефективно тестване на натоварване, можете да използвате различни инструменти за тестване на ефективността които са на разположение, за да ви помогнат да идентифицирате области за подобрение.
Предпоставки за тестване на натоварване
Основният показател за тестване на натоварване е времето за реакция. Преди да започнете тестване на натоварването, трябва да определите –
- Дали времето за реакция вече е измерено и сравнено – количествено
- Дали времето за реакция е приложимо към бизнес процеса – Релевантно
- Дали времето за реакция е оправдано – реалистично
- Дали времето за реакция е постижимо – постижимо
- Независимо дали времето за реакция е измеримо с помощта на инструмент или хронометър – Измеримо
Трябва да се настрои среда, преди да започне тестването на натоварване:
| хардуерна платформа | Конфигурация на софтуера |
|---|---|
|
|
Стратегии за тестване на натоварване
Има много начини за извършване на тестване на натоварване. Следват няколко стратегии за тестване на натоварване -
- Тестване на ръчно натоварване: Това е една от стратегиите за извършване на тестове за натоварване, но не дава повтарящи се резултати, не може да осигури измерими нива на стрес върху приложение и е невъзможен процес за координиране.
- Вътрешно разработени инструменти за тестване на натоварване: Организация, която осъзнава важността на тестовете за натоварване, може да създаде свои собствени инструменти за изпълнение на тестове за натоварване.
- Инструменти за тестване на натоварване с отворен код: Има няколко инструмента за тестване на натоварване, налични като отворен код, които са безплатни. Те може да не са толкова сложни, колкото техните платени колеги, но ако имате ограничен бюджет, те са най-добрият избор.
- Инструменти за тестване на натоварване от корпоративен клас: Те обикновено идват с възможност за заснемане/възпроизвеждане. Те поддържат голям брой протоколи. Те могат да симулират изключително голям брой потребители.
Как да направите тестване на натоварването
Процесът на тестване на натоварване може да бъде описан накратко по-долу –
- Създайте посветен Тестова среда за тестване на натоварване
- Определете следното
- Сценарии за тестване на натоварване
- Определяне на транзакции за тестване на натоварване за приложение
- Подгответе данни за всяка транзакция
- Броят на потребителите, които имат достъп до системата, трябва да бъде предвиден
- Определете скоростта на връзката. Някои потребители може да са свързани чрез наети линии, докато други могат да използват комутируема връзка
- Определете различните браузъри и операционни системи, използвани от потребителите
- Конфигурация на всички сървъри като уеб, приложения и DB сървъри
- Изпълнение и мониторинг на тестов сценарий. Събиране на различни показатели
- Анализирайте резултатите. Направете препоръки
- Настройте фино системата
- Повторен тест
Насоки за тестване на натоварване
- Тестовете за натоварване трябва да се планират, след като приложението стане функционално стабилно.
- Голям брой уникални данни трябва да са готови в пула от данни
- Броят на потребителите трябва да бъде определен за всеки сценарий или скриптове
- Избягвайте създаването на подробни регистрационни файлове, за да запазите дисковото IO пространство
- Опитайте се да избягвате изтеглянето на изображения в сайта
- В процеса на изпълнение на тестови случаи за тестване на натоварване трябва да се регистрира постоянството на времето за реакция през изминалия период и същото трябва да се сравнява с различни тестови изпълнения.
Разлика между натоварване и стрес тестване
| Тестване на товара | Стресиране |
|---|---|
| Тестването на натоварване идентифицира тесните места в системата при различни натоварвания и проверява как системата реагира, когато натоварването постепенно се увеличава | Стресиране определя точката на счупване на системата, за да разкрие максималната точка, след която тя се счупва. |
| За да разпознаете горната граница на системата, задайте SLA на приложението и проверете как системата може да се справи с голямо натоварване. | За да проверите как се държи системата при екстремни натоварвания и как се възстановява след повреда. |
| Генерирането на повишено натоварване на уеб приложение е основната цел на тестването на натоварване. | Стрес тестовете имат за цел да гарантират, че при внезапно високо натоварване за значителна продължителност сървърите няма да се сринат. |
| Атрибутите, които се проверяват при тест за натоварване, са пикова производителност, количество сървър и време за реакция. | Този вид тестване проверява времето за реакция на стабилността и т.н. |
| При тестване на натоварване ограничението на натоварването е праг на прекъсване. | При стрес тестване ограничението на натоварването е над прага на прекъсване. |
Разлика между функционално и натоварване тестване
| Функционално тестване | Тестване на товара |
|---|---|
| Резултатите от функционалните тестове са лесно предвидими, тъй като имаме дефинирани правилни стъпки и предварителни условия | Резултатите от тестовете за натоварване са непредвидими |
| Резултатите от функционалните тестове варират леко | Резултатите от тестовете за натоварване варират драстично |
| Честота на изпълнение Функционално тестване ще бъде висока | Честотата на извършване на тестове за натоварване ще бъде ниска |
| Резултатите от функционалните тестове зависят от данните от теста | Тестването на натоварването зависи от броя на потребителите. |
Инструменти за тестване на натоварване
Заредете бегач:
Load runner е инструмент на HP, използван за тестване на приложения при нормални и пикови условия на натоварване. Load runner генерира натоварване чрез създаване на виртуални потребители, които емулират мрежов трафик. Той симулира използване в реално време като производствена среда и дава графични резултати.
Прочетете повече за Loadrunner тук.
Предимства и недостатъци на натоварването
Следват предимствата на тестването на натоварване:
- Идентифициране на тесните места в производителността преди производството
- Подобрява скалируемостта на системата
- Минимизиране на риска, свързан с престой на системата
- Намалени разходи при повреда
- Увеличете удовлетвореността на клиентите
Недостатъци на тестването на натоварване:
- Човек се нуждае от познания по програмиране, за да използва инструменти за провеждане на тест за натоварване в контекста на софтуерното тестване.
- Инструментите могат да бъдат скъпи, тъй като ценообразуването зависи от броя на поддържаните виртуални потребители.
Oбобщение
- Тестването на натоварване се дефинира като вид софтуерно тестване, което определя производителността на системата при реални условия на натоварване.
- Тестването на натоварването обикновено подобрява тесните места в производителността, мащабируемостта и стабилността на приложението, преди то да е достъпно за производство.
- Това тестване помага да се идентифицира максималния работен капацитет на приложенията, както и тесните места в системата.
- Тестване на натоварването в тестване на софтуер е важен, защото ако бъде пренебрегнат, може да причини финансови загуби за организацията.



