Тест-кейсы для проверки одноразовых паролей

Одноразовые пароли (англ. one time password, OTP) – необходимый шаг для защиты данных и аутентификации пользователей. Любая онлайн-транзакция, включая кредитные/дебетовые карты, запрашивает OTP для защиты плательщика. Будучи наиболее критичным аспектом безопасности денежных переводов, функциональность OTP требует надлежащего тестирования. В этой статье мы расскажем вам о создании тест-кейсов для функциональности OTP и разберем несколько реальных примеров. Это поможет вам лучше разобраться с методикой разработки тест-кейсов и уверенно применять ее в других областях тестирования.

Друзья, поддержите нас вступлением в наш телеграм канал QaRocks. Там много туториалов, задач по автоматизации и книг по QA.

Что собой представляют одноразовые пароли?

OTP – это динамический код аутентификации, действительный для однократного использования и применяемый для повышения безопасности онлайн-транзакций. Обычно OTP отправляется по SMS или генерируется приложениями-аутентификаторами и представляет собой дополнительный уровень защиты по сравнению с традиционными паролями. Такие коды нужны для предотвращения несанкционированного доступа, снижения риска кражи личных данных и обеспечения безопасности финансовых операций.

Например, когда при входе на банковский портал пользователь получает OTP на зарегистрированный мобильный телефон, это помогает подтвердить личность пользователя и защищает его от потенциальных киберугроз. OTP играют важнейшую роль в укреплении цифровых взаимодействий и усилении протоколов аутентификации пользователей.

Зачем использовать одноразовые пароли?

Вы уже знаете, что OTP необходимы для предотвращения кражи личных данных. Но их использование не ограничивается только этим.

OTP играют ключевую роль в повышении безопасности цифровых взаимодействий. В отличие от статических паролей, OTP обеспечивают динамическую аутентификацию, снижая риск несанкционированного доступа. Они играют решающую роль в защите конфиденциальных данных во время онлайн-транзакций, входа в аккаунт и процессов проверки личности.

Несомненным преимуществом технологии OTP является тот факт, что эти коды имеют ограниченный по времени срок действия. Это делает ОТР весьма эффективным методом борьбы с киберпреступностью.

Зачем тестировать одноразовые пароли?

Тестирование OTP проводится для снижения или устранения рисков, связанных с несанкционированным доступом к данным. Вот основные аспекты, которым следует уделить внимание при тестировании OTP:

  • OTP чувствительны ко времени. Тестирование позволяет убедиться, что срок действия OTP истекает должным образом и использование устаревших кодов невозможно.
  • Тесты OTP дают дополнительный уровень защиты к ряду действий по обеспечению безопасности, таких как генерация новых паролей, инициирование денежных транзакций и, в некоторых случаях, блокировка онлайн-переводов.
  • Тщательное тестирование помогает выявить уязвимости и слабые места, которые могут быть использованы злоумышленниками, пытающимися обойти OTP-аутентификацию.
  • В целом, тестирование OTP необходимо для проверки эффективности, надежности и безопасности процесса аутентификации.

Давайте рассмотрим реальный пример входа в Gmail с нового устройства. При входе в существующую учетную запись Gmail с нового устройства на старом устройстве появляется уведомление о попытке входа. Ниже показан процесс двухэтапной проверки (2-step verification):

процесс двухэтапной проверки (2-step verification)

Хотя этот процесс отличается от OTP, функция у них одинаковая: оба подтверждают личность пользователя, выполняющего вход или транзакцию.

Тест-кейсы для одноразовых паролей

Многие считают, что, несмотря на критическую важность, роль OTP довольно проста. Поэтому для OTP должны существовать легко выполнимые тест-кейсы. Ниже представлен полный набор тестов, как позитивных, так и негативных, для обеспечения безупречной функциональности и надежности OTP при аутентификации пользователей и защите конфиденциальной информации.

Позитивные тест-кейсы для OTP

  • Успешная генерация и доставка OTP через SMS.
  • Проверка правильности введенного OTP.
  • Бесшовная интеграция (Seamless integration) с процессами многофакторной аутентификации.
  • Истечение срока действия OTP.
  • Возможность обработки одновременных запросов OTP.
  • Доставка OTP по электронной почте.
  • Реакция на правильный ввод OTP в различных браузерах.
  • Успешность подтверждения OTP с минимальным временем ожидания пользователя.
  • Корректность функционирования OTP на различных устройствах.
  • Безошибочность генерации OTP для различных учетных записей пользователей.
  • Легкая интеграция со сторонними приложениями OTP-аутентификаторов.
  • Тестирование возможности повторной отправки OTP для одного и того же действия транзакции.
  • Тестирование реакции системы на быстрые последовательные запросы OTP.

