Библиотека тестировщика | QA, тестирование, quality assurance, manual testing, autotesting, ручное тестирование, автотесты
前往频道在 Telegram
Все самое полезное для тестировщика в одном канале. Наши курсы: https://clc.to/wlBkTA По рекламе: @proglib_adv Учиться у нас: https://proglib.io/w/12538d6f Для обратной связи: @proglibrary_feeedback_bot
显示更多9 104
订阅者
-624 小时
-157 天
-1830 天
帖子存档
📕 Тест на знание Git
В тестировании времени почти никогда не хватает: релиз близко, задач много, ошибок ждать не будут.
Git в таких условиях — не «инструмент разработчика», а способ работать быстрее и точнее: смотреть историю изменений, сравнивать версии, понимать, что и где сломалось.
🔗 На сколько вопросов сможете ответить вы?
🐸 Библиотека тестировщика
#стендап_qa
📌 Тренажёры для практики Git и GitHub
Подборка площадок, где можно безопасно и осмысленно прокачать Git-навыки — от первого PR до регулярной контрибуции в open source.
🟣 First Contributions
Простой и понятный вход в open source. Пошагово проводит через первый pull request без давления и токсичности.
🟣 GitHub Skills
Официальные интерактивные курсы от GitHub: Issues, Pull Requests, Actions, Pages. Всё в формате «сделал — увидел результат».
🟣 Up-for-Grabs
Каталог open source-проектов с задачами для начинающих. Удобно, если не знаете, куда идти контрибьютить.
Эти ресурсы помогают перейти от «я знаю Git в теории» к реальной работе с репозиториями, PR и ревью — спокойно и без стресса.📍 Навигация: [Вакансии] 🐸 Библиотека тестировщика #release_notes
🔍 10 эвристик юзабилити Нильсена за 14 минут
Быстрый ввод в базовые принципы UX, которые полезны при тестировании интерфейсов.
✍🏼 Эвристики помогают замечать типовые UX-проблемы, формулировать баги без субъективных оценок и структурировать UI-чек-листы.
Хорошая отправная точка для UI- и exploratory-тестирования.🔗 Смотреть по ссылке 📍 Навигация: [Вакансии] 🐸 Библиотека тестировщика #карьерный_трек
хоба как могу 😬
🐸 Библиотека тестировщика
#прод_в_пятницу
🧪 Как правильно составлять чек-листы
🔢 Checklist vs Test Case
🔢 Test Checklist: как писать и применять
🔢 5 правил создания хорошего чек-листа
🔢 4 вопроса, которые важно задать перед созданием чек-листа
🔢 10 ошибок в работе Manual QA, которые могут стоить времени и денег
🔢 Чек-лист начинающего тестировщика
📍 Навигация: [Вакансии]
🐸 Библиотека тестировщика
#release_notes
«Этот манёвр будет стоить нам 51 год...»
QA-инженер без знаний Python и алгоритмов рискует остаться на ручном тестировании навсегда. Не ждите, пока автоматизация закроет двери: время прокачиваться в AI и разработке.
Забирайте обучение в Proglib Academy по старой цене до понедельника:
— Разработка ИИ-агентов
— Математика для разработки AI-моделей
— ML для старта в Data Science
— Математика для Data Science
— Специалист по ИИ
— Алгоритмы и структуры данных
— Программирование на Python
— Основы IT для непрограммистов
— Архитектуры и шаблоны проектирования
Выбрать направление
⚠️ Цены вырастут 19 января
❓ Как в одной результирующей таблице получить среднюю зарплату работников
👇 Правильный ответ (нажми, чтобы прочитать):
Используйте агрегатную функцию AVG():
```
SELECT AVG(salary) AS avg_salary
FROM employees;```
📌 Такой запрос вернёт одну строку с общей средней зарплатой.
Если нужна средняя зарплата по отделам — добавьте группировку:
```
SELECT department, AVG(salary) AS avg_salary
FROM employees
GROUP BY department;```
— AVG() игнорирует NULL
— без GROUP BY — один результат
— с GROUP BY — несколько строк, но один результатный набор
🐸 Библиотека тестировщика
#карьерный_трек
📕 Шпаргалка: HTTP-коды ответа
100–199
Запрос принят, сервер ещё работает. Результата нет.200–299
Запрос выполнен. ⚠️ 200 OK — не гарантия корректной бизнес-логики.300–399
Перенаправление. Клиенту нужно перейти по другому адресу.400–499
Ошибка клиента. Запрос неверный или нет прав доступа. Часто: 400, 401, 403, 404, 422.500–599
Ошибка сервера. Запрос корректный, сервер не смог обработать. Часто: 500, 502, 503, 504.📍 Навигация: [Вакансии] 🐸 Библиотека тестировщика #артефакт
💬 WebSocket на пальцах
☝️ Это HTTP-polling — клиент постоянно спрашивает «есть что-то новое?». Неэффективно и медленно.
WebSocket — это телефонный звонок:
Один раз соединился → канал открыт → оба могут слать данные когда угодно → пока кто-то не отключитсяHTTP = SMS (запрос → ответ → конец) WebSocket = открытая линия связи 🔴 Где встречается: Чаты, уведомления, онлайн-игры, биржевые котировки, Google Docs Всё, где нужна мгновенная двусторонняя связь 🔤 Что тестировать:
✅ Обрыв связи — переподключается ли автоматически? ✅ Смена сети — WiFi → 4G → соединение живое? ✅ Порядок сообщений — не перепутались ли? ✅ Таймаут — долгое бездействие → отвалилось?Проверка: Chrome DevTools → Network → фильтр WS 📍 Навигация: [Вакансии] 🐸 Библиотека тестировщика #теория_на_пальцах
🍿 «Но тесты же прошли!» — история бага, который E2E не заметили
🔴 Пользователь видел:
Нажал «Оплатить» → экран мигнул → снова корзина Решил «не нажалось» → тапнул ещё раз → опять ничего🔴 Тесты видели:
✅ Кнопка найдена ✅ tap() выполнен ✅ Переход на следующий экран ✅ Test passed🔤 Реальность:
Кнопка с анимацией + медленная сеть = race condition Второй клик отменял первый API-запрос Backend возвращал 409, UI молча откатывался назад💡 Почему тесты не поймали: 1. Проверяли экран, а не результат — смена UI ≠ созданный заказ 2. Не тестировали double tap — в тестах всегда один идеальный клик 3. Не ждали завершения запроса — только waitForElement 4. Flutter-специфика — кастомные виджеты с анимацией ≠ нативные кнопки ✅ Что исправили: → Проверка через API: заказ действительно создан → Тест на double tap с задержкой 200ms → Network throttling в CI (slow 3G) → Debounce на кнопке + disabled состояние 💬 А у вас были случаи, когда тесты проходили, а баг уходил в прод? 📍 Навигация: [Вакансии] 🐸 Библиотека тестировщика #разбор_полетов
+4
🔥 Flutter + Appium: почему автотесты ломаются
Flutter всё чаще появляется в мобильных проектах — и почти всегда приносит вопросы для QA. Элементы «не находятся». XPath ломается. Inspector и реальное устройство ведут себя по-разному. Тесты зелёные, а прод нестабилен.
Проблема не в Appium и не во Flutter. Проблема — в стратегии тестирования.🔤 В карточках: — где Flutter усложняет автотесты — почему Appium не решает всё — какие приёмы реально работают — как снизить флейки и сохранить контроль 📌 Сохраните, если тестируете Flutter-приложения или работаете с E2E. 📍 Навигация: [Вакансии] 🐸 Библиотека тестировщика #тест_драйв
🎯 Готовитесь к собеседованию на Junior Manual QA?
Составили полный список ключевых вопросов, которые чаще всего встречаются на интервью: от основ тестирования и техник тест-дизайна до инструментов и личных качеств.
➡️ Используйте его, чтобы:
— повторить базовые понятия,
— потренироваться в практических задачах,
— подготовить свои примеры и истории для собеседования.
📍 Навигация: [Вакансии]
🐸 Библиотека тестировщика
#артефакт
Roadmap: от автотестов к автономным агентам
Тестирование становится умнее. ИИ-агенты способны сами писать сценарии, находить баги и предлагать варианты исправления кода.
Ваш план развития:
🔹 основы работы с
LLM и промпт-инжиниринг для QA;
🔹 создание агентов для автоматизированного поиска дефектов;
🔹 разработка мультиагентных систем для полного цикла тестирования;
🔹 внедрение ИИ в CI/CD пайплайны.
Курс «Разработка ИИ-агентов» поможет вам освоить инструменты будущего и создать реальные AI-решения.
🚀 Обновить свой стек
При покупке до 19 января — ещё два курса в подарок по акции «3 в 1»!Какой баг сложнее всего объяснить разработчику ❓
🙂 Почему QA должен уметь говорить «нет»
«Нет» в тестировании — это не вредность характера. Это про то, чтобы не брать на себя чужую ответственность.
🟡 Когда «да» создаёт проблемы:
— фичу без требований невозможно нормально проверить
— «быстро протестируй, потом доделаем» превращается в вечный костыль
— релиз без времени на тесты — это рулетка
— баг называют minor, а он на самом деле ломает половину функционала
✅ Как нормально отказать:
— «Без критериев приёмки я не пойму, что именно проверять»
— «Без логов я не смогу воспроизвести баг»
— «За это время я успею только smoke, полноценное тестирование не влезет»
📍 Навигация: [Вакансии]
🐸 Библиотека тестировщика
#карьерный_трек
🔗 Appium: полезные фишки, которые редко используют
Большинство QA используют Appium как «кликалку». А вот что реально помогает в работе:
1️⃣ Поиск элемента по картинке
Когда локаторы ломаются (canvas, карты, кастомный UI) — Appium умеет искать элемент по изображению, а не по DOM.Полезно, когда ничего другого не работает. 2️⃣ Выполнение ADB-команд прямо из теста
Из теста можно: • очистить данные приложения • включить/выключить сеть • собрать логиБез shell-скриптов и ручных шагов. 3️⃣ Менять поведение Appium во время теста
Не перезапуская сессию: • увеличить ожидания • изменить стратегию поиска • стабилизировать flaky-тестЭто спасает в CI. 4️⃣ iOS: не используйте XPath
predicate и class chain: • быстрее • стабильнее • меньше паденийXPath — почти всегда худший выбор. 5️⃣ Appium 2 — это плагины
Можно подключать только нужные возможности, а не «всё сразу». Проще поддерживать, меньше багов.📍 Навигация: [Вакансии] 🐸 Библиотека тестировщика #тест_драйв
✨ Кейс: кнопка «Сохранить» нажата, данные пропали
Система отвечает 200 OK. Пользователь уверен: всё сохранилось. Обновляет страницу — изменений нет.
Что происходит на самом деле ❓
🟡 Запрос уходит асинхронно
🟡 Пользователь сразу закрывает вкладку
🟡 fetch не дожидается ответа
🟡 Сервер не успевает обработать данные
Happy-path:
— медленный пользователь
— стабильный интернет
— вкладка не закрывается
Реальность:
— автозакрытие
— мобильная сеть
— свайп «назад»
💡 Если действие критично — UI должен блокировать выход или явно подтверждать сохранение.
📍 Навигация: [Вакансии]
🐸 Библиотека тестировщика
#разбор_полетов
🔔 Разбираемся с вебхуками
Вебхук — это когда система сама отправляет HTTP-запрос при наступлении события. Вы не опрашиваете API постоянно, а получаете уведомление сразу.
Пользователь оплатил → платёжная система отправляет POST с `status: paid` → ваша система обновляет заказ.Что проверять:
— корректность метода и формата (POST, JSON) — обработку дублей (вебхук может прийти дважды) — идемпотентность операций — проверку подписи/токена — таймауты и логирование⚠️ Частые баги: — двойная обработка события — падение при неожиданных полях — отсутствие валидации подписи 📍 Навигация: [Вакансии] 🐸 Библиотека тестировщика #теория_на_пальцах
+4
🕵️♂️ Как тестировать приложение без кода и документации
Нет кода. Нет документации. Нет онбординга. Зато есть прод и пользователи.
🆚 Это классический кейс black-box тестирования: вы видите только поведение системы и её результат для пользователя.
Ваша задача — не «угадать, как должно быть», а восстановить логику работы через наблюдение, гипотезы и эксперименты.⏺ В карточках — практичный подход, как тестировать такие приложения системно, а не на ощупь. 📍 Навигация: [Вакансии] 🐸 Библиотека тестировщика #карьерный_трек
