Нефункциональные требования - это требования, которые не касаются непосредственно функциональности приложения, но влияют на его удобство использования.



Пример, когда тестирование нефункциональных требований провалено - мобильное приложение для покупки билета на электричку 🚃:

- имеет маленькие кнопки для выбора времени отправления поезда, на который надо купить билет (удобство использования),

- начинает долго грузиться по утрам, в час пик (производительность),

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

- чтобы добавить возможность покупки билетов "туда-обратно", программисты говорят, что дешевле с нуля все переписать (масштабируемость).



Поэтому, работая над требованиями к приложениям, думаем про:

💥 Надежность - способность приложения работать бесперебойно на протяжении определенного времени, без ошибок

💥 Безопасность - способность защищать данные и систему от внешних угроз, доступность персональных данных пользователей, авторизация

💥 Удобство использования - эргономика, интуитивно понятный интерфейс

💥 Производительность - скорость и эффективность работы приложения

💥 Масштабируемость - способность приложения адаптироваться к росту нагрузки и изменению требований

💥 Совместимость - способность приложения работать с разными системами и устройствами



Сохраняйте в заметки, чтобы не потерять, и использовать при постановке очередной задачи или написании ТЗ!