Библиотека тестировщика | QA, тестирование, quality assurance, manual testing, autotesting, ручное тестирование, автотесты
8.82K subscribers
1.53K photos
183 videos
61 files
2.91K links
Все самое полезное для тестировщика в одном канале.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/12538d6f

Работать у нас: https://job.proglib.io/

Для обратной связи: @proglibrary_feeedback_bot
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
🛫 REST API Generator — моментальное создание тестовых API-эндпоинтов

С его помощью можно быстро создать, не занимаясь настройкой и установкой:

— GET, POST, PUT и DELETE запросы;
— автоматически сгенерированные данные для тестирования;
— работу через HTTPS с поддержкой CORS.

📎 Добавляйте в закладки

🐸 Библиотека тестировщика

#тест_драйв
Please open Telegram to view this post
VIEW IN TELEGRAM
6🤩2👍1
🤔 Вопрос с собеседования

«Где взять ожидаемый результат для тестирования?»

📌 Ожидаемый результат берём из:

— требований и acceptance criteria,
— макетов и спецификаций,
— API-контрактов,
— бизнес-правил,
— поведения текущей версии,
— уточнений аналитика/заказчика.

Если документа нет — фиксируем предположение и согласовываем.


🐸Библиотека тестировщика

#карьерный_трек
Please open Telegram to view this post
VIEW IN TELEGRAM
5🥰2👍1🔥1🤩1
🔥 Философский вопрос дня

Тестировщик нашел 0 багов за спринт. Он молодец или бездельник?


🟢 Версия А: Команда крутая, разработка качественная, процессы отлажены. QA сделал свою работу ещё на этапе планирования и ревью. Это идеал!

🟢 Версия Б: Тестировщик плохо искал, не копал вглубь, прогонял только хэппи-пасы. Риск пропустить критические баги в прод.

🟢 Версия В: Баги есть, просто они не "багорепорт-worthy" – мелкие косяки, которые QA решил не засорять трекер.

А теперь вопрос: Как ваш тимлид/менеджер отреагирует на такой спринт

Голосуйте в комментах:

🤩 — Это успех
🌚 — Это подозрительно
❤️ — Зависит от контекста

🐸 Библиотека тестировщика

#стендап_qa
Please open Telegram to view this post
VIEW IN TELEGRAM
18🌚14🤩6🥰1
👨‍💻 Кэширование: must-know для каждого тестировщика

Кэш — причина, почему первый запрос «думает» 2 секунды, а следующий летит за 20 мс. Почему данные на разных серверах отличаются. И почему «обновили, но не обновилось».

📌 Что внутри материала:

🟡 Стратегии кэширования — где данные могут застрять
🟡 Инвалидация — почему кэш устаревает и как это ловить
🟡 Холодный vs горячий кэш — источник «плавающих» результатов
🟡 Eventual consistency — что норма, а что дефект
🟡 Алгоритмы вытеснения — как кэш ведёт себя под нагрузкой

Что это даст вам:

→ Перестанете считать багами нормальное поведение кэша

→ Научитесь правильно планировать тест-кейсы с учетом кэширования

→ Сможете объяснить разработчикам, почему «у меня работает» — не аргумент

→ Улучшите качество нагрузочного и интеграционного тестирования


🐸Библиотека тестировщика

#артефакт
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3🥰2🤩2
GetAnalyst Кэширование.pdf
2 MB
📎📎

Материал от GetAnalyst — создан для системных аналитиков, но критически важен для понимания всей команды разработки, включая QA.

🐸Библиотека тестировщика

#артефакт
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰6🤩4
This media is not supported in your browser
VIEW IN TELEGRAM
📌 Hoppscotch — браузерная альтернатива Postman

Тестируй API прямо в браузере без установки тяжёлых приложений.

🧽 Что умеет:

REST, GraphQL, WebSocket, MQTT — всё в одном месте. Коллекции, переменные окружения, совместная работа.

🧽 Почему круто:

Опенсорс, быстрый, можно хостить у себя. Работает как PWA — устанавливается одним кликом.

🔗 Ссылка на GitHub

🐸Библиотека тестировщика

