Нефункціональне тестування описує тести, необхідні для визначення характеристик програмного забезпечення, які можуть бути виміряні різними величинами. В цілому, це тестування того, «Як» система працює. Далі перераховані основні види не функціональних тестів:
(A) тестування навантаження (Performance and Load Testing)
(B) стресове тестування (Stress Testing)
(C) тестування стабільності або надійності (Stability / Reliability Testing)
(D) об'ємне тестування (Volume Testing)
- Тестування установки (Installation testing)
- Тестування зручності користування (Usability Testing)
- Тестування на відмову і відновлення (Failover and Recovery Testing)
- Конфігураційне тестування (Configuration Testing)
Тестування навантаження або тестування продуктивності. Завданням тестування продуктивності є визначення масштабованості додатки під навантаженням, при цьому відбувається:
- вимір часу виконання обраних операцій при певних интенсивностях виконання цих операцій;
- визначення кількості користувачів, що одночасно працюють з додатком;
- визначення меж прийнятної продуктивності при збільшенні навантаження (при збільшенні інтенсивності виконання цих операцій);
- дослідження продуктивності на високих, граничних, стресових навантаженнях.
Стресове тестування дозволяє перевірити наскільки додаток і система в цілому працездатні в умовах стресу і також оцінити здатність системи до регенерації, тобто до повернення до нормального стану після припинення впливу стресу. Стресом в даному контексті може бути підвищення інтенсивності виконання операцій до дуже високих значень або аварійне зміна конфігурації сервера. Також одним із завдань при стресовому тестуванні може бути оцінка деградації продуктивності, таким чином цілі стресового тестування можуть перетинатися з цілями тестування продуктивності.
Завданням об'ємного тестування є отримання оцінки продуктивності при збільшенні обсягів даних в базі даних програми, при цьому відбувається:
- вимір часу виконання обраних операцій при певних интенсивностях виконання цих операцій
- може проводитися визначення кількості користувачів, що одночасно працюють з додатком
Завданням тестування стабільності (надійності) є перевірка працездатності програми при тривалому (багатогодинному) тестуванні із середнім рівнем навантаження. Часи виконання операцій можуть грати в даному виді тестування другорядну роль. При цьому на перше місце виходить відсутність витоків пам'яті, перезапусків серверів під навантаженням і інші аспекти, що впливають саме на стабільність роботи.