Перейти к основному содержимому

ФТ и НФТ в сравнении

Функциональные требованияНефункциональные требования
Функциональное требование определяет саму систему, функцию или компонент системыНефункциональное требование определяет качественный атрибут системы (качество системы)
Определяет "Что система должна делать?"Определяет ограничения вида "Каким образом система удовлетворит функциональные требования?"
ФТ определяются потребностями ПользователейНФТ определяются технарями, например, архитектором, техлидом и/или разработчиками
Удовлетворение ФТ обязательноУдовлетворение НФТ не является обязательным
Определяются как вариант использования (Use Case)Определяются как атрибут качества (Quality Attribute)
Проводится функциональное тестирование Системы, End2End тестирование функций, тестирование APIПроводится нефункциональное тестирование Системы, тестирование производительности, тестирование безопасности, тестирование юзабилити и др.
Обычно легко определитьОбычно сложновато определить
ПРИМЕРЫПРИМЕРЫ
1) Система должна производить аутентификацию пользователя при каждом входе пользователя
2) В случае кибератаки система должна выключиться
3) Система должна отправить пользователю на электронную почту письмо с подтверждением регистрации
1) Электронное письмо с подтверждением регистрации должно быть отправлено не позднее чем через 30 секунд после регистрации
2) Обработка каждого запроса должна быть выполнена в течение 10 секунд после отправки запроса
3) Сайт должен грузиться не более чем за 3 секунды при одновременном количестве пользователей менее 10000