#тест_драйв
Please open Telegram to view this post
VIEW IN TELEGRAM
5🥰3👍1🤩1
🧠 Frontend vs Backend — в чем разница

Представьте интернет-магазин. Вы открываете сайт, видите товары, добавляете их в корзину — всё выглядит просто. Но внутри работает два мира.

🔵 Frontend — красивая обёртка

Кнопки, формы, карточки, анимации, цвета. Он работает в браузере и отвечает за внешний вид и удобство. Как кузов и салон автомобиля — красиво, понятно, удобно.

🔵 Backend — мощный двигатель

Когда вы нажимаете «Купить», backend проверяет логин, уменьшает остаток товара, считает итоговую сумму и сохраняет заказ. Это всё происходит на сервере — как двигатель под капотом.

Как они взаимодействуют:

Frontend: «Покажи товары».
Backend: ищет в базе и возвращает данные.
Frontend: отображает их пользователю.


Это постоянный диалог между интерфейсом и внутренней логикой системы 💬

🐸Библиотека тестировщика

#теория_на_пальцах
Please open Telegram to view this post
VIEW IN TELEGRAM
6🥰3🤩2
Как happy-path спрятал критический баг

Команда протестировала весь позитивный сценарий — авторизация, запрос, ответ, успех. Всё зелёное. В проде — падение сервиса.

Что оказалось:

Один негативный кейс ломал весь поток:

🟡 API возвращал ошибку 422 при пустом поле
🟡 Фронт обрабатывал только 200 и 400
🟡 Клиентский код попадал в «подвешенное» состояние
🟡 Очередь запросов росла → сервис ложился под нагрузкой

Тестировали happy-path → ничего не взорвалось Добавили негативные → воспроизвели падение за 30 секунд.

Happy-path не тестирует систему — только вашу веру в неё 🥲

🐸 Библиотека тестировщика

#разбор_полетов
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👍4🥰4🤩1
💳 Шпаргалка по командам Linux

📁 Базовая навигация


pwd # где я нахожусь
ls -la # что тут есть
cd /path/to/folder # перейти туда
cd .. # назад


📝 Смотрим логи


tail -f app.log # смотреть лог в реальном времени
tail -100 app.log # последние 100 строк
grep "ERROR" app.log # найти ошибки
grep -i "error" app.log # без учета регистра


🔍 Ищем по файлам


grep "текст" файл # найти в файле
grep -r "текст" ./папка # найти во всех файлах папки
find . -name "*.log" # найти все логи


🌐 Проверяем API/сеть


curl https://api.example.com # GET запрос
curl -X POST url -d '{"key":"val"}' # POST запрос
ping google.com # проверить доступность


📊 Быстрый анализ


grep "ERROR" app.log | wc -l # сколько ошибок
cat log | grep "404" | wc -l # сколько 404
tail -f log | grep "ERROR" # следить за ошибками


🔧 Процессы и порты


ps aux | grep java # найти процесс
lsof -i :8080 # что на порту 8080
kill 1234 # убить процесс


💾 Диски и память


df -h # сколько места на дисках
free -h # сколько памяти


В 90% случаев хватит:

- tail -f для логов
- grep для поиска
- curl для API
- ps aux | grep для процессов

🐸 Библиотека тестировщика

#артефакт
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰43🤩3
This media is not supported in your browser
VIEW IN TELEGRAM
📆😱 QA Advent 2025 — 31 день практики

Новогодний адвент-календарь для тестировщиков от Артёма Русова.

Уже открыто (дни 1–12):

• День 1 — Эвристики и мнемоники

Практичные приёмы и модели мышления для поиска дефектов.

• День 2 — Песочница для AQA
Тренажёр для прокачки навыков автоматизации тестирования.

• День 3 — DevTools
Симуляторы и упражнения по работе с инструментами разработчика.

• День 4 — Генерация данных
Утилиты и шаблоны для создания корректных и крайних тестовых данных.

• День 5 — Собеседования
Авторские советы и разборы типовых вопросов.

• День 6 — TestOps
Бесплатные курсы для знакомства с DevOps-подходами в QA.

• День 7 — SQL Island
Интерактивная игра для освоения SQL на практике.

