База знань

Тестування продуктивності

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

    • Визначення робочої кількості користувачів додатку.
    • Вимірювання часу виконання різних операцій системи.
    • Визначення продуктивності додатка при різних рівнях навантаження.
    • Визначення допустимих меж продуктивності програми при різних рівнях навантаження.

perfor_test
Залежно від характеристик, які нам потрібно протестувати, тестування продуктивності поділяється на типи:

      • Тестування навантаження (Load Testing) – тестування часу відповіді програми на запити різних типів, з метою переконатися, що додаток працює відповідно до вимог при звичайному користувацькому навантаженні.
      • Стрес-тестування (Stress Testing) – тестування працездатності додатку при навантаженнях, що перевищують користувацькі в декілька разів. При стрес-тестуванні (найчастіше, тільки при ньому) ми можемо отримати реальні дані границь продуктивності додатка, досліджувати здатність програми обробляти виключення, її стабільність та стійкість. Саме в значно збільшених навантаженнях на додаток і полягає різниця між тестуванням продуктивності та стрес тестуванням.
      • Тестування стабільності або робота на відмову (Stability/Reliability Testing) досліджує працездатність додатку при тривалій роботі у часі за нормального навантаження програми.
      • Об’ємне тестування (Volume Testing) – тестування проводиться із збільшенням кількості використовуваних даних, які зберігаються та використовуються в додатку.

Дуже часто при визначенні тестування продуктивності та його типів приходять до помилкового розуміння та плутанини даних термінів. Щоб уникнути цього та закріпити отримані знання, підіб’ємо підсумок. Отже, тестування продуктивності – це перевірка таких нефункціональних вимог, як продуктивність та працездатність програми при різних навантаженнях і умовах. Залежно від досліджуваної характеристики програми, ми можемо виділити такі типи тестування:

    • Навантажувальне тестування (продуктивність при нормальних умовах).
    • Стрес-тестування (працездатність, продуктивність і характеристики додатку при екстремальних навантаженнях).
    • Тестування стабільності (при тривалій роботі).
    • Об’ємне тестування (при збільшених обсягах оброблюваних даних).