Как диагностировать проблему, если при заполнении валидных данных в форме регистрации и нажатии кнопки ничего не происходит?
Что проверяют
Есть ли у вас порядок локализации, или вы сразу пишете «не работает регистрация». Интервьюер ждёт, что вы по шагам сузите проблему до слоя: интерфейс, сеть, сервер. Следом спрашивают, что именно вы положите в баг-репорт.
Как отвечать
Сначала воспроизведите и зафиксируйте окружение: браузер и его версию, стенд, данные. Повторите в режиме инкогнито, чтобы исключить расширения, блокировщики и старый кеш.
Дальше DevTools, по порядку:
- Console: ошибка JavaScript в обработчике клика обрывает выполнение, и форма молча не отправляется. Здесь же видны ошибки CORS и Content Security Policy;
- Network: ушёл ли запрос вообще. Если нет, проблема на клиенте: обработчик не привязан, кнопку перекрывает невидимый элемент, у неё
type="button", или браузерная валидация споткнулась о скрытое обязательное поле и лишь написала предупреждение в консоль; - ответ сервера: если запрос ушёл, смотрите статус и тело. Это может быть 4xx с текстом, который фронтенд не показал, 5xx, вечный pending до таймаута или 200, после которого интерфейс ничего не сделал;
- сервер и база: по request id или времени найдите запись в логах и проверьте, появился ли пользователь в таблице.
Уточните, по чьим правилам данные «валидны». Почта с плюсом, имя с апострофом, телефон с пробелами проходят по требованиям, но могут падать на регулярке.
В баг-репорт кладите шаги, окружение, фактический и ожидаемый результат, скриншот консоли и HAR-файл из Network: разработчик увидит точный запрос и ответ.
Где спотыкаются
Начинают с «наверное, бэкенд лежит», не открыв Network. Без проверки, ушёл ли запрос, это гадание, и задача уходит не тому разработчику.
Проверяют в одном браузере под одним пользователем. Если в другом профиле всё работает, дело часто в расширении, кеше или почте, которая уже зарегистрирована.
Пишут в репорте «кнопка не работает» и больше ничего. Без HAR, текста ошибки из консоли и времени воспроизведения разработчик повторяет всю диагностику заново.