В этой статье мы рассмотрим, что такое файлы Cookie, какова их роль в веб-приложении, и какие тестовые сценарии можно использовать для их тестирования.
Как тестировщики программного обеспечения, мы часто сталкиваемся с необходимостью тестирования cookie на веб-сайтах. В этом гайде мы рассмотрим различные инструменты, позволяющие проверить, принимает ли ваш браузер куки-файлы или отклоняет, а также инструменты, которые позволяют проверить, как конкретный веб-сайт обрабатывает и принимает их.
Содержание:
- Что такое Cookie?
- Как работают Cookie?
- Типы файлов Cookie
- Где хранятся файлы Cookie?
- Что такое тестирование файлов Cookie?
- Как тестировать Cookie: примеры тестовых сценариев для веб-приложений
- Плагины для тестирования файлов Cookie
- Вывод
Друзья, поддержите нас вступлением в наш телеграм канал QaRocks. Там много туториалов, задач по автоматизации и книг по QA.
Что такое Cookie?
Cookies, также известные как HTTP cookies, веб-куки, интернет-куки или куки браузера, представляют собой небольшие фрагменты данных, которые веб-сервер отправляет браузеру пользователя. Эти фрагменты данных сохраняются на жестком диске пользователя (в папке браузера) в виде текстовых файлов и отправляются обратно на сервер каждый раз, когда браузер запрашивает страницу данного веб-сайта.
Cookies были разработаны для отслеживания действий пользователей при просмотре сайтов. Например, они могут хранить учетные данные личного кабинета пользователя или информацию о ранее посещенных страницах. Также они могут сохранять информацию о товарах, добавленных в корзину интернет-магазина, или фиксировать данные, введенные пользователем в поля форм (имя, данные банковской карты, адрес и прочее). Таким образом, cookies позволяют хранить персонализированную информацию пользователя: логины и пароли, языковые предпочтения и др.
Как работают Cookie?
Предположим, существует веб-сайт, который поддерживает два языка: английский и испанский. По умолчанию сайт открывается на испанском языке, однако пользователи имеют возможность переключить язык на английский для просмотра контента. Если вы однажды переключили язык на английский, и на веб-сайте настроены куки для сохранения языковых предпочтений, то при ваших последующих посещениях данный сайт всегда будет загружаться сразу на английском.
В этом случае cookie, хранящиеся на вашем компьютере, взаимодействуют с веб-сервером, запрашивая страницы сайта именно на английском языке.Следует отметить, что файлы cookie имеют срок действия, который устанавливается разработчиками веб-сайта в зависимости от их потребностей и функциональности, которую они хотят реализовать на сайте.
Cookies содержат несколько ключевых атрибутов:
- Domain (определяет домен или поддомен, на который может быть отправлен файл cookie)
- Уникальное значение (значение для идентификации пользователя или сессии, генерируется случайным образом)
- Expires и Max-Age (срок действия cookie, где атрибут Expires определяет дату, а Max-Age – интервал времени)
- Path (путь к каталогу на сервере, для которого будут доступны cookie)

Типы файлов Cookie
Рассмотрим два основных типа файлов куки:

