Библиотека тестировщика | QA, тестирование, quality assurance, manual testing, autotesting, ручное тестирование, автотесты
Відкрити в Telegram
Все самое полезное для тестировщика в одном канале. Наши курсы: https://clc.to/wlBkTA По рекламе: @proglib_adv Учиться у нас: https://proglib.io/w/12538d6f Для обратной связи: @proglibrary_feeedback_bot
Показати більше9 102
Підписники
-124 години
-147 днів
-2030 день
Архів дописів
📌 Cypress: декабрьский апдейт
15.8.1
— Закрыта CVE-2025-68154
— Обновлён systeminformation
— Меньше security-алертов в CI
15.8.0
— Поддержка Angular 21 в Component Testing
— Zoneless Angular Component Testing (без zone.js)
— Selector Playground теперь доступен всем → интерактивный режим для построения селекторов прямо в приложении
— Исправлена загрузка Next.js Component Testing без TS-конфига
🔗 Ссылка на changelog
📍 Навигация: [Вакансии]
🎁 Новогодняя акция: 3 курса по цене 1
🤝 Помощь с выбором курса
🐸 Библиотека тестировщика
#release_notes
🎓 Твой опыт стоит дорого — стань экспертом Proglib Academy
Чувствуешь, что накопил достаточно знаний, чтобы делиться ими с другими?
Мы ищем сильных практиков, которые хотят попробовать себя в роли:
— преподавателей;
— авторов курсов;
— наставников.
Это возможность не только монетизировать экспертизу, но и прокачать личный бренд, структурировать собственные знания и вырастить новое поколение специалистов.
👉 Заполни короткую анкету
🔗 Вопрос с собеседования на Junior QA
Чем отличается Preview и Response?
👇 Правильный ответ (нажми, чтобы прочитать):
Response показывает необработанное тело HTTP-ответа, ровно в том виде, в каком оно пришло от сервера. Это источник истины при проверке API, кодировок, лишних полей и багов сериализации.
Preview — это интерпретированное представление ответа, которое браузер строит для удобства: парсит JSON, рендерит HTML, декодирует данные. Оно полезно для быстрого анализа структуры, но может скрывать проблемы в реальном payload.
💼 Щелкаешь такие задачи как орешки? Найди проект с достойной зарплатой тут
🐸 Библиотека тестировщика
#карьерный_трек #junior
❓ С чего начнёте тестировать кнопку «Оплатить»
Представьте: перед вами кнопка «Оплатить» в мобильном приложении банка.
♾ На что вы обратите внимание в первую очередь:
🤩 — UI (внешний вид, расположение, доступность) 🌚 — Security (безопасность транзакций, защита данных) ⚡ — Performance (скорость отклика, стабильность) ❤️ — Business logic (сценарии оплаты, валидация)❗️ Выбирайте не «что важно вообще», а именно с чего начнёте тестирование в реальной задаче. Поделитесь своим подходом в комментариях! 💬 📍 Навигация: [Вакансии] 🐸Библиотека тестировщика #стендап_qa
🛠 Полезные фишки Chrome DevTools — часть 3
Часть 1 | Часть 2
🔴 Переопределение геолокации
Зачем: проверить сайт для пользователей из разных городов/стран/часовых поясов
⚠️ Работает только если сайт использует сервисы геолокации (не IP)
Как изменить:
F12 → Ctrl+Shift+P → Sensors → Show Sensors Location → выбрать город из спискаДобавить свой город:
Manage → Add Location → указать название, координаты, часовой поясГде помогает: ✓ Проверка погоды по геолокации ✓ Расписания с учётом часовых поясов ✓ Контент, зависящий от региона ✓ Локализация сервисов 🔴 Подмена user-agent Зачем: проверить сайт с разных устройств, ОС и браузеров без физических девайсов Как изменить:
F12 → Ctrl+Shift+P → Show Network conditions User-Agent → снять галочку Use browser default → выбрать из спискаКастомный User-Agent:
Выбрать Custom → ввести параметры вручнуюГде помогает: ✓ Тестирование мобильных версий ✓ Проверка адаптивности под разные браузеры ✓ Тестирование специфичного поведения для iOS/Android ✓ Проверка блокировок для определенных браузеров 🔴 Lighthouse — аудит производительности Зачем: комплексный тест производительности, accessibility, SEO Как запустить:
F12 → Lighthouse → выбрать параметры → Analyze page loadЧто проверяет: ✓ Performance (скорость загрузки) ✓ Accessibility (доступность для людей с ограниченными возможностями) ✓ Best Practices (соблюдение стандартов) ✓ SEO (оптимизация для поисковиков) ✓ PWA (Progressive Web App) Результат: • Оценки от 0 до 100 по каждому параметру • Детальные рекомендации по улучшению • Метрики (FCP, LCP, TTI, CLS) 🔴 Частые сценарии
1️⃣ Проверка API: Network → Fetch/XHR → клик на запрос → Payload/Response 2️⃣ Тест производительности: Lighthouse → выбрать категории → Analyze 3️⃣ Проверка на медленном интернете: Network → Throttling → Slow 3G 4️⃣ Поиск лишнего кода: Ctrl+Shift+P → Coverage → Start 5️⃣ Тест геолокации: Ctrl+Shift+P → Sensors → выбрать город 6️⃣ Воспроизведение бага: Network → ПКМ на запрос → Copy as cURL🔴 Все хоткеи
F12 — открыть DevTools Ctrl+Shift+C — инспектор элементов Ctrl+Shift+P — Command Menu Ctrl+Shift+M — режим устройств Ctrl+R — перезагрузить страницу Ctrl+S — сохранить изменения Ctrl+F — поиск Ctrl+E — старт/стоп записи Network📍 Навигация: [Вакансии] 🎁 Новогодняя акция: 3 курса по цене 1 🤝 Помощь с выбором курса 🐸 Библиотека тестировщика #артефакт
❓ Как запрос проходит от браузера до сервера
Когда пользователь нажимает кнопку или открывает страницу, запрос не летит сразу в backend. По дороге он проходит несколько слоёв — и каждый может повлиять на результат.
1️⃣ Браузер
Формирует HTTP-запрос:
— URL
— метод (GET / POST)
— заголовки
— cookies, токены, тело запроса
📌 Уже здесь возможны проблемы: неправильные заголовки, кеш браузера, CORS.
2️⃣ CDN (если есть)
Запрос попадает в ближайший edge-сервер.
Что происходит:
— если контент закеширован → ответ сразу
— если нет → запрос идёт дальше
3️⃣ Reverse-Proxy
Первый «вход» в инфраструктуру приложения.
Может делать:
• SSL-терминацию
• проверку авторизации
• rate-limit
• модификацию заголовков
• проксирование дальше
4️⃣ Балансировщик нагрузки
Если backend не один — запрос нужно кому-то отдать.
Что делает:
— выбирает инстанс приложения
— следит за доступностью
— может использовать sticky sessions
5️⃣ Backend (наконец-то)
Приложение:
— обрабатывает запрос
— работает с БД
— формирует ответ
Ответ идёт обратно тем же путём, и на каждом этапе может быть изменён или закеширован.
📍 Навигация: [Вакансии]
🎁 Новогодняя акция: 3 курса по цене 1
🤝 Помощь с выбором курса
🐸 Библиотека тестировщика🤔 Когда использовать тест-кейсы, а когда чек-листы
⏺ Тест-кейсы использую там, где важны контроль и воспроизводимость:
• крупные и сложные системы
• критичный бизнес-функционал (платежи, безопасность)
• регрессия и стабильные требования
• команды с ротацией и автоматизацией
⏺ Чек-листы выбираю, когда важны скорость и гибкость:
• быстрые релизы и частые изменения
• исследовательское тестирование
• UI и мобильные приложения
• MVP и продуктовая разработка
💡 Хорошая практика — комбинировать: тест-кейсы для ядра и регрессии, чек-листы для новых фич и интерфейсов.
📍 Навигация: [Вакансии]
🎁 Новогодняя акция: 3 курса по цене 1
🤝 Помощь с выбором курса
🐸 Библиотека тестировщика
#разбор_полетов
🧃 Скрытые фичи Chrome, о которых мало кто знает
Даже без DevTools браузер умеет больше, чем кажется. Страница chrome://chrome-urls открывает все внутренние разделы Chrome.
• chrome://flags — экспериментальные настройки • chrome://gpu — информация об аппаратном ускорении • chrome://net-export — диагностика сетевых проблемХороший способ заглянуть под капот браузера и быстрее находить причины нестабильных багов. 🐸 Библиотека тестировщика #тест_драйв
📝 Как составить резюме, которое работает
Правильное резюме — ключ к собеседованиям в IT.
➕ В видео:
— Частые ошибки в резюме тестировщиков
— Пошаговое оформление резюме
— Как описать опыт и достижения
— Что делать, если опыта нет
— Сопроводительное письмо
В описании видео есть ссылка на готовый шаблон 📎📎
🐸 Библиотека тестировщика
#карьерный_трек
🔥 Философский вопрос дня
Один QA инженер охраняет стадо овец (прод) от волков (багов).
Достаточно ли одного QA на проект ❓
Голосуйте реакциями:
🤩 — Да, если хороший
🌚 — Нужна команда QA
❤️ — Автотесты важнее людей
🐸Библиотека тестировщика
#стендап_qa
💳 Топ-вакансий недели для тестировщиков
Инженер по нагрузочному тестированию (от 130 000 до 180 000 ₽)
QA-тестировщик (до 120 000 ₽, Дубна)
QA Fullstack (C#) Middle+ (270 000 ₽)
Senior тестировщик в SRE-платформу (до 460 000 ₽)
➡️ Больше офферов в канале: @testerrjob
🐸 Библиотека тестировщика
🗂 Шпаргалка по API
Компактный справочник по всему, что нужно знать при тестировании API:
✅ HTTP-методы и коды ответов
✅ Заголовки и структура запросов
✅ Инструменты тестирования (Postman, SoapUI, REST Assured, Karate)
✅ Безопасность API (OAuth, JWT, CORS)
✅ Мониторинг и производительность
Держите под рукой — пригодится на каждом проекте! 😍
📍 Навигация: [Вакансии]
🐸 Библиотека тестировщика
#артефакт
✨ Кейс: поиск не находит товар по артикулу
Система «работает». Тесты пройдены. Но пользователь пишет: «Товар есть, а поиск его не видит».
Что происходит на самом деле ❓
Один ввод — и вся логика рассыпается:
🟡 Пользователь копирует артикул
🟡 В начале или конце появляются пробелы
🟡 Поиск сравнивает строки напрямую
🟡 Совпадения нет → результат пустой
ABC123 ≠ ABC123Happy-path: — ручной ввод — без пробелов — результат найден Реальность: — копипаст — мобильная клавиатура — Excel / почта / PDF 💡 Поиск ломается не из-за сложной логики. Он ломается из-за одного лишнего символа. Если строка пришла от пользователя — она уже подозрительная. 🐸 Библиотека тестировщика #разбор_полетов
🛠 Полезные фишки Chrome DevTools — часть 2
Часть 1
🟠 Эмуляция медленного интернета
Зачем: тестировать поведение сайта при слабом соединении
Как включить:
Network → No Throttling → выбрать Fast 3G / Slow 3G / OfflineКастомный профиль:
Add → Add custom profile → заполнить Download, Upload, Latency → AddГде помогает: проверить загрузку на слабом интернете, тестировать таймауты, оффлайн-режим 🟠 Копирование запросов Зачем: воспроизвести запрос в cURL, Postman или Console Как скопировать:
F12 → Network → выбрать запрос → ПКМ → Copy → выбрать формат (cURL, Fetch и тд)Что можно: ✓ Запустить через cURL ✓ Импортировать в Postman ✓ Подправить во вкладке Console как fetch ✓ Отправить разработчику для воспроизведения бага 🟠 Блокировка запросов Зачем: проверить, что произойдет, если контент не загрузится (картинка, анимация) Как заблокировать:
F12 → Ctrl+Shift+P → Show Request Blocking Network → выбрать элемент → Headers → скопировать URL Network Request Blocking → Add Pattern → вставить запрос → Add ✓ Enable network request blocking → перезагрузить страницуГде помогает: проверить альтернативный текст для картинок, обработку ошибок загрузки, fallback-контент 🟠 Полезные хоткеи
Ctrl+E — старт/стоп записи Network Ctrl+F — поиск в Network Ctrl+L — очистить Network🐸 Библиотека тестировщика #тест_драйв
❓ Что такое IP-адрес
IP-адрес — это числовой адрес устройства в сети, по которому его можно однозначно найти.
Формат IPv4 выглядит так:
192.168.0.101Каждое число — от 0 до 255. Это не случайно, а результат разбиения адреса на части. 🔍 Как читать IP-адрес На примере
192.168.0.101:
• 192 — крупная подсеть (класс сети)
• 168 — подсеть внутри неё
• 1 — конкретная локальная подсеть
• 101 — номер устройства в этой подсети
Проще:
🔤 первые числа — где сеть, последние — кто именно в этой сети.
⚠️ Почему это важно для QA
— Один и тот же сервис в разных окружениях → разные IP
— Часто путают IP сервера и IP клиента
— Firewall, whitelist, API-доступы почти всегда завязаны на IP
— «У меня работает» ≠ «доступно по нужному IP»
Типичный кейс:
сервис запущен, порт открыт, но запрос идёт не в ту подсеть
📌 Запомнить просто
• IP — куда идёт запрос • Порт — кому именно • DNS — как имя превращается в IPБез понимания IP — отладка превращается в угадайку. 🐸 Библиотека тестировщика #теория_на_пальцах
+4
💦 Waterfall: вопрос, который всё ещё спрашивают
На QA-собеседованиях часто проверяют базу. Waterfall — классический пример: модель старая, но до сих пор используется в enterprise и проектах с фиксированными требованиями.
➡️ В карточках — как работает Waterfall и что в нём важно для тестировщика.
🐸 Библиотека тестировщика
#карьерный_трек
Покрой тестами свои пробелы в знаниях
Ручное тестирование — это хорошо, но автоматизация и знание кода открывают совсем другие зарплатные вилки. Хватит искать баги у других, пофикси свои скиллы.
Акция 1 + 2:
Берешь один курс, получаешь три. Платишь за самый дорогой лот в корзине, два других — за счет заведения.
Мастхэв для QA:
— программирование на Python (золотой стандарт автотестов);
— основы IT (чтобы говорить с девами на одном языке).
Обеспечить 100% покрытие
До 31 декабря.
Саппорт по выбору курсов: @manager_proglib
📁 Кнопка «Удалить аккаунт», которая ломала сервер
Пользователь написал в поддержку:
"Пытаюсь удалить аккаунт, но вылетает ошибка. Уже 10 раз пробовал — не работает."Оказалось — запрос доходил до сервера, но падал с 500 ошибкой. 🔍 Суть проблемы:
UI отправлял запрос на удаление, но бэкенд не мог его обработать. Frontend показывал общую ошибку «Что-то пошло не так», а в логах — 500 Internal Server Error. Что происходило на сервере: — запрос приходил корректно — начиналось удаление связанных данных — падало на внешнем ключе (foreign key constraint) — откат транзакции → ничего не удалялось Почему падало: — не учли каскадное удаление из связанных таблиц — не обработали зависимости (комментарии, лайки, подписки) — забыли про данные в очередях и кэше — не протестировали на аккаунтах с реальной активностью Итог: пользователь не мог удалить аккаунт + данные оставались в системе + нарушение GDPR.👀 Почему так бывает: — тестировали на "чистых" тестовых аккаунтах — не проверили связи в БД перед реализацией — не добавили обработку cascade delete — пропустили проверку логов при тестировании ❓ Проверяете логи и ошибки на бэкенде: 👍 — Да, смотрю логи и статусы ответов ❤️ — Только если UI показал ошибку 😁 — Доверяю, что бэкенд работает 🔥 — Буду тестировать на «тяжёлых» аккаунтах с данными 🐸 Библиотека тестировщика #разбор_полетов
📌 Базовый чек-лист тестирования (core)
Этот список используют каждый день — вне зависимости от проекта, стека и роли. Если его нет в голове, всё остальное не имеет значения.
🔤 Что проверять всегда:
• Happy path и негативные сценарии Функция должна работать не только «как задумано», но и ломаться контролируемо. • Границы значений 0 / 1 / max / пусто / null — именно здесь чаще всего живут баги. • Валидация ввода Тип данных, длина, формат. Никакой веры фронту — только факты. • Ошибки сервера и сообщения пользователю 500-е, таймауты, сетевые ошибки. Пользователь должен понимать, что произошло. • Повторные действия Double click, refresh, кнопка Back. Приложения ломаются не от кликов, а от повторов. • Сохранение состояния Перезагрузка страницы, смена вкладки, возврат назад. Состояние не должно «исчезать».🐸 Библиотека тестировщика #артефакт #intern
