Таблицы решений и состояния

Если поведение зависит от комбинации условий, полезна таблица решений. Если объект проходит через статусы, нужна модель состояний. Эти техники особенно важны для заказов, подписок, платежей, модерации, задач и workflow.

Что важно понять

  • Все условия, влияющие на результат, и допустимые комбинации.
  • Запрещённые комбинации и ожидаемую ошибку.
  • Переходы статусов: кто может перевести, когда и с какими последствиями.
  • Параллельные действия: повторный запрос, отмена, таймаут, retry.

Рабочий порядок

  1. Выпишите условия и возможные значения.
  2. Соберите таблицу решений или диаграмму статусов.
  3. Удалите невозможные комбинации, но явно отметьте их как невозможные.
  4. Проверьте позитивные переходы, запреты и восстановление после ошибки.

Что отдавать команде

  • Decision table с ожидаемым результатом.
  • State transition checklist.
  • Дефекты на невозможные или пропущенные переходы.

Частые провалы

  • Тестировать статусы только через happy path.
  • Не проверять права ролей на переходы.
  • Игнорировать повторные клики и параллельные запросы.

Практика

Смоделируйте заказ со статусами draft, paid, shipped, cancelled, refunded. Найдите переходы, которые должны быть запрещены.