Что такое Cookies в контексте веб-тестирования?

«Что такое Cookies в контексте веб-тестирования?» — вопрос из категории Веб-тестирование, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Cookies (куки) — это небольшие фрагменты данных (до ~4 КБ), которые сервер отправляет браузеру пользователя и которые браузер автоматически возвращает при последующих запросах к тому же домену. Это механизм хранения состояния (state) на стороне клиента.

Основные атрибуты и их значение для тестирования:

  • Name и Value: Данные, хранимые в cookie.
  • Expires / Max-Age: Срок жизни. Куки без этих атрибутов — сессионные (удаляются при закрытии браузера).
  • Secure: Куки передаются только по HTTPS. Обязательно для проверки в защищенных приложениях.
  • HttpOnly: Запрещает доступ к кукам через JavaScript (document.cookie). Защита от XSS-атак.
  • SameSite: Контролирует отправку кук с межсайтовыми запросами. Значения: Strict, Lax, None.

Пример HTTP-заголовка:

Set-Cookie: session_id=abc123def456; Expires=Wed, 21 Oct 2025 07:28:00 GMT; Secure; HttpOnly; SameSite=Lax

Что нужно проверять QA:

  1. Корректность установки и отправки кук (инструменты: DevTools → Application/Storage).
  2. Соблюдение политик безопасности (Secure, HttpOnly, SameSite).
  3. Влияние на функциональность: поведение при очистке кук, истечении срока действия, отключении в браузере.
  4. Отличие от Web Storage: LocalStorage/SessionStorage не отправляются на сервер автоматически, имеют больший лимит (~5 МБ) и API, доступный только на клиенте.