• День 8 — Web Elements
Примеры реализации HTML, CSS и JS-элементов, полезные для UI-тестирования.

• День 9 — База знаний
Технические термины и концепции без лишней абстракции.

• День 10 — UI/UX
Игра-тренажёр на выбор наиболее удобных интерфейсных решений.

• День 11 — Тесты по тестированию
Более 100 вопросов для самопроверки и повторения теории.

• День 12 — Postman
Симулятор для отработки ключевых сценариев работы с API.


📌 Каждый день декабря открывается новый материал.

🐸 Библиотека тестировщика

#карьерный_трек
Please open Telegram to view this post
VIEW IN TELEGRAM
4🔥2🥰2🤩1
📌 Postman добавил контроль синхронизации OpenAPI и коллекций

Можно управлять синхронизацией между OpenAPI 3.0 и коллекциями, выбирать, синкаются ли параметры и request body.

Почему важно QA:

🟡 автотесты не «ломаются» при обновлении спеки;

🟡 понятнее, что является источником истины: спека или коллекция.

📎 Источник

🐸 Библиотека тестировщика

#release_notes
Please open Telegram to view this post
VIEW IN TELEGRAM
👏3🤩2
This media is not supported in your browser
VIEW IN TELEGRAM
🔎 16 декабря в 20:00 пройдет бесплатный урок, где мы расскажем про особенности тестирования браузерных игр и игр в социальных сетях. Весело и познавательно!

❗️Браузерные и соцсетевые игры — особый сегмент: они работают в ограниченных условиях, зависят от браузера и платформы, имеют специфичные механики монетизации и взаимодействия. На уроке разберём специфические для браузерных игр кейсы и отличия в тестировании игр в социальных сетях от тестирования веб игр.

🔥 Вы увидите реальные примеры багов, узнаете, какие инструменты экономят время. 🔥

📚 Что узнаем и изучим:

краткая история развития браузерных игр;
особенности тестирования браузерных игр
особенности тестирования игр в социальных сетях
примеры и кейсы

🕘 Запишитесь на бесплатный урок и проведите вечер с пользой:

https://clc.to/3-3ZXQ

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
🔥3🥰3🤩3
🔍 Загрузилась ли картинка с сервера или браузер схитрил

Всё дело в кэше браузера — невидимом помощнике, который хранит копии файлов на вашем компьютере. Но как понять, что именно происходит «под капотом»? Откуда браузер взял эту картинку — скачал с сервера или достал из своих запасов?

В статье разбираем:

Как увидеть в DevTools, откуда загрузился файл

Где спрятан весь кэш браузера и как его посмотреть

Что означают загадочные заголовки If-none-match, Etag и статус 304

🔗 Читать по ссылке

🐸 Библиотека тестировщика

#карьерный_трек
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4🤩3🥰2
🛠 Полезные фишки Chrome DevTools — часть 1

🟡 Скриншоты при загрузке страницы

Зачем:
Отлавливать баги при построении страницы: мигающие элементы, спиннеры, прогресс-бары, проблемы с initial render и CLS.

Как включить:

F12 → Network → ⚙️ → Capture screenshots → Ctrl+R


Результат:
Лента скриншотов с таймкодами — видно, когда и в каком порядке появляются элементы.

🟡 Поиск неиспользуемого кода

Зачем:
Найти лишний CSS/JS, который замедляет загрузку и может маскировать баги.

Как найти:

F12 → Ctrl+Shift+P → Show Coverage → Start instrumenting coverage


Результат:
Таблица с процентом использованного и неиспользованного кода.
Красным отмечен код, не выполнявшийся в текущем сценарии.

Где помогает:
— лишние стили и шрифты
— подключённые, но неиспользуемые библиотеки
— избыточный CSS после редизайнов

⚠️ Coverage показывает не «плохой код», а код, который не был задействован при проверке.

🟡 Сохранение изменений локально

Зачем:
Вносить правки в HTML/CSS/JS так, чтобы они сохранялись после перезагрузки страницы.

Как настроить:


F12 → Sources → Overrides → Select folder for overrides → выбрать папку


Как сохранить файл:

Network → нужный файл → клик правой кнопкой → Save for overrides


Пример сценария:

