Ответ вслух Middle Переходы состояний и опыт обновлено

Как протестировать статусы заказа

Вопрос

Как протестируешь жизненный цикл заказа интернет-магазина со статусами и отменой?

Попробуйте сами

Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.

Показать ответ и разбор

Коротко

Сначала рисую диаграмму состояний: создан, оплачен, собран, отправлен, доставлен, отменён, и согласую её с аналитиком, потому что на этом шаге часто находятся дыры в требованиях. Потом покрываю все допустимые переходы, начиная со счастливого пути.

Что должно прозвучать в ответе

  • Нарисовать диаграмму состояний по требованиям и согласовать её

  • Покрыть все допустимые переходы, начиная со счастливого пути

  • По таблице состояний найти недопустимые переходы и проверить их через UI и API

  • Проверить побочные действия переходов: возврат денег, письма, остатки

  • Конкурентные события: два перехода одновременно, повторный вебхук оплаты

  • Отображение статуса у клиента, в админке и в уведомлениях

Что могут спросить следом

  • Что такое покрытие 1-switch и когда оно нужно?
  • Как проверить гонку «оплата пришла одновременно с отменой»?

Разбор

Сначала рисую диаграмму состояний: создан, оплачен, собран, отправлен, доставлен, отменён, и согласую её с аналитиком, потому что на этом шаге часто находятся дыры в требованиях. Потом покрываю все допустимые переходы, начиная со счастливого пути. Дальше строю таблицу состояний и проверяю недопустимые переходы, причём не только в интерфейсе, но и через API, ведь кнопку можно скрыть, а запрос отправить. Отдельно проверяю побочные действия: при отмене оплаченного заказа должен уйти возврат, вернуться остатки, прийти письмо. И проверяю гонки: оплата и отмена одновременно, повторный вебхук от платёжки не должен оплатить заказ дважды.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.