База знаний
Нефункциональное тестирование
В отличии от функционального тестирования, целью которого является проверка соответствия реальных функций продукта с функциональными требованиями, как Вы уже наверное догадались, целью нефункционального тестирования является проверка соответствия свойств приложения с его нефункциональными требованиями.
Соответственно: нефункциональное тестирование – тестирование свойств, которые не относятся к функциональности системы. Данные свойства определяются нефункциональными требованиями, которые характеризуют продукт с таких сторон, как:
Надежность (реакция системы на непредвиденные ситуации).
Производительность (Работоспособность системы под разными нагрузками).
Удобство (Исследование удобности работы с приложением с точки зрения пользователя).
Масштабируемость (Требования к горизонтальному или вертикальному масштабированию приложения).
Безопасность (Защищенность пользовательских данных).
Портируемость (Переносимость приложения на различные платформы).
И много других качеств.
Данные свойства системы можно исследовать, используя следующие виды тестирования:
Тестирование установки (Installation testing) – проверка успешности установки приложения, его настройки и удаления. Снижает риски потери пользовательских данных, потери работоспособности приложения и пр.
Тестирование удобства использования (Usability testing) – характеризует систему с точки зрения удобства использования конечного пользователя.
Конфигурационное тестирование (или тестирование портируемости) – исследование работоспособности программной системы в условиях различных программных конфигураций.
Тестирование на отказ и восстановление (Failover and Recovery Testing) – исследование программной системы на предмет восстановления после ошибок, сбоев. Оценивание реакции защитных свойств приложения.
Как видите, хотя нефункциональное тестирование и не проверяет систему на выполнение тех функций, которые хочет от него заказчик, оно позволяет контролировать более глобальные свойства: безопасность, производительность, надежность и другие. Данные требования характеризуют качество программной системы в целом, что позволяет тем или иным образом оставлять у пользователя впечатления, которые повлияют на популярность и рейтинг компании-разработчика.