Негативные тест-кейсы для OTP

  • Ввод неверного OTP.
  • Чрезмерное количество попыток ввода OTP приводит к временной блокировке аккаунта.
  • Сбой проверки OTP для просроченных кодов.
  • Неудачная доставка OTP из-за проблем с сетью.
  • Неправильная обработка ввода буквенно-цифровых OTP.
  • Тестирование реакции системы на задержку доставки OTP.
  • Тестирование реакции системы на получение дубликатов OTP.
  • Обработка сценариев, в которых OTP не доставляются или не принимаются.

Как написать тест-кейсы для OTP?

Для обеспечения эффективности одноразовых паролей необходимо тщательно разрабатывать тест-кейсы. Их создание подразумевает стратегический подход к проверке процессов генерации паролей, их доставки и аутентификации. Ниже описан пошаговый процесс создания комплексных тест-кейсов для OTP:

  • Определите различные сценарии, такие как регистрация новых пользователей, попытки входа в систему и конфиденциальные транзакции, требующие проверки OTP.
  • Уточните, как генерируются одноразовые пароли – через SMS, электронную почту или сторонние приложения-аутентификаторы.
  • Удостоверьтесь в том, что одноразовые пароли чувствительны ко времени, и убедитесь, что срок их действия истекает по истечении установленного периода.
  • Оцените способность системы обрабатывать несколько запросов OTP одновременно без ущерба для безопасности.
  • Создайте тест-кейсы для оценки реакции системы на неправильный ввод OTP, просроченные коды и другие потенциальные ошибки.
  • Оцените интеграцию OTP с приложениями аутентификации сторонних разработчиков.

Как уже говорилось, тестов OTP много, и их выполнение требует разных усилий. Ниже мы привели несколько примеров популярных и необходимых тестов проверки кода OTP, с которыми наверняка сталкивается каждый тестировщик.

Проверьте, сгенерирован ли OTP и отправлен ли он правильному пользователю

  • Сгенерируйте OTP для регистрации нового пользователя.
  • Убедитесь, что правильный пользователь получил OTP по SMS / электронной почте.
  • Проверьте своевременность доставки OTP.
  • Проверьте генерацию OTP для пользователей со специальными символами в учетных данных.
  • Протестируйте доставку OTP в разных географических точках.

Проверьте поле ввода OTP

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

Проверка длины OTP

  • Убедитесь, что длина OTP соответствует установленным требованиям.
  • Протестируйте реакцию системы на OTP с меньшим количеством символов.
  • Убедитесь, что система отклоняет одноразовые пароли с длиной, превышающей установленный лимит.
  • Проверьте длину OTP на наличие вариаций, включая буквенно-цифровые символы.
  • Проверьте длину OTP в сценариях многофакторной аутентификации.

Проверка времени действия OTP

  • Убедитесь, что срок действия OTP соответствует установленным политикам безопасности.
  • Протестируйте реакцию системы при вводе просроченного одноразового пароля.
  • Проверьте точность времени истечения срока действия при высокой нагрузке на сервер.
  • Проверьте реакцию системы при попытке повторного использования OTP с истекшим сроком действия.
  • Убедитесь, что время истечения срока действия совпадает при различных способах доставки.

Проверьте успешность верификации OTP

  • Убедитесь в успешной верификации правильного OTP.
  • Протестируйте проверку OTP для различных сценариев использования, таких как вход в систему и транзакции.
  • Убедитесь, что проверка OTP предоставляет доступ к учетной записи предполагаемого пользователя.
  • Оцените реакцию системы на проверку просроченных, но действительных OTP.
  • Проверьте точность проверки OTP в оффлайн-сценариях.
  • Проверьте верификацию OTP в сценариях восстановления учетной записи.
  • Проверьте, как ведет себя система при верификации OTP в условиях нескольких активных сессий.
  • Протестируйте проверку OTP в сценариях с одновременными попытками входа в систему.

Проверьте, отклонен ли неверный OTP

  • Подтвердите, что ввод неправильного OTP приведет к отказу.
  • Протестируйте отклонение системой просроченных OTP.
  • Убедитесь в том, что одноразовые пароли с лишними символами отклоняются.
  • Протестируйте отклонение OTP с недостаточным количеством введенных символов.
  • Убедитесь, что система отказывает в доступе после нескольких неверных попыток ввода OTP.
  • Проверьте реакцию системы при попытке повторного использования отклоненного одноразового пароля.
  • Проверьте отклонение OTP для пользователей с заблокированными учетными записями.

