checklist
January 14
Чек-лист тестирования "Забыл пароль"
Ранее рассказывал о базовых проверках формы авторизации и считаю важным отдельно составить чек-лист для маленькой, но очень значительной функции - восстановление пароля. Поехали!
- Открытие страницы восстановления пароля по клику на ссылку "Забыли пароль".
- На странице восстановления есть необходимый элементы для восстановления: поле ввода эл, почты/телефон/логин/etc, кнопка "Отправить/Восстановить/etc". Отмечу отдельно, что телефон и почта должны проверяться по маске, т.е. почта не может быть без @ или телефон должен быть с кодом, определенной длины и т.п.
- Кнопка "Отправить/Восстановить" доступна после ввода всех обязательных полей. Если не заблокирована при пустых полях, то нужно показывать ошибку "Заполните поля", если нажали "Отправить" с пустыми полями.
- Кнопка "Отправить" недоступна для многократного нажатия. Если доступна, то не должны слать запросы на сервер на каждый клик.
- Проверка существования профиля для которого пытаемся восстановить пароль. Если профиля нет, то должны показать соответствующее сообщение. Опционально можно показать предложение создать профиль.
- Ограничение на количество попыток восстановить. Зависит от конкретных требования, но как минимум стоит хранить куку, в которой будет таймер через какое время можно повторить запрос.
- Получение на почту письмо с инструкцией восстановления. Также восстановление может быть по sms-коду. Убедиться, что нельзя восстановить неверным или устаревшим sms-кодом.
- Убедиться в том, что ссылка на восстановление пароля перестает действовать через заданный период времени.
- Переход по ссылке из инструкции ведет на форму задания нового пароля. По правилам хорошего тона на странице должны быть поля: новый пароль, подтверждение нового пароля. Само собой кнопка "Отправить/Сохранить/etc.".
- Новый пароль не должен соответствовать старому. Это необязательное правило, но это хорошая практика.
- Показ сообщения об успешной смене пароля. Если новый пароль и подтверждение пароля не соответствуют сообщать об этом.
- Открытие формы восстановления, отправка ссылки на восстановления пароля не сбрасывает текущий.
- Нельзя войти по старому паролю.
- Можно войти по новому паролю.