У чому різниця між навантаженням і стрес-тестуванням?
У чому різниця між навантаженням і стрес-тестуванням?
Відповіді:
Вікіпедія з тестування на навантаження (жирний шрифт - це моє):
[...] Тест на навантаження зазвичай проводиться, щоб зрозуміти поведінку системи під конкретним очікуваним навантаженням . Це навантаження може бути очікуваною одночасною кількістю користувачів програми, що виконують певну кількість транзакцій протягом встановленої тривалості. Цей тест дасть час відгуку на всі важливі для бізнесу важливі операції. [...]
та на стрес-тестуванні :
розуміти верхні межі пропускної здатності в системі. Такий тест проводиться для визначення надійності системи з точки зору екстремального навантаження та допомагає адміністраторам додатків визначити, чи буде система працювати достатньо, якщо поточне навантаження значно перевищує очікуваний максимум .
Отже, суть: якщо ви тестуєте нормальне, очікуване навантаження (ви знаєте, що системою одночасно буде користуватися до 100 користувачів), це тестування навантаження . Але коли ви хочете визначити, як система поводиться при екстремальних навантаженнях (DoS, ефект Slashdot ) і коли вона ламається, це стрес-тестування .
Терміни "стрес-тестування" та "навантажувальне тестування" часто використовуються взаємозамінними інженерами програмного забезпечення, але вони насправді досить різні.
Стрес-тестування
Під час стрес-тестування ми намагаємося зламати тестовану систему, перевантажуючи її ресурси або забираючи ресурси у неї (у цьому випадку це іноді називають негативним тестуванням). Основна мета цього божевілля - переконатися, що система виходить з ладу і витончено відновлюється - ця якість відома як відновлення. АБО стрес-тестування - це процес піддавання вашої програми / системи, що перевіряється (SUT), зменшенню ресурсів, а потім вивченню поведінки SUT шляхом запуску стандартних функціональних тестів. Ідея цього полягає в тому, щоб виявити проблеми, які не з’являються в звичайних умовах. Наприклад, багатопотокова програма може нормально працювати в звичайних умовах, але в умовах зниженої доступності центрального процесора проблеми з синхронізацією будуть іншими, і SUT вийде з ладу. Найпоширенішими типами системних ресурсів, скорочених під час стрес-тестування, є процесор, внутрішня пам’ять та зовнішній простір на диску. При проведенні стрес-тестування зазвичай називають інструменти, які зменшують ці три ресурси, EatCPU, EatMem та EatDisk відповідно.
Тоді як з іншого боку тестування навантаження
У разі тестування навантаження Тестування навантаження - це процес піддавання вашого SUT великим навантаженням, як правило, шляхом імітації кількох користувачів (за допомогою завантажувача завантаження), де "користувачі" можуть означати людей-користувачів або віртуальних / програмованих користувачів. Найпоширеніший приклад тестування навантаження передбачає піддавання веб-або мережевих додатків одночасним зверненням тисяч користувачів. Як правило, це досягається програмою, яка імітує користувачів. Існує дві основні цілі навантажувального тестування: визначити робочі характеристики SUT і визначити, «виїжджає» SUT витончено чи ні.
У випадку веб-сайту ви б використовували тестування навантаження, щоб визначити, скільки користувачів може обробити ваша система і при цьому мати належну продуктивність, а також щоб визначити, що відбувається при екстремальному навантаженні - чи буде веб-сайт генерувати повідомлення "занадто зайняте" для користувачів, або веб-сервер згорить у полум’ї?
Тестування навантаження: Тестування навантаження призначене для тестування системи шляхом постійного та постійного збільшення навантаження на систему до моменту досягнення порогової межі.
Приклад Наприклад, щоб перевірити функціональність електронної пошти програми, вона може бути залита 1000 користувачами одночасно. Зараз 1000 користувачів можуть запускати електронні транзакції (читати, надсилати, видаляти, пересилати, відповідати) різними способами. Якщо взяти одну транзакцію на користувача на годину, то це буде 1000 транзакцій на годину. Моделюючи 10 транзакцій / користувача, ми могли б завантажити тест сервера електронної пошти, зайнявши 10000 транзакцій / годину.
Стрес-тестування: Під час стрес-тестування проводяться різні заходи для перевантаження існуючих ресурсів надлишковими робочими місцями, намагаючись зламати систему.
Приклад: Як приклад, такий текстовий процесор, як Writer1.1.0 від OpenOffice.org, використовується для розробки листів, презентацій, листів розповсюдження тощо ... Метою нашого стрес-тестування є завантаження його з надлишком символів.
Для цього ми будемо неодноразово вставляти рядок даних, поки він не досягне граничної межі обробки великого обсягу тексту. Як тільки розмір символів досягне 65 535 символів, він просто відмовиться приймати більше даних. Результат стрес-тестування на Writer 1.1.0 призводить до того, що він не виходить з ладу під напругою і грамотно обробляє ситуацію, завдяки чому додаток працює коректно навіть у жорстких стресових умовах.
-> Тестування програми з максимальною кількістю користувачів та введення визначається як тестування навантаження . Під час тестування програми з кількістю користувачів, що перевищує максимальну кількість, введення визначається як стрес-тестування .
-> Під час тестування навантаження ми вимірюємо продуктивність системи на основі кількості користувачів. Під час стрес-тестування ми вимірюємо точку зупинки системи.
-> Тестування навантаження - це тестування програми на певні вимоги до навантаження, яке може включати будь-який із наступних критеріїв:
.Total number of users.
.Response Time
.Through Put
Деякі параметри для перевірки стану серверів / додатків.
-> Поки стрес-тестування тестує додаток на несподіване навантаження. Це включає
.Vusers
.Think-Time
Приклад:
Якщо додаток створено для 500 користувачів, то для перевірки навантаження ми перевіряємо до 500 користувачів, а для стрес-тестування - більше 500.
Тестування навантаження = покладання певної кількості навантаження на сервер протягом певного періоду часу. 100 одночасних користувачів протягом 10 хвилин. Забезпечити стабільність програмного забезпечення. Стрес-тестування = постійно збільшуйте кількість навантаження до збою програмного забезпечення. 10 одночасних користувачів, що збільшуються кожні 2 хвилини, доки сервер не вийде з ладу.
Для порівняння з підняттям ваги: ви "максимально" збільшуєте свою вагу, щоб побачити, що ви можете зробити за 1 повторення (стрес-тестування), а потім на звичайних тренуваннях ви виконуєте 85% від максимального значення для 3 підходів по 10 повторень (тестування навантаження)
Тестування на навантаження : - Тестування навантаження призначене для тестування системи шляхом постійного і постійного збільшення навантаження на систему до моменту досягнення порогової межі.
Стрес-тестування : - Під час стрес-тестування проводяться різні заходи для перевантаження існуючих ресурсів надлишковими робочими місцями, намагаючись зламати систему.
Основна різниця в тому, що нижче
Тестування навантаження: Велика кількість користувачів Стресове тестування: Забагато користувачів, занадто багато даних, занадто мало часу і занадто мало місця
Навантаження - Перевірте S / W при максимальному навантаженні. Стрес - поза навантаженням З / В або для визначення точки розриву С / В.