Какие атрибуты характеризуют хорошие требования в тестировании ПО?

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

Ответ

Хорошие требования должны обладать следующими ключевыми атрибутами, которые делают их пригодными для тестирования:

  1. Корректность (Correctness) — точно и безошибочно описывают ожидаемое поведение системы.
  2. Однозначность (Unambiguous) — исключают двусмысленные трактовки. Используют конкретные, измеримые формулировки.
    • Плохо: "Система должна отвечать быстро."
    • Хорошо: "95% запросов к API должны обрабатываться менее чем за 200 мс."
  3. Полнота (Complete) — покрывают все сценарии использования, включая основные потоки, альтернативные и граничные случаи.
  4. Непротиворечивость (Consistent) — не конфликтуют друг с другом и с другими требованиями в системе.
  5. Проверяемость (Testable/Verifiable) — для требования можно разработать объективный тест для подтверждения его выполнения.
  6. Атомарность (Atomic) — описывают одну, законченную функциональность или ограничение.
  7. Прослеживаемость (Traceable) — имеют уникальный идентификатор, позволяющий связать их с тест-кейсами и дефектами.

Практический пример: Требование к форме регистрации.

  • Слабое: "Поле 'Email' должно проверяться."
  • Улучшенное (соответствует атрибутам): "Система должна валидировать поле 'Email' на соответствие формату name@domain.com и отображать ошибку 'Введите корректный email' в течение 1 секунды после ввода некорректных данных."