Как протестировать отмену бронирования в мобильном приложении и какие проверки провести
Что проверяют
Умеете ли вы разложить одну пользовательскую операцию на уровни: интерфейс, бизнес-правила, бэкенд, платёжка, уведомления, особенности мобильной платформы. Следом обычно просят назвать, что из этого вы бы автоматизировали и что проверили бы руками первым, если на тестирование дали час.
Как отвечать
Начните с уточнения требований: до какого момента отмена бесплатна, есть ли штраф, бывает ли частичная отмена, кто возвращает деньги и в какой срок. Без этих правил тест-кейсы писать не из чего. Дальше разбейте проверки по группам:
- бизнес-правила: граничные значения по времени (ровно за 24 часа, за минуту до дедлайна и через минуту после), часовые пояса устройства и сервера, отмена уже отменённой или завершённой брони;
- деньги: возврат полной или частичной суммы, статус платежа, повторный запрос не должен вернуть деньги дважды;
- синхронизация: бронь пропала из списка, слот снова доступен другим, данные совпадают на втором устройстве и в веб-версии;
- сеть: обрыв посреди запроса, авиарежим, медленная сеть через Charles или Proxyman, повтор после таймаута;
- жизненный цикл: сворачивание во время отмены, убийство процесса, входящий звонок, поворот экрана;
- уведомления: push, письмо и SMS приходят один раз и с правильным текстом, диплинк из push ведёт в нужную бронь;
- платформы: разные версии iOS и Android, маленький экран, крупный шрифт, тёмная тема, VoiceOver и TalkBack.
Серверную часть удобно проверить отдельно через API в Postman: так вы отделяете баг клиента от бага бэкенда.
Где спотыкаются
Перечисляют «позитивные и негативные сценарии» без единого конкретного условия. Одна граница с точной цифрой звучит сильнее, чем десять общих слов.
Забывают про деньги и двойной тап. Кнопка «Отменить», нажатая дважды при плохой сети, это классический источник двойного возврата или ошибки 500.
Проверяют только экран приложения. Бронь может выглядеть отменённой в интерфейсе, а в базе и у партнёра остаться активной, поэтому смотрят и API, и логи, и соседние клиенты.