🐴 Дело о старой вкладке

Вы открыли заказ. Он существует. Кнопка «Отменить» доступна. Вы отвлеклись. Через час возвращаетесь в ту же вкладку. Но за это время заказ уже изменился. Что произойдёт, если теперь нажать «Отменить»?

На первый взгляд всё просто: браузер показывает старое состояние страницы. Но сервер уже живёт в другом мире. И вот здесь начинается интересная проверка. Я бы открыл один и тот же объект в двух вкладках. В первой — ничего не делал бы. Во второй — изменил состояние объекта: «Новый» → «Подтверждён».

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

Система может: — корректно сообщить, что состояние уже изменилось;

— обновить страницу и показать актуальные данные;

— вернуть ошибку;

— выполнить действие, которое уже не должно быть доступно;

— а в худшем случае — привести объект в некорректное состояние.

И это уже интереснее обычной проверки: «Кнопка работает?» Потому что кнопка действительно может работать. Проблема в другом: имеет ли пользователь право выполнить это действие сейчас, если его экран показывает вчерашнее состояние системы?

Я бы пошёл ещё дальше. Проверил бы тот же сценарий: — в двух вкладках;

— с двух устройств;

— под двумя пользователями;

— после изменения прав доступа;

— после истечения сессии;

— после потери и восстановления интернета;

— после долгого простоя открытой страницы.

И отдельно посмотрел бы запрос в DevTools: что именно отправляет клиент и что отвечает сервер? Потому что хороший тест здесь — это не только: «что вижу на экране?»

А ещё: «какое состояние объекта сейчас действительно существует на сервере?»

Старая вкладка — всего лишь один пример. Та же проблема может появиться с открытой формой, карточкой товара, профилем пользователя, правами доступа, статусом платежа — практически везде, где данные могут измениться после того, как пользователь их получил.

И вот здесь ручное тестирование становится интереснее. Иногда не нужно придумывать невероятные сценарии. Достаточно спросить: «А что будет, если я просто оставлю эту страницу открытой?»

#QA #Тестирование #WebTesting #НефункциональноеТестирование

🐴 Дело о старой вкладке | Сетка — социальная сеть от hh.ru 🐴 Дело о старой вкладке | Сетка — социальная сеть от hh.ru