Devtools - главный инструмент тестировщика
1. Что такое DevTools и как с ним работать
DevTools (Developer Tools) — это встроенный в браузер (например, Google Chrome) набор инструментов для разработчиков и тестировщиков.
- смотреть HTML и CSS страницы 🧱
- отслеживать запросы к серверу 🌐
- проверять ошибки в консоли ⚠️
- смотреть и чистить куки, кэш, localStorage 🍪
- эмулировать медленный интернет, мобильный экран 📱
👉 Совет:
Когда читаешь этот разбор, открывай DevTools и кликай параллельно. Так информация лучше «приклеится».
2. Основные вкладки DevTools и зачем они тестировщику
Нам как тестировщику не нужно знать всё на уровне разработчика.
Обычно в работе ты реально будешь использовать 10–20% возможностей, но:
- на собесах часто спрашивают: «Что ты делаешь во вкладке Network/Elements/Console?»
- в реальной работе это даёт тебе +100 к полезности.
🔹 Elements — «Разметка и стили страницы»
Что отображается на вкладке Elements?
Проще говоря:
👉 Это «скелет» страницы + «одежда» (стили).
Что можно делать тестировщику в Elements?
- Смотреть, из чего состоит элемент: текст, теги, атрибуты
- Проверять, почему что-то съехало: отступы, размеры, шрифты
- Временно менять текст/стили, чтобы проверить гипотезу
(например, если текст лезет за границы блока — «а что, если уменьшить шрифт?»)
Полезные вещи:
- 🔍 Выбор элемента курсором
В левом верхнем углу DevTools есть иконка стрелочки.
Нажимаешь её — потом кликаешь по любому элементу на странице — и DevTools сразу показывают HTML этого элемента. - 🎨 Вкладка Styles справа
Показывает все CSS-правила, которые действуют на выбранный элемент: - ⚡ Вкладки:
🔹 Console — «Ошибки и сообщения от кода»
Что полезного тестировщик может увидеть во вкладке Console?
- показывает ошибки JavaScript (которые ломают функционал) ⚠️
- предупреждения (warnings)
- любые лог-сообщения, которые разработчик вывел через
console.log() - иногда сюда выводят XHR / fetch запросы
- быстрый способ понять:
«Почему кнопка не работает? А, там ошибка JS…» - аргумент в споре:
«Смотри, при этом действии в консоли ошибка, это явно баг».
- можно фильтровать сообщения (ошибки, warning, info)
- можно очистить консоль 🧹
- можно включить Preserve log — чтобы сообщения не очищались при перезагрузке страницы
- консоль можно открыть внизу любой вкладки (клавиша
Esc)
🔹 Sources — «Файлы и отладка кода» (для QA — эпизодически)
Для начинающего тестировщика часто это не обязательно, если ты не лезешь в сложную отладку.
🔹 Network — «Все запросы к серверу» 🌐
Это одна из самых важных вкладок для тестировщика.
Что полезного для тестировщика есть во вкладке Network?
🕒 Где посмотреть, как долго выполнялся HTTP-запрос?
- Открой вкладку Network
- Обнови страницу (F5) — увидишь таблицу запросов
- Кликни по нужному запросу
- Перейди во вкладку Timing
Там видно:
📦 Где посмотреть тело запроса и ответ?
Это супер полезно при тестировании API через UI:
- «Я отправила такие данные — а сервер ответил вот этим»
- «В UI ошибка, но в ответе от сервера всё ок — баг фронта»
🚦 Имитация медленного интернета
Как включить имитацию медленного интернета?
На вкладке Network сверху есть поле Throttling.
- как ведёт себя сайт при медленном интернете
- корректно ли отображается лоудер / спиннер / сообщения о проблемах с сетью
💾 Отключение кэша
На вкладке Network есть чекбокс Disable cache.
- Если включить его — браузер не будет использовать кэш
- Важно: это работает только пока открыт DevTools
📊 Итоговая сводка по Network
Внизу вкладки Network обычно видно:
«Почему сайт тормозит? Потому что грузится 5 МБ картинок и 300 запросов.»
🔹 Performance — «Производительность страницы» ⚙️
Вкладка Performance показывает:
Для начинающего тестировщика:
можно пока знать, что она существует, и что это про производительность.
🔹 Memory / JavaScript Profiler — «Память и нагрузка» 🧠
- поиска утечек памяти
- анализа, какие объекты «зависают» и не освобождаются
- профилирования работы JS-кода по CPU
Для ручного тестировщика-джуна это не базовый навык, но круто, если хотя бы:
🔹 Application — «Хранилища, кэш, куки, данные сайта» 📦
Это очень полезная вкладка для тестировщика.
Что можно посмотреть во вкладке Application?
- Cookies — куки сайта 🍪
- Local Storage и Session Storage
- IndexedDB, Web SQL
- кэш приложения
- шрифты, картинки и т.д.
🧼 Как очистить данные сайта через DevTools?
Вкладка Application → обычно слева есть раздел "Clear storage" (или аналог):
Либо можно очистить каждый тип данных отдельно:
- нужно проверить поведение «как у нового пользователя»
- сломалась авторизация и нужно «сбросить состояние»
- что-то закэшировалось и не обновляется
❓ Что такое кэш и зачем он нужен?
Кэш — это место, где браузер хранит копии файлов с сайта:
Но для тестировщика это может быть проблемой:
Поэтому мы иногда чистим кэш или включаем Disable cache в Network.
❓ Что такое куки и зачем они нужны?
Cookies (куки) — это маленькие файлы/записи, которые сайт сохраняет в браузере.
Для тестировщика куки важны, потому что:
❓ Зачем тестировщику чистить кэш?
- у тебя открыта «половина старого кода» или старые стили
- сайт ведёт себя странно
- разработчик говорит: «А у меня всё норм»
И проверяем ещё раз — уже на «чистых» данных.
🔹 Security — «Безопасность и сертификаты» 🔒
- безопасно ли соединение (HTTPS / не HTTPS)
- какой сертификат используется
- есть ли проблемы с mixed content (когда часть ресурсов грузится по http, часть по https)
Тестировщику это может пригодиться:
- если задача связана с безопасностью, SSL, сертификатами
- если в браузере появляются предупреждения «Сайт небезопасен»
🔹 Audits (Lighthouse) — «Аудит качества страницы» 🚦
Во вкладке Audits (иногда называется Lighthouse) можно:
После запуска анализа DevTools покажет:
Для тестировщика-джуна это не must-have, но иногда прикольно показать:
«Я проверил через Lighthouse, у нас низкий рейтинг по performance».
📱 Как включить мобильную версию сайта?
В DevTools есть режим эмуляции устройства.
- Открой DevTools
- В панели сверху нажми на кнопку Toggle device toolbar
(иконка смартфона/планшета, обычно рядом с Select Element) - Выбери устройство (iPhone, Pixel и т.п.) или задай размеры вручную
- проверить адаптивность
- увидеть, как сайт выглядит на маленьком экране
- тестировать мобильную вёрстку без настоящего телефона
❓ Какую вкладку чаще всего держим открытой при функциональном тестировании?
На практике тестировщик чаще всего держит открытыми:
Если нужно выбрать прям одну, то чаще полезнее Network,
потому что там:
Но идеальный вариант: Network + Console.
🧪 Тренажёр для DevTools
У тебя в плане указан тренажёр по DevTools.
Рекомендация: проходить упражнения уже после того, как:ты покликал DevTools руками,почитал эту теорию,попробовал сам:переключить мобильный режим,посмотреть запрос в Network,найти куки в Application,включить Slow 3G.