Рабочий подход
State Machine моделирует поведение интерфейса через явные состояния и переходы, а не через слабо связанные булевы флаги. Навык определяет события, которые меняют состояние компонента, условия-ограничители, разрешающие переход, и действия, выполняемые по ходу. Примеры в источнике: формы, запросы данных, аутентификация и многошаговые мастера.
Цель — проверяемая спецификация поведения. Для каждого состояния нужно определить представление в интерфейсе. У нефинальных состояний должен быть выход, а недопустимые комбинации следует выявить до реализации. Источник не выбирает библиотеку state-machine и не обещает автоматически создавать исчерпывающее доказательство.
Ожидаемые результаты
- Перечень состояний и событий для одной узкой задачи.
- Карта переходов с условиями-ограничителями и действиями при входе или выходе.
- Случаи ошибок, восстановления и невозможных состояний для проверки.
От задания к проверке
- 01Перечислите состояния и события
Назовите значимые режимы и все триггеры, которые могут их менять, начиная с основного сценария.
- 02Определите допустимые переходы
Укажите конечные состояния, условия и побочные эффекты. Выявите комбинации, которые дизайн должен исключить.
- 03Добавьте восстановление и привязку к интерфейсу
Смоделируйте сбой, повтор, отмену и выходы; покажите, как выглядит интерфейс в каждом состоянии.