Что такое идентификация
Что проверяют
Различаете ли вы три шага, которые в разговоре сливают в одно слово «вход»: идентификацию, аутентификацию и авторизацию. Для тестировщика это не терминология ради терминологии: от того, на каком шаге система ответила отказом, зависит и ожидаемый результат в тест-кейсе, и целый класс уязвимостей.
Как отвечать
Идентификация это предъявление идентификатора: логин, адрес почты, номер телефона, номер карты, идентификатор сессии. Система на этом шаге лишь узнаёт, о ком речь, и ничего не проверяет. Аутентификация это доказательство, что субъект тот, за кого себя выдаёт: пароль, одноразовый код, ключ, биометрия. Авторизация это решение, что уже опознанному субъекту разрешено делать.
Что проверять именно на первом шаге: уникальность идентификатора, его нормализацию (регистр логина, пробелы по краям, разные написания адреса почты), допустимые символы и длину, поведение при вводе несуществующего пользователя, смену идентификатора и её влияние на связанные записи.
Отдельный обязательный кейс: ответ для несуществующего логина и для верного логина с неверным паролем должен быть неразличим, и по тексту, и по коду ответа, и по времени ответа. Иначе форма входа превращается в инструмент перебора существующих учётных записей.
Где спотыкаются
Отвечают, что это то же самое, что аутентификация. Идентификация без проверки встречается постоянно: карта лояльности на кассе, идентификатор устройства в аналитике, номер обращения в поддержку.
Покрывают только успешный вход и не трогают отказы, а всё интересное живёт в них: заблокированная учётная запись, удалённый пользователь с ещё живой сессией, один адрес почты в разном регистре, два аккаунта на один телефон.
Считают идентификатор секретом и на нём строят проверку доступа. Идентификаторы видны в адресной строке, в логах и в выгрузках; если подстановка чужого номера открывает чужой заказ, сломана авторизация, а идентификация сработала штатно. Тест на подстановку чужого идентификатора должен быть в наборе всегда.