Что такое требования к программному обеспечению?

«Что такое требования к программному обеспечению?» — вопрос из категории Тестовая документация, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Требования к ПО — это формализованные условия, возможности и ограничения, которым должна удовлетворять разрабатываемая система. Они фиксируют что должно быть сделано, но не как это реализовать технически.

Два основных типа требований:

  1. Функциональные требования: Описывают поведение системы, её функции.

    • Пример: "Система должна позволять пользователю сбрасывать пароль через email"
  2. Нефункциональные требования: Описывают свойства системы (качества).

    • Производительность: "95% запросов к API должны обрабатываться менее чем за 200 мс."
    • Безопасность: "Все пароли должны храниться в хэшированном виде с использованием bcrypt."
    • Удобство использования: "Новый пользователь должен выполнить первую задачу менее чем за 3 минуты."

Формат записи (User Story):

Как [роль пользователя],
Я хочу [возможность],
Чтобы [получить пользу/решить задачу].

Роль QA: критически анализировать требования на предмет неоднозначности, противоречивости, тестируемости и полноты, участвуя в их уточнении.