Таблицы решений и состояния
Если поведение зависит от комбинации условий, полезна таблица решений. Если объект проходит через статусы, нужна модель состояний. Эти техники особенно важны для заказов, подписок, платежей, модерации, задач и workflow.
Что важно понять
- Все условия, влияющие на результат, и допустимые комбинации.
- Запрещённые комбинации и ожидаемую ошибку.
- Переходы статусов: кто может перевести, когда и с какими последствиями.
- Параллельные действия: повторный запрос, отмена, таймаут, retry.
Рабочий порядок
- Выпишите условия и возможные значения.
- Соберите таблицу решений или диаграмму статусов.
- Удалите невозможные комбинации, но явно отметьте их как невозможные.
- Проверьте позитивные переходы, запреты и восстановление после ошибки.
Что отдавать команде
- Decision table с ожидаемым результатом.
- State transition checklist.
- Дефекты на невозможные или пропущенные переходы.
Частые провалы
- Тестировать статусы только через happy path.
- Не проверять права ролей на переходы.
- Игнорировать повторные клики и параллельные запросы.
Практика
Смоделируйте заказ со статусами draft, paid, shipped, cancelled, refunded. Найдите переходы, которые должны быть запрещены.