📝 Cookie, LocalStorage, SessionStorage и Кэш — в чём разница и почему это важно для QA
Как хранится информация в браузере?
Когда пользователь заходит на сайт, часть данных может сохраняться локально: логин, настройки, корзина, токены. Но где именно они хранятся — влияет на безопасность, поведение и тестирование.
Разбираемся 👇
🍪 Cookie
Небольшие данные (до ~4 КБ), которые автоматически отправляются на сервер с каждым HTTP-запросом.
Где смотреть: Application → Storage → Cookies
✅ Используются для:
— авторизации (access_token)
— сессий, трекинга и аналитики
— "запоминания" выбора языка или логина
🔐 Имеют флаги безопасности:
— HttpOnly (не доступен через JS)
— Secure (отправляется только по HTTPS)
— SameSite (защита от CSRF)
QA должен проверять:
• передаются ли cookie при переходах
• не утекают ли данные (особенно без Secure)
• корректность работы при смене пользователя
➖
💾 LocalStorage
Локальное хранилище на клиенте (до 5–10 МБ), не отправляется на сервер.
Где смотреть: Application → Storage → Local Storage
✅ Используется для:
— кэширования настроек и данных
— сохранения состояния интерфейса
— хранения информации между сессиями
QA должен проверять:
• не хранятся ли чувствительные данные (токены, логины)
• очищаются ли данные при выходе из аккаунта
• что происходит при переполнении
➖
🧭 SessionStorage
Аналог LocalStorage, но данные удаляются при закрытии вкладки.
Работает только в рамках одной вкладки.
Где смотреть: Application → Storage → Session Storage
✅ Используется для:
— временного хранения шагов в формах
— одноразовых действий (например, одноразовый код)
QA должен проверять:
• теряются ли данные при закрытии вкладки
• поведение при открытии сайта в новой вкладке или окне
➖
🔁 Кэш (Cache)
Кэш в браузере — это механизм хранения ресурсов сайта (HTML, CSS, JS, изображения), чтобы ускорить повторную загрузку.
Где смотреть: Application → Cache → Cache Storage
✅ Используется для:
— ускорения загрузки
— уменьшения нагрузки на сервер
— офлайн-режима
QA должен проверять:
• обновляется ли кэш при деплое новой версии
• работает ли сайт после сброса кэша
• не «залипают» ли старые скрипты, стили, изображения
• правильно ли настроены заголовки (Cache-Control, ETag)
Можно нажать Clear site data — чтобы протестировать сайт "с нуля".
➖
Старайся тестировать в двух вариантах:
1. Чистый режим (инкогнито, сброс кэша)
2. Нормальная сессия с сохранёнными данными
"Баг — это не всегда кнопка, которая не нажимается. Иногда баг — это данные, которые не должны были сохраниться"