Sources → найти файл → внести правку → Ctrl+S → обновить страницу


Изменения применяются автоматически.

⚠️ Ограничения:
— не сохраняет правки напрямую из вкладки Elements
— работает только с файлами из Sources
— CSS редактируется через Styles, если файл зафиксирован в Overrides

❗️ Полезные горячие клавиши


F12 — открыть DevTools
Ctrl+Shift+C — инспектор элементов
Ctrl+Shift+P — Command Menu
Ctrl+Shift+M — Device Toolbar
Ctrl+R — перезагрузка страницы
Ctrl+S — сохранить изменения
Ctrl+F — поиск


🐸 Библиотека тестировщика

#тест_драйв
Please open Telegram to view this post
VIEW IN TELEGRAM
👍52🤩2🥰1
Что такое порт

Порт — это номер, который показывает, какому приложению на устройстве предназначен сетевой запрос.

Если по-простому:

IP-адрес — это дом, порт — конкретная дверь в этом доме.


📦 Один сервер → один IP → тысячи портов

Каждый порт может быть занят своим сервисом:
• 80 / 443 — веб-сайты
• 22 — SSH
• 3306 — MySQL

Когда браузер открывает сайт, он стучится не просто в сервер, а в конкретный порт, где слушает нужное приложение.

⚠️ Почему это важно для qa:

— Сервис может быть доступен, но не на том порту

— Баги «не открывается», «таймаут», «connection refused» часто связаны именно с портами

— Разные окружения = разные порты

🐸 Библиотека тестировщика

#теория_на_пальцах
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🥰2
📌 Базовый чек-лист тестирования (core)

Этот список используют каждый день — вне зависимости от проекта, стека и роли. Если его нет в голове, всё остальное не имеет значения.

🔤 Что проверять всегда:

• Happy path и негативные сценарии
Функция должна работать не только «как задумано», но и ломаться контролируемо.

• Границы значений
0 / 1 / max / пусто / null — именно здесь чаще всего живут баги.

• Валидация ввода
Тип данных, длина, формат. Никакой веры фронту — только факты.

• Ошибки сервера и сообщения пользователю
500-е, таймауты, сетевые ошибки. Пользователь должен понимать, что произошло.

• Повторные действия
Double click, refresh, кнопка Back. Приложения ломаются не от кликов, а от повторов.

• Сохранение состояния
Перезагрузка страницы, смена вкладки, возврат назад. Состояние не должно «исчезать».


🐸 Библиотека тестировщика

#артефакт #intern
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6🥰2🤩2👍1
📁 Кнопка «Удалить аккаунт», которая ломала сервер

Пользователь написал в поддержку:

"Пытаюсь удалить аккаунт, но вылетает ошибка. Уже 10 раз пробовал — не работает."


Оказалось — запрос доходил до сервера, но падал с 500 ошибкой.

🔍 Суть проблемы:

UI отправлял запрос на удаление, но бэкенд не мог его обработать. Frontend показывал общую ошибку «Что-то пошло не так», а в логах — 500 Internal Server Error.

Что происходило на сервере:
— запрос приходил корректно
— начиналось удаление связанных данных
— падало на внешнем ключе (foreign key constraint)
— откат транзакции → ничего не удалялось

Почему падало:
— не учли каскадное удаление из связанных таблиц
— не обработали зависимости (комментарии, лайки, подписки)
— забыли про данные в очередях и кэше
— не протестировали на аккаунтах с реальной активностью

Итог: пользователь не мог удалить аккаунт + данные оставались в системе + нарушение GDPR.


👀 Почему так бывает:

— тестировали на "чистых" тестовых аккаунтах
— не проверили связи в БД перед реализацией
— не добавили обработку cascade delete
— пропустили проверку логов при тестировании

Проверяете логи и ошибки на бэкенде:

👍 — Да, смотрю логи и статусы ответов
❤️ — Только если UI показал ошибку
😁 — Доверяю, что бэкенд работает
🔥 — Буду тестировать на «тяжёлых» аккаунтах с данными

🐸 Библиотека тестировщика

#разбор_полетов
Please open Telegram to view this post
VIEW IN TELEGRAM
4😁4👍2🔥2🤩1