Библиотека тестировщика | QA, тестирование, quality assurance, manual testing, autotesting, ручное тестирование, автотесты
9.11K subscribers
1.93K photos
237 videos
105 files
3.4K links
Все самое полезное для тестировщика в одном канале.

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

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

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

Для обратной связи: @proglibrary_feeedback_bot
Download Telegram
💳 Шпаргалка по командам 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
🥰53🤩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
5🔥3🥰2🤩1
📌 Postman добавил контроль синхронизации OpenAPI и коллекций

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

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

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

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

📎 Источник

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

#release_notes
Please open Telegram to view this post
VIEW IN TELEGRAM
👏4🤩2
🔍 Загрузилась ли картинка с сервера или браузер схитрил

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

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

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

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

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

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

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

#карьерный_трек
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5🤩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
👍62🤩2🥰1
Что такое порт

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

#артефакт #intern
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8🥰3🤩3👍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
6👍6😁4🔥3🤩1
Покрой тестами свои пробелы в знаниях

Ручное тестирование — это хорошо, но автоматизация и знание кода открывают совсем другие зарплатные вилки. Хватит искать баги у других, пофикси свои скиллы.

Акция 1 + 2:

Берешь один курс, получаешь три. Платишь за самый дорогой лот в корзине, два других — за счет заведения.

Мастхэв для QA:

— программирование на Python (золотой стандарт автотестов);
— основы IT (чтобы говорить с девами на одном языке).

Обеспечить 100% покрытие
До 31 декабря.
Саппорт по выбору курсов: @manager_proglib
🤩6
💦 Waterfall: вопрос, который всё ещё спрашивают

На QA-собеседованиях часто проверяют базу. Waterfall — классический пример: модель старая, но до сих пор используется в enterprise и проектах с фиксированными требованиями.

➡️ В карточках — как работает Waterfall и что в нём важно для тестировщика.

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

#карьерный_трек
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰6🤩32
Что такое IP-адрес

IP-адрес — это числовой адрес устройства в сети, по которому его можно однозначно найти.

Формат IPv4 выглядит так:


192.168.0.101


Каждое число — от 0 до 255.
Это не случайно, а результат разбиения адреса на части.

🔍 Как читать IP-адрес

На примере 192.168.0.101:
• 192 — крупная подсеть (класс сети)
• 168 — подсеть внутри неё
• 0 — конкретная локальная подсеть
• 101 — номер устройства в этой подсети

Проще:

🔤 первые числа — где сеть, последние — кто именно в этой сети.

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

— Один и тот же сервис в разных окружениях → разные IP
— Часто путают IP сервера и IP клиента
— Firewall, whitelist, API-доступы почти всегда завязаны на IP
— «У меня работает» ≠ «доступно по нужному IP»

Типичный кейс:

сервис запущен, порт открыт, но запрос идёт не в ту подсеть

📌 Запомнить просто

``` • IP — куда идёт запрос
• Порт — кому именно
• DNS — как имя превращается в IP```

Без понимания IP — отладка превращается в угадайку.

📍 Навигация: [Вакансии]

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

#теория_на_пальцах
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🥰3🤩21
🛠 Полезные фишки 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+F — поиск в Network
Ctrl+L — очистить Network


📍 Навигация: [Вакансии]

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

#тест_драйв
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🥰4🤩3
Кейс: поиск не находит товар по артикулу

Система «работает». Тесты пройдены. Но пользователь пишет: «Товар есть, а поиск его не видит».

Что происходит на самом деле

Один ввод — и вся логика рассыпается:

🟡 Пользователь копирует артикул
🟡 В начале или конце появляются пробелы
🟡 Поиск сравнивает строки напрямую
🟡 Совпадения нет → результат пустой

ABC123 ≠ ABC123


Happy-path:
— ручной ввод
— без пробелов
— результат найден

Реальность:
— копипаст
— мобильная клавиатура
— Excel / почта / PDF

💡 Поиск ломается не из-за сложной логики. Он ломается из-за одного лишнего символа. Если строка пришла от пользователя — она уже подозрительная.

🎁 Новогодняя акция: 3 курса по цене 1
🤝 Помощь с выбором курса

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

#разбор_полетов
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6🥰2🤩21
API Quick Reference cheat sheet.pdf
207.3 KB
🗂 Шпаргалка по API

Компактный справочник по всему, что нужно знать при тестировании API:

HTTP-методы и коды ответов
Заголовки и структура запросов
Инструменты тестирования (Postman, SoapUI, REST Assured, Karate)
Безопасность API (OAuth, JWT, CORS)
Мониторинг и производительность

Держите под рукой — пригодится на каждом проекте! 😍

📍 Навигация: [Вакансии]

🎁 Новогодняя акция: 3 курса по цене 1
🤝 Помощь с выбором курса

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

#артефакт
Please open Telegram to view this post
VIEW IN TELEGRAM
👏5🥰2🤩1