Ответ
Требования к ПО — это формализованные условия, возможности и ограничения, которым должна удовлетворять разрабатываемая система. Они фиксируют что должно быть сделано, но не как это реализовать технически.
Два основных типа требований:
-
Функциональные требования: Описывают поведение системы, её функции.
- Пример: "Система должна позволять пользователю сбрасывать пароль через email"
-
Нефункциональные требования: Описывают свойства системы (качества).
- Производительность: "95% запросов к API должны обрабатываться менее чем за 200 мс."
- Безопасность: "Все пароли должны храниться в хэшированном виде с использованием bcrypt."
- Удобство использования: "Новый пользователь должен выполнить первую задачу менее чем за 3 минуты."
Формат записи (User Story):
Как [роль пользователя],
Я хочу [возможность],
Чтобы [получить пользу/решить задачу].
Роль QA: критически анализировать требования на предмет неоднозначности, противоречивости, тестируемости и полноты, участвуя в их уточнении.