performance testing vs load testing vs stress testing
Різниця між тестуванням продуктивності, тестуванням навантаження та стрес-тестуванням - на прикладах
Наш попередній підручник у цій серії буде найкращим Посібник з тестування продуктивності для будь-якого новачка.
У галузі тестування програмного забезпечення ми зустрічаємо такі терміни, як тестування продуктивності, тестування навантаження, стрес-тестування тощо. Ці терміни часто неправильно розуміють і тлумачать як однакові поняття.
Однак існує значна різниця між цими трьома типами тестування, і тестеру важливо зрозуміти те саме.
=> Клацніть тут, щоб отримати повну серію навчальних посібників з тестування продуктивності
У цьому підручнику ми обговоримо кожен із цих типів тестування, щоб зрозуміти точні відмінності між ними.
Що ви дізнаєтесь:
Різниця між тестуванням продуктивності, навантаженням та стрес-тестуванням
# 1) Тестування продуктивності
Що таке тестування продуктивності?
Тестування продуктивності - це тестування, яке проводиться для того, щоб з'ясувати, як працюють компоненти системи в певній даній ситуації.
Використання ресурсів, масштабованість та надійність продукту також перевіряються під час цього тестування. Це тестування є підмножиною інженерії продуктивності, яка зосереджена на вирішенні питань продуктивності в дизайні та архітектурі програмного продукту.
Наведене зображення чітко пояснює нам це Тестування продуктивності - це набір як для навантаження, так і для стрес-тестування. Інші типи тестування, включені в тестування продуктивності, - це тестування на шип, об'ємне тестування, випробування на витривалість та Тестування масштабованості . Таким чином, тестування продуктивності в основному є дуже широким терміном.
5 найкращих завантажувачів mp3 для android
Мета тестування продуктивності:
Основна мета тестування продуктивності включає встановлення еталонної поведінки системи. Існує ряд визначених галуззю еталонів, яких слід дотримуватися під час тестування продуктивності.
Тестування продуктивності не має на меті виявити дефекти програми. Він також не проходить або не проходить тест. Швидше, це стосується найважливішого завдання встановлення еталон і стандарт для програми . Тестування продуктивності слід проводити дуже точно. Ретельний моніторинг роботи програми / системи є основною характеристикою тестування продуктивності.
Орієнтир та стандарт програми слід встановлювати з точки зору таких атрибутів, як швидкість, час відгуку, пропускна здатність, використання ресурсів та стабільність. Всі ці атрибути перевіряються в тесті продуктивності.
Наприклад,
Наприклад, ви можете перевірити ефективність роботи програми за допомогою діаграми «Швидкість підключення проти затримки». Затримка - це різниця в часі між даними, які надходять від джерела до пункту призначення.
Сторінка 70 кб не займе більше 15 секунд для завантаження для найгіршого з’єднання модему 28,8 кбіт / с (затримка = 1000 мілісекунд), тоді як сторінка такого ж розміру з’явиться протягом 5 секунд для середнього підключення 256 кбіт / с DSL (затримка = 100 мілісекунд).
Для досягнення цієї мети для з’єднання T1 із швидкістю 1,5 Мбіт / с (затримка = 50 мілісекунд) буде встановлено показник продуктивності як 1 секунду.
Інший приклад буде такою, як у моделі запит-відповідь. Ми можемо встановити орієнтир, що різниця в часі між генерацією запиту та підтвердженням відповіді повинна бути в діапазоні x мс (мілісекунд) та y мс, де x та y - стандартні цифри.
Успішний тест продуктивності повинен спроектувати більшість проблем продуктивності, які можуть бути пов'язані з базою даних, мережею, програмним забезпеченням, обладнанням тощо.
# 2) Тестування навантаження
Тестування навантаження призначене для тестування системи шляхом постійного та постійного збільшення навантаження на систему, поки воно не досягне порогової межі. Це підмножина тестування продуктивності.
Тестування навантаження можна легко зробити, використовуючи будь-який з відповідних засобів автоматизації, доступних на ринку. WAPT і LoadRunner - два таких відомих інструменти, які допомагають у тестуванні навантаження. Тестування навантаження також відоме такими іменами, як Об'ємне тестування і Випробування на витривалість .
Однак об'ємне тестування в основному зосереджується на базах даних. Випробування на витривалість тестує систему, тримаючи її під значним навантаженням протягом тривалого періоду часу.
Єдина мета навантажувального тестування - призначити системі найбільшу роботу, яку вона може виконати для перевірки витривалості системи та моніторингу результатів. Цікавим фактом тут є те, що іноді система отримує порожнє завдання для визначення поведінки системи в ситуації нульового навантаження.
Атрибути, які відстежуються в тесті навантаження, включають пікову продуктивність, пропускну здатність сервера, час відгуку при різних рівнях навантаження (нижче порога розриву), адекватність навколишнього середовища, кількість програм користувача, які він може обробляти, не впливаючи на продуктивність.
Мета тестування навантаження:
Цілі навантажувального тестування включають:
- Викриття дефектів програми, пов’язаних із переповненням буфера, витоками пам’яті та неправильним управлінням пам’яттю. Проблеми, які в підсумку можуть виникнути в результаті перевірки навантаження, можуть включати проблеми балансування навантаження, проблеми пропускної здатності, пропускну здатність існуючої системи тощо.
- Визначити верхню межу всіх компонентів програми, таких як база даних, обладнання, мережа тощо, щоб програма могла управляти очікуваним навантаженням у майбутньому.
- Щоб встановити SLA для програми.
Наприклад,
Давайте розглянемо можливість перевірити функціональність електронної пошти програми, яку одночасно може заповнити 1000 користувачів. Зараз 1000 користувачів можуть запускати електронні транзакції (читати, надсилати, видаляти, пересилати, відповідати) різними способами.
Якщо взяти одну транзакцію на користувача на годину, то це буде 1000 транзакцій на годину. Моделюючи 10 транзакцій / користувачів, ми могли б завантажити тестовий сервер електронної пошти, зайнявши його 10000 транзакціями на годину.
Інший приклад тесту на навантаження показаний на зображенні нижче:
На наведеному вище зображенні зображено тест навантаження, виконаний за допомогою інструменту JMeter . Цей тест проводиться, щоб визначити, скільки користувачів може обробити система. У цьому тесті додається 100 користувачів через кожні 30 секунд, поки навантаження не досягне 1000 користувачів. Кожен крок займає 30 секунд, а JMeter чекає 30 секунд, перш ніж розпочати наступний крок.
Як тільки навантаження досягне 1000 ниток, усі вони продовжуватимуть працювати протягом 300 секунд (5 хвилин) разом, а потім остаточно зупинятимуть 10 ниток кожні 3 секунди.
# 3) Стрес-тестування
Під час стрес-тестування проводяться різні заходи з перевантаження існуючих ресурсів надлишковими робочими місцями, намагаючись зламати систему. Негативне тестування , що включає видалення компонентів із системи, також проводиться в рамках стрес-тестування.
Також відомий як випробування на втому , це тестування повинно охопити стабільність програми, протестуючи її за межі пропускної здатності.
Таким чином, в основному стрес-тестування оцінює поведінку програми за межами пікового навантаження та нормальних умов.
Метою стрес-тестування є встановлення несправності системи та відстеження того, як система витончено відновлюється. Завдання полягає в тому, щоб перед запуском тесту встановити контрольоване середовище, щоб ви могли точно фіксувати поведінку системи неодноразово за найбільш непередбачуваних сценаріїв.
Проблеми, які в кінцевому підсумку можуть виникнути в результаті стрес-тестування, можуть включати проблеми з синхронізацією, витоки пам'яті, умови змагань тощо. Якщо стрес-тест перевіряє, як система поводиться в ситуації раптового збільшення кількості користувачів , тоді це називається тест на спайк.
Якщо стрес-тест має на меті перевірити стійкість системи протягом певного періоду шляхом повільного збільшення кількості користувачів, це називається тестом на замовлення.
Мета стрес-тестування:
Метою стрес-тестування є аналіз звітів після збою, щоб визначити поведінку програми після відмови.
яка найкраща безкоштовна програма для завантаження музики
Найбільша проблема полягає в тому, щоб забезпечити, щоб система не порушувала безпеку конфіденційних даних після відмови. У результаті успішного стрес-тестування система повернеться до норми разом із усіма її компонентами навіть після найстрашнішої поломки.
Наприклад,
Як приклад, текстовий процесор, такий як Writer1.1.0 від OpenOffice.org, використовується при розробці листів, презентацій, електронних таблиць тощо. Метою нашого стрес-тестування є завантаження його зайвими символами.
Для цього ми будемо неодноразово вставляти рядок даних, доки він не досягне граничної межі обробки великого обсягу тексту. Як тільки розмір символів досягне 65 535 символів, він просто відмовиться приймати більше даних.
Результат стрес-тестування на Writer 1.1.0 призводить до того, що він не виходить з ладу під напругою, і він обробляє ситуацію витончено, забезпечуючи належну роботу програми навіть у жорстких стресових умовах.
Інший приклад тесту на навантаження, який зображує тест на стрибок через раптовий підйом 7000 користувачів, показаний нижче:
FAQ
Отримавши достатньо обговорень щодо тестування продуктивності, стрес-тестування та тестування навантаження, давайте тепер розглянемо деякі відповідні часті питання, на які тестери шукають відповіді.
Q # 1) Чи однакові тестування навантаження та тестування продуктивності?
Відповідь: Відповідь на це - «Ні». Вони не однакові.
На даний момент ви вже повинні чітко розуміти різницю між тестуванням продуктивності та тестуванням навантаження. Ви можете звернутися до табличного резюме нижче, щоб побачити, як тестування продуктивності та навантаження має різні цілі, атрибути обсягу для вивчення та проблеми для розкриття.
Q # 2) Чи є несправедливим тестом проводити стрес-тестування одночасно, коли ви проводите тестування на навантаження?
Відповідь: Це також поширене питання на багатьох співбесідах для тестування програмного забезпечення та сертифікаційних іспитів, оскільки чи несправедливо паралельно робити стрес-тестування та тестування навантаження? Відповідь на це - «Ні». Не несправедливо робити стрес-тестування одночасно, коли ви проводите навантажувальне тестування.
Жоден тест ніколи не є несправедливим. Як випробувач, ваша робота полягає у пошуку проблем. Однак актуальність тестування програмного забезпечення може застосовуватися, і будь-яка проблема, яку ви виявите в цій ситуації, може бути не виправлена.
Запитання №3) Чи є тестування відновлення частиною тестування продуктивності?
Відповідь: Так, тестування на відновлення класифікується під тестування продуктивності, а іноді воно також проводиться з тестуванням на навантаження. В тестування відновлення , він отримує доступ до того, як добре програма може відновити помилки, збої, збої обладнання та інші подібні проблеми.
У цій діяльності програмне забезпечення змушене вийти з ладу, а потім перевіряється, чи зможе воно відновитись належним чином. Наприклад, раптовий перезапуск системи під час запуску програми, а потім перевірка цілісності даних програми.
Q # 4) Чи вимагає тестування продуктивності кодування?
Відповідь: Тестування продуктивності не вимагає знання просунутого рівня кодування. Однак наявність фундаментальних знань програмування є додатковою перевагою.
Наприклад, якщо ви використовуєте JMeter, то вам добре знати основи Java. Це може допомогти вам налагодити деякі речі, а також ви можете написати власний сценарій, якщо потрібно.
Q # 5) Що таке тестування Spike у тестуванні продуктивності?
Відповідь: При тестуванні на стрибки навантаження різко збільшується або зменшується величезною кількістю користувачів, і згодом спостерігається поведінка системи. Перевірка шипів проводиться в основному, щоб перевірити, чи здатна система впоратися з різкими змінами навантаження.
Різниця між навантажувальним та стрес-тестуванням
Підводячи підсумок, давайте розглянемо основні відмінності між навантажувальними випробуваннями, стрес-тестуванням, а також тестуванням продуктивності в таблиці нижче:
Тестування продуктивності | Тестування навантаження | Стрес-тестування | |
---|---|---|---|
Домен | Надмірне навантаження та випробування на напругу | Підмножина тестування продуктивності. | Підмножина тестування продуктивності. |
Сфера дії | Дуже широкий обсяг. Включає - випробування на навантаження, випробування на напругу, випробування ємності, об’ємне випробування, випробування на витривалість, випробування на шипи, випробування на масштабованість та випробування на надійність тощо. | Вузький обсяг порівняно з тестуванням продуктивності. Включає об'ємне тестування та випробування на витривалість. | Вузький обсяг порівняно з тестуванням продуктивності. Включає тестування на замочування та тестування на шипи. |
Головна мета | Встановити еталон та стандарти для застосування. | Щоб визначити верхню межу системи, встановіть SLA програми та подивіться, як система обробляє великі обсяги навантаження. | Визначити, як система поводиться під інтенсивними навантаженнями та як вона відновлюється після відмови. В основному, щоб підготувати програму до несподіваного стрибка трафіку. |
Обмеження навантаження | Обидва - нижче і вище порога перерви. | До порога перерви | Вище порога перерви |
Вивчені атрибути | Використання ресурсів, надійність, масштабованість, використання ресурсів, час відгуку, пропускна здатність, швидкість тощо. | пікова продуктивність, пропускна здатність сервера, час відгуку при різних рівнях навантаження (нижче порогу розриву), адекватність навколишнього середовища, кількість користувальницьких додатків, вимоги до балансування навантаження тощо. | Стабільність, що перевищує пропускну здатність, час відгуку (вище порога розриву), тощо |
Проблеми, виявлені за допомогою цього типу тестування | Всі помилки продуктивності, включаючи роздуття середовища виконання, можливості для оптимізації, проблеми, пов’язані зі швидкістю, затримкою, пропускною здатністю тощо. В основному - все, що пов’язано з продуктивністю! | Проблеми балансування навантаження, проблеми пропускної здатності, проблеми з пропускною здатністю системи, низький час відгуку, проблеми з пропускною здатністю тощо. | Лазівки в безпеці із перевантаженням, проблемами з пошкодженням даних у ситуації перевантаження, повільністю, витоками пам'яті тощо. |
Різниця між випробуванням на навантаження, стрес і об'єм
На даний момент ми вже знаємо про навантажувальне та стрес-тестування, а також про відмінності між ними. Давайте тепер дослідимо, що таке об'ємне тестування і чим воно відрізняється від навантажувального та стрес-тестування.
Об’ємне тестування - це також різновид тестування продуктивності, яке головним чином зосереджується на базі даних.
Під час тестування обсягу перевіряється, як система поводиться щодо певного обсягу даних. Таким чином, бази даних заповнені своєю максимальною ємністю, і відстежується їх рівень продуктивності, як час відгуку та пропускна здатність сервера.
Щоб зробити це дуже просто, різниця між навантаженням, напругою та об’ємом випробувань наведена нижче:
Об'ємне тестування | Тестування навантаження | Стрес-тестування |
---|---|---|
Величезна кількість даних | Величезна кількість користувачів | Забагато користувачів, занадто багато даних для збою системи. |
Висновок
У цьому підручнику ми побачили і зрозуміли на прикладах те, як тестування продуктивності, тестування навантаження та стрес-тестування відрізняються між собою та яка сфера застосування кожного типу тестування.
Ми також коротко ознайомились з багатьма категоріями під час тестування продуктивності, такими як тестування шипів, тестування відновлення, тестування обсягу тощо, і зрозуміли, чим кожна з них відрізняється одна від одної.
найкращий безкоштовний очищувач дисків Windows 10
Ми сподіваємось, що цей підручник мав би вам величезну допомогу для розуміння практичної різниці між робочими характеристиками, навантаженням та стрес-тестуванням.
Перегляньте наш підручник, щоб дізнатись більше про функціональне тестування проти тестування продуктивності.
=> Завітайте сюди, щоб отримати повну серію навчальних посібників з тестування продуктивності
НАЗАД Підручник | НАСТУПНИЙ підручник
Рекомендована література
- Повне керівництво з тестування продуктивності з прикладами
- Посібник зі стрес-тестування для початківців
- Повне керівництво для тестування навантаження для початківців
- Тестування навантаження, напруги та продуктивності веб-додатків за допомогою WAPT
- Тестування навантаження за допомогою підручників HP LoadRunner
- Хмарне тестування продуктивності: постачальники послуг на основі хмарного тестування навантаження
- Функціональне тестування проти тестування продуктивності: чи слід це робити одночасно?
- Тестування навантаження за допомогою LoadUI - безкоштовний інструмент тестування навантаження з відкритим кодом