Що таке тестування на витривалість у тестуванні програмного забезпечення? (з прикладом)

Випробування на витривалість

Випробування на витривалість це нефункціональний тип тестування програмного забезпечення, коли програмне забезпечення тестується з високим навантаженням протягом значного проміжку часу, щоб оцінити поведінку програмного додатка при тривалому використанні. Основна мета тестування на довговічність полягає в тому, щоб переконатися, що програма достатньо здатна витримувати тривале навантаження без будь-якого погіршення часу відгуку.

Цей тип тестування виконується на останньому етапі циклу виконання продуктивності. Випробування на витривалість – це тривалий процес, іноді навіть до року. Це може включати застосування зовнішніх навантажень, таких як Інтернет-трафік або дії користувача. Це відрізняє тестування на витривалість від Тестування навантаження, яка зазвичай закінчується приблизно через пару годин.

Витривалість означає потужність, отже, іншими словами, ви можете назвати тестування на витривалість як тестування потужності.

Цілі тестування на витривалість

  • Основна мета тестування на витривалість – перевірити наявність витоків пам’яті.
  • Щоб дізнатися, як працює система при тривалому використанні.
  • Щоб переконатися, що після тривалого періоду час відгуку системи залишатиметься таким самим або кращим, ніж на початку тесту.
  • Щоб визначити кількість користувачів і/або транзакцій, яка буде підтримуватися певною системою та відповідати цілям продуктивності.
  • Щоб керувати майбутніми навантаженнями, нам потрібно зрозуміти, скільки додаткових ресурсів (як-от ємність процесора, ємність диска, використання пам’яті або пропускна здатність мережі) необхідно для підтримки використання в майбутньому.
  • Перевірка на довговічність зазвичай проводиться шляхом перевантаження системи або зменшення певних ресурсів системи та оцінки наслідків.
  • Це виконується для того, щоб гарантувати, що дефекти або витоки пам’яті не відбуваються після того, що вважається відносно «нормальним» періодом використання.

Що слід контролювати під час тестування на витривалість

Випробування на витривалість

Під час тестування на витривалість перевіряються такі речі.
  • Перевірте витік пам'яті– Виконуються перевірки, щоб перевірити, чи є витік пам’яті в програмі, який може спричинити збій системи чи ОС
  • Перевірте замикання з'єднання між рівнем системи – Якщо з’єднання між рівнями системи не закрито успішно, деякі або всі модулі системи можуть зупинитися.
  • Тестове підключення до бази даних успішно закрито– Якщо підключення до бази даних не закрито успішно, це може призвести до збою системи
  • Час відгуку тесту – Система перевіряється на час відгуку системи, оскільки програма стає менш ефективною в результаті тривалого використання системи.

Як проводити тестування на витривалість

Нижче наведено базовий підхід до тестування на витривалість
  • Тестове середовище – Визначте обладнання, програмне забезпечення, операційну систему, необхідні для тестування на довговічність, розподіл ролей і обов’язків у команді тощо. Середовище має бути готове до виконання тесту. Вам також потрібно оцінити загальний обсяг виробництва бази даних і щорічне зростання. Це потрібно, оскільки вам потрібно перевірити, як ваша програма відреагує через рік, два чи п’ять.
  • Створення плану тестування, сценарії – Залежно від характеру тестування – вручну, автоматизації або комбінації обох, Тестовий випадок дизайн, огляди та виконання повинні бути сплановані. Тестування для навантаження на систему, тестування точки зупинки тощо також має бути частиною плану тестування. Тестування на навантаження системи визначає точку зупинки в додатку.
  • Тестова оцінка – Надайте оцінку того, скільки часу знадобиться для завершення етапу тестування. Його слід аналізувати на основі кількості залучених тестувальників і кількості необхідних циклів тестування.
  • Аналіз ризиків – Аналіз ризику та вжиття відповідних заходів для запобігання. Пріоритезація тестових випадків відповідно до фактора ризику та виявлення нижче ризиків і проблем, які тестувальник може провести під час тесту на довговічність.
  • Чи продуктивність залишатиметься постійною з часом?
  • Чи є інші незначні проблеми, які ще не виявлені?
  • Чи існує зовнішнє втручання, яке не було розглянуто?
  • Розклад випробувань – Визначте бюджет, результати в терміни. як Випробування на витривалість застосовує велике, але природне розташування транзакцій до системи/програми протягом тривалого періоду часу.

Приклад тестування на витривалість

У той час як Стресові випробування доводить тестовану систему до її меж, Випробування на витривалість доводить до ліміту програму через деякий час. Наприклад, найскладніші проблеми – витік пам’яті, використання сервера бази даних і невідповідь системи – виникають, коли програмне забезпечення працює протягом тривалого періоду часу. Якщо ви пропустите випробування на довговічність, ваші шанси виявити такі дефекти до розгортання досить низькі.

Інструменти тестування на витривалість

  • WebLOAD
  • Завантаження завершено
  • Apache JMeter
  • LoadRunner
  • Appvance
  • LoadUI
  • OpenSTA
  • Rational Performance Tester

Переваги тестування на витривалість

  • Це допомагає визначити, яке робоче навантаження може витримати система під навантаженням.
  • Надає точні дані, які клієнт може використовувати для перевірки або покращення своїх потреб у інфраструктурі.
  • Визначає проблеми продуктивності, які можуть виникнути після того, як система працювала на високому рівні протягом тривалого періоду часу
  • Типові проблеми виявляються під час невеликих цільових тестів продуктивності, що означає, що програма залишається доступною навіть за великого навантаження за дуже короткий проміжок часу.
  • Тест на витривалість також використовується, щоб перевірити, чи є погіршення продуктивності після тривалого періоду виконання

Недоліки тестування на витривалість

  • Часто важко визначити, скільки стресу варто застосовувати.
  • Тестування на довговічність може призвести до збоїв програми та/або мережі, що може призвести до значних збоїв, якщо Тестове середовище не ізольовані.
  • Постійна втрата або пошкодження даних може статися через надмірне навантаження на систему.
  • Використання ресурсів залишається дуже високим після усунення стресу.
  • Деякі компоненти програми не відповідають.
  • Необроблені винятки спостерігаються кінцевим користувачем.

Підсумки

  • In Розробка програмного забезпечення, Тестування на витривалість є підмножиною тестування навантаження.
  • Випробування на витривалість – це тривалий процес, який іноді триває навіть рік
  • Перевірки проводяться для перевірки
  • Перевірте витік пам'яті
  • Час відгуку тесту
  • Перевірте підключення до бази даних тощо.