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

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