qalight
Центр подготовки
IT специалистов

База знаний

Нефункциональное тестирование

В отличии от функционального тестирования, целью которого является проверка соответствия реальных функций продукта с функциональными требованиями, как Вы уже наверное догадались, целью нефункционального тестирования является проверка соответствия свойств приложения с его нефункциональными требованиями.

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

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

Производительность (Работоспособность системы под разными нагрузками).

Удобство (Исследование удобности работы с приложением с точки зрения пользователя).

Масштабируемость (Требования к горизонтальному или вертикальному масштабированию приложения).

Безопасность (Защищенность пользовательских данных).

Портируемость (Переносимость приложения на различные платформы).

И много других качеств.

Данные свойства системы можно исследовать, используя следующие виды тестирования:

Тестирование установки (Installation testing) – проверка успешности установки приложения, его настройки и удаления. Снижает риски потери пользовательских данных, потери работоспособности приложения и пр.

Тестирование удобства использования (Usability testing) – характеризует систему с точки зрения удобства использования конечного пользователя.

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

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

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