Обеспечение надежной функциональности паролей очень важно для безопасности приложений и удобства пользователей. В этом руководстве мы рассмотрим основные тест-кейсы для функций пароля и функции “Забыл пароль”. Они дадут вам представление о том, что следует проверять.
Мы рассмотрим критически важные сценарии создания паролей и управления ими, а также часто упускаемый из виду процесс “Забыл пароль”. Внедрение этих тест-кейсов позволит вам значительно повысить уровень безопасности вашего приложения и механизмов аутентификации пользователей.
Содержание
- Важность функциональности пароля
- Особенности функций паролей и “Забыл пароль”
- Тест-кейсы для создания пароля
- Тест-кейсы для входа в систему с паролем
- Тест-кейсы для функции “Забыл пароль”
- Тест-кейсы для смены пароля
- Тест-кейсы для проверки безопасности
- Тест-кейсы для проверки крайних случаев и граничного тестирования
- Тест-кейсы для тестирования доступности и удобства использования
- Тест-кейсы для тестирования производительности функций паролей
- Лучшие подходы
- Распространенные ошибки, которых следует избегать при тестировании паролей
- Заключение
Не пропустите: похожие подборки тест-кейсов:
БЕСПЛАТНО СКАЧАТЬ КНИГИ в телеграм канале Библиотека тестировщика
Важность функциональности пароля
Функциональность паролей очень важна для защиты личной информации пользователей и обеспечения безопасности данных. Она предотвращает доступ неавторизованных пользователей к частным данным, помогая защитить конфиденциальную информацию, такую как финансовые данные, личные сообщения и пр.
Защищенная система паролей также помогает сохранить целостность учетной записи, гарантируя, что только законный владелец может изменить ее или получить к ней доступ. Кроме того, функциональность паролей повышает доверие пользователей: они чувствуют, что их информация защищена. Это внушает пользователям доверие к приложению или платформе.
Особенности функций пароля и “Забыл пароль”
Особенности функции пароля
- Требования к надежности. К паролям часто предъявляются особые требования по части надежности. Например, сочетание прописных и строчных букв, цифр и специальных символов. Это помогает гарантировать, что пароль будет трудно угадать.
- Шифрование. Пароли шифруются, то есть преобразуются в код для предотвращения несанкционированного доступа.
- Регулярное обновление. От пользователей может требоваться регулярное обновление паролей для поддержания безопасности учетных записей.
- Блокировка учетной записи. Слишком много неудачных попыток входа в систему может приводить к блокировке учетной записи. Это предотвращает дальнейшие попытки несанкционированного доступа.
- Двухфакторная аутентификация (2FA). Добавляет дополнительный уровень безопасности. От пользователя для входа в систему требуется пройти две формы проверки, обычно – ввести пароль и код, отправленный на телефон.
Особенности функции “Забыл пароль”
- Ссылка на сброс. Пользователи могут запросить ссылку на сброс пароля. Обычно она отправляется на зарегистрированный адрес электронной почты.
- Вопросы безопасности. Некоторые системы просят пользователей ответить на определенные вопросы, прежде чем разрешить им сбросить пароль.
- Временные пароли. В некоторых случаях может быть выдан временный пароль, позволяющий пользователям получить доступ к своей учетной записи, а затем установить новый пароль.
- Коды верификации. На телефон или электронную почту пользователя отправляется код, который он должен ввести, чтобы подтвердить свою личность перед сбросом пароля.
- Рекомендации и советы. В процессе сброса пароля системы часто предоставляют рекомендации и советы по созданию безопасного нового пароля.
Тест-кейсы для создания пароля
Требования к минимальной длине
- Тест-кейс 1. Попытайтесь создать пароль, длина которого меньше минимального ограничения (например, менее 8 символов). В результате должно появиться сообщение об ошибке, предлагающее пользователю ввести более длинный пароль.
- Тест-кейс 2. Создайте пароль, соответствующий требованиям к минимальной длине, чтобы убедиться, что он принимается системой.
Правила относительно сложности пароля
Прописные и строчные буквы
- Тест-кейс 1. Введите пароль без заглавных букв. Система должна отклонить пароль и предложить пользователю добавить заглавные буквы.
- Тест-кейс 2. Введите пароль без строчных букв. Система должна отклонить пароль и предложить пользователю добавить строчные буквы.
Цифры
- Тест-кейс 1. Создайте пароль, содержащий только буквы и ни одной цифры. Система должна отклонить этот пароль и предложить пользователю добавить хотя бы одну цифру.
Специальные символы
- Тест-кейс 1. Создайте пароль, в котором отсутствуют специальные символы. Система должна отклонить пароль и посоветовать пользователю включить специальные символы.
- Тест-кейс 2. Введите пароль, включающий различные специальные символы, и убедитесь, что он принят.
Тест-кейсы для входа в систему с паролем
Успешный вход в систему
- Тест-кейс 1. Введите правильные логин и пароль. Система должна предоставить доступ и перейти на приборную панель пользователя.
- Тест-кейс 2. Введите валидный email-адрес и соответствующий пароль. Пользователь должен успешно войти в систему без каких-либо ошибок.
Неудачные попытки входа в систему
- Тест-кейс 1. Введите неправильный пароль с правильным логином или email. Система должна отклонить вход и вывести сообщение об ошибке, указывающее на невалидные учетные данные.
- Тест-кейс 2. Введите правильный пароль с неправильным логином или email. Система должна отклонить вход и вывести сообщение, что логин или адрес почты неверны.
- Тест-кейс 3. Оставьте поле пароля пустым при вводе правильного логина или email. Система должна отклонить вход и предложить пользователю ввести пароль.
- Тест-кейс 4. Оставьте поле логина или email пустым и введите правильный пароль. Система должна отклонить вход и предложить пользователю ввести имя пользователя или адрес электронной почты.
Блокировка учетной записи после нескольких неудачных попыток входа
- Тест-кейс 1. Попробуйте войти в систему с неправильным паролем несколько раз (например, 5 раз подряд). Система должна заблокировать учетную запись и сообщить пользователю о сроке блокировки.
- Тест-кейс 2. После блокировки учетной записи попытайтесь войти в систему с правильными учетными данными. Система должна предотвратить доступ и сообщить пользователю, что его учетная запись заблокирована.
Проверка чувствительности к регистру
- Тест-кейс 1. Введите правильный логин или email и пароль в правильном регистре (например, “User123” и “Password123”). Пользователь должен успешно войти в систему.
- Тест-кейс 2. Введите правильный логин или email в неправильном регистре и правильный пароль (например, “USER123” и “Password123”). Попытка входа должна завершиться неудачей, а система должна сообщить, что учетные данные невалидны.
- Тест-кейс 3. Введите правильный логин или email и пароль, сменив в них регистр букв (например, “user123” и “password123”). Система должна отклонить попытку входа и уведомить пользователя о неправильных учетных данных.
Тест-кейсы для функции “Забыл пароль”
Инициирование сброса пароля
- Тест-кейс 1. Введите зарегистрированный логин или email в поле сброса пароля и отправьте. Система должна подтвердить, что ссылка для сброса пароля была отправлена на зарегистрированный адрес электронной почты или номер телефона.
- Тест-кейс 2. Введите незарегистрированный логин или email в поле сброса пароля и отправьте. Система должна уведомить пользователя о том, что логин или email не распознаны.
Доставка ссылок на сброс пароля по электронной почте или в SMS
- Тест-кейс 1. Введите зарегистрированный логин или email, чтобы запросить сброс пароля. Убедитесь, что ссылка на сброс пароля доставлена на зарегистрированный email или номер телефона, связанный с учетной записью, в течение определенного периода времени.
- Тест-кейс 2. Запросите сброс пароля, введя логин или email учетной записи, к которой привязаны как электронная почта, так и телефон. Убедитесь, что ссылка на сброс пароля отправляется как на email-адрес, так и на номер телефона.
Устаревание ссылки на сброс пароля
- Тест-кейс 1. Запросите ссылку для сброса пароля и попытайтесь сразу же воспользоваться ею. Система должна позволить пользователю сбросить пароль без проблем.
- Тест-кейс 2. Запросите ссылку для сброса пароля, но попытайтесь использовать ее после истечения срока действия (например, через 24 часа). Система должна уведомить пользователя о том, что срок действия ссылки для сброса истек, и предложить ему запросить новую.
Невалидные попытки сброса пароля
- Тест-кейс 1. Измените URL-адрес ссылки сброса пароля вручную и попытайтесь ее использовать. Система должна признать ссылку невалидной и предотвратить процесс сброса пароля.
- Тест-кейс 2. Попытайтесь использовать уже использованную ранее ссылку сброса пароля для повторной смены пароля. Система должна отклонить попытку и предложить пользователю запросить новую ссылку сброса.
- Тест-кейс 3. В процессе сброса введите разные пароли в поля “Новый пароль” и “Подтвердите пароль”. Система должна предупредить пользователя о несоответствии и потребовать исправить его перед продолжением работы.
Тест-кейсы для смены пароля
Изменение пароля при входе в систему
- Тест-кейс 1. Войдите в учетную запись и перейдите к разделу смены пароля. Введите текущий пароль, новый пароль и подтвердите новый пароль. Убедитесь, что система принимает изменения и выдает подтверждающее сообщение.
- Тест-кейс 2. Войдите в учетную запись и попытайтесь изменить пароль, введя новый пароль, не соответствующий требованиям безопасности (например, слишком короткий, без специальных символов). Система должна отклонить попытку и предоставить обратную связь о критериях пароля.
Верификация старого пароля
- Тест-кейс 1. При входе в систему введите неправильный текущий пароль в форму изменения пароля. Система должна отклонить отправку и уведомить пользователя о неправильном текущем пароле.
- Тест-кейс 2. Введите правильный текущий пароль и продолжите смену пароля. Система должна принять старый пароль и продолжить процесс без проблем.
Подтверждение нового пароля
- Тест-кейс 1. Введите текущий и новый пароль, а для подтверждения нового пароля введите несовпадающий пароль. Система должна предупредить пользователя о необходимости исправить несоответствие, прежде чем продолжить работу.
- Тест-кейс 2. Введите текущий и новый пароль, а также совпадающий новый пароль для подтверждения. Убедитесь, что система успешно изменила пароль и подтвердила изменение.
Проверка истории паролей
- Тест-кейс 1. Попробуйте сменить пароль на один из предыдущих паролей, хранящихся в системе. Система должна отклонить попытку и предложить пользователю выбрать другой пароль.
- Тест-кейс 2. Измените пароль на совершенно новый, который ранее не использовался. Система должна принять изменение и соответствующим образом обновить историю паролей пользователя.
Тест-кейсы для проверки безопасности
Тестирование шифрования
- Тест-кейс 1. Убедитесь, что пароль перед хранением шифруется с помощью безопасного алгоритма хеширования (например, bcrypt, Argon2). Убедитесь, что пароли никогда не сохраняются в базе данных в виде простого текста.
- Тест-кейс 2. Проверьте передачу паролей, чтобы убедиться, что они зашифрованы по протоколу HTTPS. Такое шифрование защищает их от перехвата во время процессов входа в систему и смены пароля.
Предотвращение атак грубой силы
- Тест-кейс 1. Сделайте несколько попыток ввода неправильного пароля в течение короткого периода времени. Система должна временно заблокировать учетную запись или ввести задержку после заданного количества неудачных попыток.
- Тест-кейс 2. Проверьте, использует ли система CAPTCHA или другие механизмы после нескольких неудачных попыток входа. Это гарантирует, что автоматические скрипты не смогут войти в систему, угадывая пароли.
Предотвращение SQL-инъекций в полях паролей
- Тест-кейс 1. Попробуйте ввести код SQL-инъекции в поле пароля во время процессов входа в систему и смены пароля. Система должна санировать вводимые данные и предотвращать выполнение вредоносных SQL-команд.
- Тест-кейс 2. Проведите анализ кода безопасности и используйте автоматизированные инструменты для выявления потенциальных уязвимостей к SQL-инъекциям в коде, связанном с аутентификацией.
Тестирование переключателя видимости пароля
- Тест-кейс 1. Включите переключатель видимости пароля при вводе нового пароля в процессе смены пароля. Убедитесь, что пароль виден только при активированном тумблере и скрыт при деактивации.
- Тест-кейс 2. Проверьте, что реализация переключателя видимости пароля не приводит к случайному раскрытию пароля в сетевых журналах или инструментах разработчика для обеспечения безопасной работы с данными пароля.
Тест-кейсы для крайних случаев и граничного тестирования
Максимальная длина пароля
- Тест-кейс 1. Попытайтесь задать пароль, длина которого превышает максимально допустимую (например, 256 символов). Система должна отклонить пароль и вывести соответствующее сообщение об ошибке.
- Тест-кейс 2. Задайте пароль, длина которого точно соответствует максимальному значению. Система должна принять пароль без каких-либо проблем и обеспечить правильную обработку при входе в систему и смене пароля.
Обработка специальных символов
- Тест-кейс 1. Создайте пароль, полностью состоящий из специальных символов (например, `!@#$%^&*()`). Система должна принять пароль и обеспечить его корректное функционирование во всех действиях, связанных с аутентификацией.
- Тест-кейс 2. Включите в пароль различные специальные символы. Проверьте, правильно ли система распознает и обрабатывает эти символы при входе в систему и смене пароля.
Обработка пробелов
- Тест-кейс 1. Введите пароль с пробелами в начале и конце строки. Система должна обрезать пробелы и либо отклонить пароль, либо сохранить его без дополнительных пробелов, в зависимости от политики.
- Тест-кейс 2. Включите нескольких пробельных символов подряд в середине пароля. Убедитесь, что система правильно обрабатывает пробельные символы, либо принимая их как допустимые, либо следуя заданной политике паролей.
Поддержка международных символов
- Тест-кейс 1. Задайте пароль с использованием международных символов (например, акцентированных букв, кириллицы, китайских символов). Убедитесь, что система корректно поддерживает и обрабатывает такие символы во всех действиях, связанных с аутентификацией.
- Тест-кейс 2. Проверьте, может ли поле пароля обрабатывать сочетание международных и стандартных буквенно-цифровых символов. Система должна легко справляться с этой комбинацией без каких-либо проблем с кодировкой или хранением.
Тест-кейсы для тестирования доступности и удобства использования
Совместимость с программами чтения с экрана
- Тест-кейс 1. Используйте устройство чтения с экрана для навигации по процессам создания пароля и входа в систему. Убедитесь, что устройство корректно озвучивает все инструкции, ссылки и поля ввода.
- Тест-кейс 2. Убедитесь, что сообщения об ошибках и отзывы о проверке, связанные с вводом пароля, понятны на слух и легко воспринимаются пользователями, использующими устройство чтения с экрана.
Навигация по клавиатуре для полей пароля
- Тест-кейс 1. Проверьте возможность перехода к полям пароля с помощью клавиатуры, обращая внимание на логичность и понятность порядка вкладок. Убедитесь, что все элементы доступны в последовательном порядке.
- Тест-кейс 2. Убедитесь, что такие действия, как показ/скрытие пароля и отправка формы, могут быть выполнены с помощью сочетаний клавиш, без использования мыши.
Очистка сообщений об ошибках и инструкций
- Тест-кейс 1. Убедитесь, что сообщения об ошибках, вызванных нарушением политики паролей (например, недостаточная длина пароля, отсутствие в нем специального символа), понятны, лаконичны и содержат конкретные указания по устранению проблемы.
- Тест-кейс 2. Оцените инструкции по созданию пароля на странице регистрации. Убедитесь, что они понятны и исчерпывающи и позволяют пользователям легко понять необходимые критерии. Убедитесь, что эти инструкции легко найти и они хорошо видны в процессе установки пароля.
Тест-кейсы для тестирования производительности функций паролей
Время отклика при проверке паролей
- Тест-кейс 1. Измерьте время, затрачиваемое системой на проверку и подтверждение пароля пользователя в процессе входа в систему. Убедитесь, что время отклика соответствует допустимому порогу (обычно меньше 2 секунд).
- Тест-кейс 2. Оцените производительность проверки пароля во время его создания. Убедитесь, что система быстро, без заметных задержек проверяет надежность пароля и его соответствие требованиям, поддерживая отзывчивое взаимодействие с пользователем.
Нагрузочное тестирование при многократном одновременном сбросе пароля
- Тест-кейс 1. Смоделируйте сценарий, в котором множество пользователей (например, 1000 одновременных пользователей) одновременно выполняют операции по сбросу пароля. Контролируйте способность системы справляться с нагрузкой, обеспечивая эффективную и безошибочную обработку всех запросов на сброс.
- Тест-кейс 2. Проверьте производительность системы в условиях пиковой нагрузки, например, когда много пользователей одновременно пытаются сбросить пароль. Убедитесь, что система остается стабильной и отзывчивой, а ссылки на сброс пароля отсылаются быстро, без заметных задержек.
Лучшие подходы
Советы по написанию эффективных тест-кейсов, связанных с паролями:
- Определите четкие критерии. Следите за тем, чтобы тест-кейсы содержали четкие критерии надежности пароля, такие как минимальная длина, включение специальных символов и требования к сложности.
- Включите граничные условия. Протестируйте систему с помощью граничных условий, таких как самый короткий и самый длинный допустимые пароли, чтобы убедиться в правильности применения правил.
- Автоматизируйте там, где это возможно. Чтобы повысить эффективность и надежность тестирования, используйте инструменты автоматизации для выполнения повторяющихся и сложных тестов.
- Тестирование на нескольких устройствах и браузерах. Функции, связанные с паролем, должны быть протестированы на различных устройствах и браузерах, чтобы гарантировать стабильную производительность и безопасность.
- Сосредоточьтесь на пользовательском опыте. Убедитесь, что сообщения об ошибках понятны и информативны и помогают пользователям исправить введенные данные без раздражения.
- Следите за актуальностью подходов к обеспечению безопасности. Включите тесты на меры безопасности, такие как ограничение скорости попыток ввода пароля и шифрование данных пароля как при передаче, так и в состоянии покоя.
Распространенные ошибки, которых следует избегать при тестировании паролей
- Игнорирование специальных символов. Отсутствие проверки паролей на содержание специальных символов может привести к упущению уязвимостей или к проблемам с функциональностью.
- Недостаточное внимание к обработке ошибок. Отсутствие проверки реакции системы на ввод недействительного пароля может привести к таким вещам, как ошибки в сообщениях системы, что, в свою очередь, может привести к ухудшению пользовательского опыта.
- Пренебрежение производительностью при нагрузке. Не игнорируйте влияние большого количества пользователей на функции паролей: это может привести к задержкам или сбоям.
- Недостаточное покрытие граничных значений. Недостаточное тестирование граничных значений (например, паролей минимальной и максимальной длины) может привести к пропуску критических ошибок.
- Неспособность проверить повторное использование паролей. Игнорирование проверок на соблюдение правил относительно повторного использования паролей может поставить под угрозу безопасность учетной записи.
- Недостаточное кросс-браузерное тестирование. Отсутствие тестирования во всех поддерживаемых браузерах может привести к несоответствиям и потенциальным проблемам для пользователей менее распространенных платформ.
Придерживаясь этих лучших практик и сохраняя бдительность в отношении распространенных “подводных камней”, тестировщики могут обеспечить надежную функциональность паролей, повышая уровень безопасности и удовлетворенности пользователей.
Заключение
Тщательное тестирование функционала паролей необходимо для защиты учетных записей пользователей и обеспечения бесперебойной работы. Следуя лучшим практикам, таким как проверка на наличие специальных символов и правильная обработка ошибок, мы можем создать безопасную среду. Избегание таких распространенных ошибок, как игнорирование различий между браузерами и пограничных значений, помогает выявить критические проблемы на ранней стадии. Внедрение тест-кейсов, приведенных в этой статье, укрепит безопасность и повысит удовлетворенность пользователей вашего продукта. Начните внедрять эти практики в свой процесс тестирования уже сегодня, чтобы повысить безопасность и качество работы пользователей.
Перевод статьи «Essential Test Cases for Password and Forgot Password Functionality: A Comprehensive Guide».