checklist
January 14

Чек-лист тестирования "Забыл пароль"

Ранее рассказывал о базовых проверках формы авторизации и считаю важным отдельно составить чек-лист для маленькой, но очень значительной функции - восстановление пароля. Поехали!

  1. Открытие страницы восстановления пароля по клику на ссылку "Забыли пароль".
  2. На странице восстановления есть необходимый элементы для восстановления: поле ввода эл, почты/телефон/логин/etc, кнопка "Отправить/Восстановить/etc". Отмечу отдельно, что телефон и почта должны проверяться по маске, т.е. почта не может быть без @ или телефон должен быть с кодом, определенной длины и т.п.
  3. Кнопка "Отправить/Восстановить" доступна после ввода всех обязательных полей. Если не заблокирована при пустых полях, то нужно показывать ошибку "Заполните поля", если нажали "Отправить" с пустыми полями.
  4. Кнопка "Отправить" недоступна для многократного нажатия. Если доступна, то не должны слать запросы на сервер на каждый клик.
  5. Проверка существования профиля для которого пытаемся восстановить пароль. Если профиля нет, то должны показать соответствующее сообщение. Опционально можно показать предложение создать профиль.
  6. Ограничение на количество попыток восстановить. Зависит от конкретных требования, но как минимум стоит хранить куку, в которой будет таймер через какое время можно повторить запрос.
  7. Получение на почту письмо с инструкцией восстановления. Также восстановление может быть по sms-коду. Убедиться, что нельзя восстановить неверным или устаревшим sms-кодом.
  8. Убедиться в том, что ссылка на восстановление пароля перестает действовать через заданный период времени.
  9. Переход по ссылке из инструкции ведет на форму задания нового пароля. По правилам хорошего тона на странице должны быть поля: новый пароль, подтверждение нового пароля. Само собой кнопка "Отправить/Сохранить/etc.".
  10. Новый пароль не должен соответствовать старому. Это необязательное правило, но это хорошая практика.
  11. Показ сообщения об успешной смене пароля. Если новый пароль и подтверждение пароля не соответствуют сообщать об этом.
  12. Открытие формы восстановления, отправка ссылки на восстановления пароля не сбрасывает текущий.
  13. Нельзя войти по старому паролю.
  14. Можно войти по новому паролю.

Cтатью хорошо дополнят