Сессионные cookie (Session Cookies)
Сессионные файлы cookie, также называемые временные, существуют только во время одной “пользовательской сессии” (работы пользователя в браузере). Данные куки не обладают конкретным сроком действия. Они временно хранятся в памяти браузера и автоматически удаляются, как только браузер закрывается.
Постоянные cookie (Persistent Cookies)
Постоянные файлы cookie сохраняются на устройстве пользователя до тех пор, пока не истечет установленный срок их действия. Эти файлы могут храниться на жестком диске пользователя в течение нескольких дней, месяцев или даже лет, в зависимости от параметров, заданных их создателем.
Постоянные файлы cookie используются для отслеживания действий пользователей на сайте и часто называются отслеживающие файлы cookie. Они могут применятся для быстрого входа в аккаунт без необходимости повторного ввода учетных данных или для отображения рекламы, основанной на предыдущей истории просмотров пользователя.
Где хранятся файлы Сookie?
Рассмотрим, где располагаются файлы cookie в зависимости от используемого браузера.
Chrome: В браузере нажать левой кнопкой мыши на меню (три точки) в правом верхнем углу экрана – «Настройки» – «Конфиденциальность и безопасность» – «Файлы cookie и другие данные сайтов».
Firefox: В браузере нажать на меню (три вертикальные полоски) в правом верхнем углу – «Настройки» – «Приватность и защита» – «Куки и данные сайтов».
Safari: Safari – «Настройки» – «Конфиденциальность» – «Данные сайтов».
Что такое тестирование файлов Cookie?
Тестирование файлов куки — это процесс проверки и оценки функциональности, безопасности и производительности файлов cookie, используемых на веб-сайтах или в веб-приложениях.
Основные аспекты тестирования включают:
- Функциональность: Проверка того, правильно ли создаются, читаются и удаляются файлы cookie.
- Срок действия: Оценка корректности установки сроков действия cookie, включая параметры Expires и Max-Age, чтобы убедиться, что они истекают в заданное время.
- Доступность: Проверка того, доступны ли файлы cookie для различных страниц и сессий, а также соответствуют ли они заданным путям и доменам.
- Безопасность: Оценка соблюдения параметров безопасности, таких как Secure и HttpOnly, чтобы предотвратить несанкционированный доступ и атаки.
- Совместимость: Проверка работы файлов cookie в различных браузерах и на различных устройствах, чтобы убедиться, что они функционируют корректно в разных условиях.
Как тестировать Cookie: примеры тестовых сценариев для веб-приложений
Ниже представлены ключевые тестовые сценарии для тестирования файлов cookie в веб-приложениях.
- Создание файлов cookie: Убедитесь, что приложение корректно создает файлы cookie на диске пользователя.
- Доступ без файлов cookie: Проверьте, может ли пользователь получить доступ к приложению после отключения файлов cookie. Для этого отключите файлы cookie в браузере и зайдите на сайт. Убедитесь, что на сайте не происходит сбоев или блокировок. Для этого необходимо проверить два аспекта:
a. Есть ли соответствующее сообщение, показывающее пользователям, чтобы включить cookies для доступа к сайту
b. Существует ли какое-либо обходное решение для доступа к сайту для браузеров с отключенными cookies. - Доступ после удаления файлов cookie: Проверьте, может ли пользователь получить доступ к приложению после удаления файлов cookie. Удалите все файлы cookie, связанные с тестируемым сайтом, и проверьте, функционирует ли сайт без сбоев. Удаление файлов cookie может привести к потере данных и сбою системы.
- Доступ после удаления файлов cookie вручную: Проверьте, может ли пользователь получить доступ к приложению после удаления файлов cookie вручную с жесткого диска вашего компьютера. Убедитесь, что ваш сайт создает файлы cookie. После их создания закройте браузер и вручную удалите файлы cookie с жесткого диска компьютера. Затем откройте браузер, перейдите на веб-сайт и проверьте его поведение. Удаление файлов cookie иногда может вызывать сбои в работе сайта.
- Доступ после изменения файлов cookie: Проверьте, может ли пользователь получить доступ к приложению после изменения файлов cookie. Отредактируйте файл cookie вручную с помощью плагина или блокнота. Например, измените срок действия или имя куки. Попробуйте изменить учетные данные одного пользователя на данные другого (существующего) пользователя и попытайтесь выполнить вход. Система не должна позволять вход с измененными данными.
- Шифрование конфиденциальных данных: Проверьте, зашифрованы ли все конфиденциальные данные (например, учетные данные пользователя), хранящиеся в файлах cookie.
- Кросс-браузерное тестирование: Убедитесь, что файлы cookie корректно записываются во всех поддерживаемых браузерах.
- Отклонение файлов cookie: Убедитесь, что пользователь может получить доступ к сайту, не принимая все файлы cookie. Проверьте, сохраняет ли ваш браузер файлы cookie. Зайдите на сайт, разрешите браузеру сохранять куки-файлы, затем отключите их и попробуйте снова зайти на сайт. Это может привести к сбоям в работе сайта.
- Злоупотребление файлами cookie: Убедитесь, что на сайте не происходит злоупотребления файлами cookie (куки не используются в недопустимых целях). Это может негативно сказаться на посещаемости сайта и вызвать раздражение у пользователей, что в конечном счете приведет к потере трафика и упадку бизнеса.
- Конфиденциальность данных в файлах cookie: Проверьте, не хранятся ли в файлах cookie личные или конфиденциальные данные. Если такие данные все же собираются, то убедитесь, что они имеют зашифрованный формат.
Если вы знакомы с другими сценариями тестирования файлов cookie поделитесь ими в комментариях.
Плагины для тестирования файлов Cookie
Для пользователей Google Chrome
“EditThisCookie” – Ссылка на сайт

Для пользователей Mozilla Firefox
“Mozilla Advanced Cookie Manager”

Some other tools to test the cookies
“Cookie Tester“

Данный сайт предназначен для проверки настроек вашего браузера, связанных с файлами cookie. Например, если ваш браузер настроен на отклонение файлов cookie, вы можете инициировать там запрос на отправку файла cookie и проверить, будет ли он отклонен. В случае, если ваш браузер настроен на прием файлов cookie, вы можете протестировать, что файлы cookie успешно отправляются и не блокируются.
Для установки файла cookie укажите:
- Cookie name (имя) и Cookie value (значение)
- Нажмите на кнопку ‘Set TestCookie’.
Если файлы cookie отключены, то они должны быть отклонены.
“Cookie Checker” – Ссылка на сайт

Данный сайт осуществляет проверку файлов cookie, используемых на проверяемом вами веб-ресурсе, и предоставляет полный отчет о назначении каждого куки-файла.
Вывод
Основная цель файлов cookie заключается в идентификации пользователей, сохранении их данных для входа на сайт и формировании персонализированной информации для дальнейшего взаимодействия с сайтом. Использование cookie значительно экономит время пользователей при повторных посещениях ресурсов. А их тестирование является распространенной практикой и играет важную роль с точки зрения безопасности и быстрого доступа к веб-приложениям.
Понравилась эта статья? Поделитесь ею со своими друзьями! Если у вас есть вопросы, напишите их в комментариях ниже.
Перевод статьи «Learn Website Cookie Testing – Complete Guide [Cookie Testing Test Cases]».