Проверьте, может ли пользователь запросить другой OTP

  • Проверьте возможность запроса нового OTP после неудачной попытки верификации.
  • Проверьте, может ли пользователь запросить другой OTP в процессе первичной регистрации.
  • Проверьте реакцию системы при запросе нескольких OTP за короткий промежуток времени.
  • Протестируйте функциональность запроса нового OTP для различных пользовательских сценариев (вход в систему, транзакции и т. д.).
  • Подтвердите, влияет ли запрос другого OTP на действительность ранее отправленного OTP.
  • Оцените поведение системы при попытке запросить несколько OTP одновременно.
  • Проверьте возможность пользователя запрашивать новый OTP после успешной проверки.
  • Проверьте реакцию системы на частые запросы OTP от одного и того же пользователя.
  • Проверьте, влияет ли запрос другого OTP на время истечения срока действия предыдущего OTP.
  • Проверьте точность запросов OTP для пользователей при восстановлении учетной записи.
  • Оцените поведение системы при запросе нескольких OTP на различных устройствах.

Проверьте, отправлен ли OTP на несколько устройств

  • Подтвердите одновременную доставку OTP на зарегистрированную электронную почту и номер мобильного телефона пользователя.
  • Протестируйте доставку OTP на несколько устройств, связанных с одной учетной записью пользователя.
  • Проверьте, поддерживает ли система отправку OTP на основные и дополнительные контактные данные.
  • Протестируйте последовательную доставку OTP на несколько устройств при высокой нагрузке на сервер.
  • Оцените поведение системы, когда пользователь имеет несколько активных сессий на разных устройствах.
  • Проверьте, получают ли пользователи OTP одновременно по каналам SMS и электронной почты.
  • Протестируйте доставку OTP пользователям в сценариях восстановления учетных записей на нескольких устройствах.

Проверьте ввод специальных символов в поле ввода OTP

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

Проверьте, может ли пользователь отправить OTP повторно

  • Подтвердите возможность повторной отправки пользователем OTP в процессе первичной регистрации.
  • Проверьте реакцию системы при попытке повторной отправки OTP после неудачной верификации.
  • Проверьте правильность доставки повторно отправленного OTP на зарегистрированные контактные данные пользователя.
  • Проверьте, может ли пользователь повторно отправить OTP во время транзакции или попытки входа в систему.
  • Протестируйте поведение системы, когда пользователи повторно отправляют OTP несколько раз подряд.
  • Убедитесь, что при повторной отправке OTP предыдущий OTP становится недействительным.
  • Проверьте возможность повторной отправки OTP для сценариев восстановления учетной записи.
  • Проверьте, правильно ли система обрабатывает запросы на повторную отправку OTP от пользователей с несколькими активными сессиями.
  • Проверьте точное время истечения срока действия повторно отправленных OTP по сравнению с первоначальной доставкой.

Проверьте, имеет ли поле ввода OTP ограничение по количеству символов

  • Подтвердите наличие ограничения по количеству символов для поля ввода OTP.
  • Протестируйте поведение поля ввода при вводе OTP в пределах установленного лимита символов.
  • Проверьте правильность проверки OTP с максимально допустимым количеством символов.
  • Проверьте, не запрещает ли система вводить одноразовые пароли, превышающие установленный лимит символов.
  • Проверьте, как реагирует поле ввода на достижение лимита символов при ручном вводе.
  • Протестируйте поведение системы при вводе OTP с максимальным ограничением по количеству символов с помощью копирования-вставки.
  • Убедитесь, что система обрабатывает одноразовые пароли различной длины до установленного предела.
  • Проверьте поведение поля ввода при вводе OTP с минимально допустимым количеством символов.
  • Протестируйте реакцию системы на ввод OTP с длиной, близкой к установленному пределу.
  • Убедитесь, что ограничение по количеству символов одинаково для всех каналов доставки OTP (SMS, электронная почта и т. д.).

Проверьте, является ли ввод OTP чувствительным к регистру

  • Проверьте реакцию поля ввода OTP на ввод одноразового пароля в верхнем регистре.
  • Подтвердите поведение системы при вводе одноразового пароля в нижнем регистре.
  • Убедитесь в том, что поле ввода OTP не чувствительно к регистру при ручном вводе.
  • Протестируйте реакцию системы на ввод OTP в смешанном регистре (например, UppErCaSe).
  • Убедитесь, что система точно проверяет одноразовые пароли, не зависящие от регистра.
  • Проверьте, правильно ли система обрабатывает нечувствительные к регистру OTP, введенные методом копирования-вставки.
  • Проверьте, правильно ли система обрабатывает нечувствительные к регистру OTP с пробелами.
  • Протестируйте, учитывается ли регистр при валидации OTP для пользователей с несколькими активными сессиями.

