База знань

Нефункціональне тестування

На відміну від функціонального тестування, метою якого є перевірка відповідності реальних функцій продукту його функціональними вимогами, як Ви вже напевно здогадалися, метою нефункціонального тестування є перевірка відповідності властивостей додатку його нефункціональними вимогами.

Відповідно: нефункціональне тестування – тестування властивостей, які не віповідають функціональності системи. Дані властивості визначаються нефункціональними, які характеризують продукт з таких боків, як:

Надійність (реакція системи на непередбачені ситуації).

Продуктивність (Працездатність системи під різними навантаженнями).

Зручність (Дослідження зручності роботи із додатком з точки зору користувача).

Масштабованість (Вимоги до горизонтального або вертикального масштабування додатку).

Безпека (Захищеність даних користувача).

Здатність до портування (Доступність до переносу додатку на різні платформи).

Та багато інших якостей.

Дані властивості системи можна досліджувати, використовуючи наступні види тестування:

Тестування установки (Installation testing) – перевірка успішності установки програми, її налаштування та видалення. Знижує ризики втрати даних користувача, втрати працездатності програми та ін.

Тестування зручності використання (Usability testing) – характеризує систему з точки зору зручності використання кінцевого користувача.

Конфігураційне тестування (або тестування здатності до портування) – дослідження працездатності програмної системи в умовах різних програмних конфігурацій.

Тестування на відмову та відновлення (Failover and Recovery Testing) – дослідження програмної системи на предмет відновлення після помилок, збоїв. Оцінка реакції захисних властивостей програми.

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