Проверьте локализацию отправки OTP

  • Проверьте точность доставки OTP пользователям с разными кодами стран.
  • Проверьте поведение системы при вводе неверного кода страны в номере телефона.
  • Удостоверьтесь в том, что одноразовые пароли стабильно доставляются пользователям в разных географических точках.
  • Протестируйте реакцию системы на различную длину кода страны.
  • Проверьте доставку OTP пользователям с пробелами в коде страны.
  • Проверьте, отправляется ли OTP на правильный код страны для пользователей со сценариями восстановления учетной записи.
  • Подтвердите точную доставку OTP пользователям с различными форматами кодов стран.
  • Протестируйте доставку OTP пользователям с кодами стран, содержащими специальные символы.

Проверка отключения поля ввода OTP после успешной верификации

  • Проверьте поведение поля ввода OTP после успешной верификации.
  • Убедитесь, что после успешного входа в систему поле ввода OTP становится неактивным.
  • Проверьте реакцию системы при попытке ввода дополнительных символов после успешной проверки.
  • Проверьте, предотвращает ли система ввод новых OTP после успешной верификации.
  • Проверьте поведение системы при копировании и вставке OTP в отключенное поле ввода.
  • Проверьте отключение поля ввода OTP на разных устройствах.
  • Проверьте отключение поля ввода OTP после успешной верификации транзакции.
  • Подтвердите реакцию системы на отключенное поле ввода OTP в сценариях с одновременными попытками входа в систему.

Проверьте, уведомлен ли пользователь о повторной отправке OTP

  • Проверьте способность системы уведомлять пользователей об успешных запросах повторной отправки OTP.
  • Подтвердите, что пользователи получают уведомления о неудачных попытках повторной отправки OTP.
  • Проверьте уведомление о повторной отправке OTP в процессе первичной регистрации.
  • Проверьте, уведомляет ли система пользователей о повторной отправке OTP после неудачных попыток верификации.
  • Проверьте реакцию системы на частые повторные запросы OTP от одного и того же пользователя.
  • Подтвердите, что пользователи получают уведомление при попытке повторной отправки OTP с истекшим сроком действия.
  • Убедитесь, что пользователи получают уведомления о повторной отправке OTP по каналам SMS и электронной почты.
  • Протестируйте реакцию системы на уведомление пользователей о неудачных повторных отправках OTP из-за проблем с сетью.

Проверка отключения поля ввода OTP после определенного количества попыток

  • Убедитесь, что поле ввода OTP становится неактивным после превышения допустимого количества попыток.
  • Проверьте отключение поля ввода OTP после достижения определенного предела попыток на разных устройствах.
  • Проверьте, предотвращает ли система ввод новых OTP после того, как поле ввода было отключено.
  • Подтвердите, что пользователи получают уведомления, когда поле ввода OTP отключено.
  • Проверьте реакцию системы при попытке ввода дополнительных символов после отключения поля.
  • Убедитесь в том, что поле ввода OTP отключено после успешной проверки на нескольких устройствах.
  • Убедитесь, что поле ввода OTP остается неактивным при нескольких успешных попытках верификации.
  • Проверьте поведение системы при копировании и вставке OTP в отключенное поле ввода.

Проверка блокировки пользователя после определенного количества попыток

  • Убедитесь, что учетная запись пользователя заблокирована после превышения установленного лимита попыток.
  • Проверьте поведение системы при вводе правильных OTP после блокировки учетной записи пользователя.
  • Проверьте состояние блокировки учетной записи пользователя на разных устройствах.
  • Проверьте, предотвращает ли система дополнительные попытки ввода OTP после блокировки пользователя.
  • Подтвердите, что пользователи получают уведомления, когда их учетная запись блокируется из-за неудачных попыток.
  • Проверьте состояние блокировки учетной записи пользователя в сценариях восстановления учетной записи.
  • Проверьте состояние блокировки учетной записи пользователя при нескольких активных сеансах.
  • Проверьте поведение системы при копировании и вставке OTP в поле ввода после блокировки учетной записи пользователя.

Заключение

Одноразовые пароли являются неотъемлемой частью любой онлайн-транзакции. Поэтому и тестирование OTP – обязательная и важная часть разработки систем, запускающих такие функции. Тесты OTP включают в себя огромное количество сценариев и шагов, направленных на охват всех аспектов одноразовых паролей, включая их генерацию, срок действия, чувствительность к различным символам и многое другое. Все эти тесты перечислены в этой статье.

Перевод статьи «How to Write Test Case For OTP Verification With Samples».

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *