Библиотека тестировщика | QA, тестирование, quality assurance, manual testing, autotesting, ручное тестирование, автотесты
Відкрити в Telegram
Все самое полезное для тестировщика в одном канале. Наши курсы: https://clc.to/wlBkTA По рекламе: @proglib_adv Учиться у нас: https://proglib.io/w/12538d6f Для обратной связи: @proglibrary_feeedback_bot
Показати більше9 111
Підписники
-324 години
-107 днів
-1330 день
Архів дописів
✅ Правильный ответ: запрос упадёт с ошибкой
GROUP BY группирует строки, но не определяет, какое значение брать для остальных колонок.
🈂️ Пример:
SELECT user_id, status
FROM orders
GROUP BY user_id;
если у пользователя несколько status —
СУБД не понимает, какой именно вернуть
💡 Поэтому правило:
— либо колонка в GROUP BY
— либо обёрнута в агрегат (MAX, MIN, COUNT и т.д.)
📌 Что происходит в разных СУБД:
— PostgreSQL / Oracle → сразу ошибка
— MySQL (без strict mode) → запрос выполнится
Но вернётся случайное значение из группы.
👍 — знал/а
🔥 — стало понятнее
📍 Навигация: [Вакансии]
🐸 Библиотека тестировщика
#cтендап_qa
🤔 Разрабатываете ИИ-агентов, но всё ещё не уверены в их стабильности и прогнозируемости?
Мы поговорили с десятками разработчиков ИИ-агентов и сделали отдельный курс по AgentOps.
🧠 На нём вы узнаете:
– как оптимизировать траты на токены;
– как на практике оценить качество работы агента;
– как «докручивать» RAG-системы без потери качества;
– как обеспечить устойчивость агента к сбоям внешних сервисов без падения всей системы и про многое-многое другое.
📅 Старт: 19 мая.
👥 Спикеры — практики с опытом в AI и Data Science в крупных IT-компаниях, таких как Яндекс, Huawei, МТС и др.
Длительность: 6-12 недель в зависимости от тарифа.
🔗 Программа курса и другие подробности
📌 Полезные шпаргалки по JSON
JSON — незаменимый инструмент в работе с данными, API и тестированием.
Мы собрали ключевые шпаргалки: основы синтаксиса, примеры запросов и ответов, советы по отладке и работе с JSON-схемами 🔜
📍 Навигация: [Вакансии]
🐸 Библиотека тестировщика
#артефакт
🔥 Где начинающему QA взять реальную практику
Частая ситуация: прошли курсы, посмотрели видео, теорию понимаете, но на практике — непонятно, с чего начать. Именно из-за этого на собеседованиях возникает ступор.
📌 Ниже — бесплатные тренажёры, которые закрывают базовые навыки:
➖ Тестовый интернет-магазин
Максимально приближено к реальному проекту: заходите и просто ищете баги.
➖ DevTools — must-have для собесов
Прокачаете:
— Network (запросы)
— Elements (DOM)
— cookies / кэш
Это один из самых частых практических блоков на интервью 💡
➖ JSON тренажёр
— разбор структуры JSON
— JSONPath
— работа с API
➖ JWT тренажёр
— как работает авторизация
— access / refresh токены
➖ Упражнения по SQL
Учитесь:
— делать выборки
— проверять данные
— понимать, что происходит в БД
📍 Навигация: [Вакансии]
🐸 Библиотека тестировщика
#карьерный_трек
📌 Шпаргалка от JOIN до GROUP BY
Внутри — весь базовый цикл:
— JOIN’ы для связей между таблицами — WHERE для фильтрации — GROUP BY и агрегаты для анализа — ORDER для сортировки💡 Полезно не только для собеса, а для реальных задач: проверка БД, поиск багов, валидация данных. 📍 Навигация: [Вакансии] 🐸 Библиотека тестировщика #артефакт
+4
💡 Тестирование не начинается с запуска тестов
Большая часть проблем появляется раньше — на уровне требований и логики.
Если подключаться поздно:
— дефекты находят уже в готовом коде — сложнее понять причину — фиксы ломают другие части системы🔜 В карточках разобрали: статика vs динамика, уровни тестирования и что реально влияет на качество. 🔗 Ссылка на статью 📍 Навигация: [Вакансии] 🐸 Библиотека тестировщика #теория_на_пальцах
🔥 Вопрос с собеседования на Middle
Что произойдёт, если приложение в Docker пишет данные в файловую систему контейнера без использования volume?
👇 Правильный ответ (нажми, чтобы прочитать):
Данные не гарантированы — они исчезнут при пересоздании контейнера.
🔴 Почему это критично:
— контейнеры эфемерны → удаление/пересоздание = потеря данных
— данные живут внутри слоя контейнера, а не отдельно
— при деплое (redeploy) состояние обнуляется
— масштабирование (несколько контейнеров) ломает консистентность
🔴 Где чаще всего стреляют:
— базы данных внутри контейнера
— загруженные файлы пользователей
— кэш/временные файлы, которые внезапно нужны
👍 — знал/а
🔥 — стало понятнее
💼 Щелкаешь такие задачи как орешки? Найди проект с достойной зарплатой тут
🐸 Библиотека тестировщика
#карьерный_трек #middle
💡 Chrome DevTools умеет точечно тормозить сеть
Раньше замедление применялось ко всей странице сразу, теперь можно ограничить скорость только для конкретных запросов.
Что это дает на практике:
— проверка поведения при медленных API — тест загрузки тяжёлых ресурсов (картинки, скрипты) — анализ edge-кейсов без влияния на всю страницу🔜 Удобно ловить ситуации, где ломается не всё приложение, а отдельные части. Например: медленный API → UI зависает или показывает некорректные данные 📍 Навигация: [Вакансии] 🐸 Библиотека тестировщика #тест_драйв
🤔 Что такое матрица трассируемости
Вы протестировали фичу, тесты есть, но вопрос остаётся: всё ли покрыто? RTM (Requirements Traceability Matrix) связывает: требование, тест, баг и даёт полную картину покрытия.
📌 Пример:
Есть требование: пользователь может войти по email и паролю ✅ RTM показывает: — какие тесты это проверяют — есть ли пробелы — какие баги уже найдены ❗️ Если тестов нет — требование не покрыто.🔴 Почему это важно: — сразу видно, что пропустили — проще понять, зачем нужен каждый тест — при изменениях понятно, что проверять ⚡️ Если коротко: RTM = ответ на 3 вопроса:
— что проверили — что забыли — почему это тестируем🔗 Читать подробнее 📍 Навигация: [Вакансии] 🐸 Библиотека тестировщика #теория_на_пальцах
Что произойдёт, если в тесте замокать модуль после его импорта ❓
📎 Vitest: как правильно мокать в тестах
В шпаргалке:
— как мокать функции и модули — как работать с таймерами и датой — как подменять API и ловить ошибки сети — как изолировать глобальные переменныеСохраняйте — база для любых автотестов ⚡️ 📍 Навигация: [Вакансии] 🐸 Библиотека тестировщика #артефакт
🚨 Когда один чат превращается в десятки
Разобрали баг в Le Chat by Mistral AI — и он бьёт в самую основу продукта:
Пишешь сообщение → отвечаешь → продолжаешь диалог ➡️ и каждое сообщение сохраняется как отдельный чатЧто происходит: 🔵 Cистема не сохраняет контекст диалога. Вместо одной сессии создаётся новая на каждый запрос. Почему это критично: — ломается логика чата (нет связности) — история становится бесполезной — пользователь теряет контекст — AI не может нормально продолжать диалог ⚠️ Ошибка в управлении состоянием (chat/session), нет проверки, что сообщение относится к текущему диалогу. 👍 — заметили бы 🔥 — полезный кейс 🔗 Источник 📍 Навигация: [Вакансии] 🐸 Библиотека тестировщика #разбор_полетов
❓ Spiral — почему сначала думают о рисках
Перед тем как писать код команда задаёт вопрос: что может пойти не так и только потом начинает разработку.
В чём суть:
🔜 Разработка идет циклами, но каждый цикл начинается с анализа рисков. Не просто «сделать фичу», а сначала понять, где она сломается.
📌 Пример:
делают оплату сразу разбирают риски: — что если платёж прервётся — что если запрос повторится — что если внешний сервис не ответит дальше: — делают прототип — проверяют критичные сценарии — добавляют защиту (идемпотентность, ретраи, ошибки) Только после этого идут в полноценную разработку ❗️🔴 Если так не делать: — критичные сценарии остаются непроверенными — баги всплывают в самых чувствительных местах — исправления становятся дорогими 👍 — знал/а 🔥 — стало понятнее 📍 Навигация: [Вакансии] 🐸 Библиотека тестировщика #теория_на_пальцах
🔥 Топ-вакансий недели для тестировщиков
Senior AQA Engineer (AI-агенты, Python) — от 250 000 ₽, удаленно
QA Engineer (Manual) — 80 000 - 100 000 ₽, офис (Краснодар)
Fullstack QA Engineer (TypeScript) — от 230 000 ₽, гибрид (Санкт-Петербург)
➡️ Больше офферов в канале: @testerrjob
🐸 Библиотека тестировщика
🔍 E2E-тесты, которым можно доверять
В статье разбирают Playwright — фреймворк, который решает главную проблему E2E: нестабильность тестов из-за таймингов и состояния.
➡️ Что внутри:
— автоматические ожидания вместо ручных wait — изоляция тестов — локаторы, устойчивые к изменениям UI — параллельный запуск без боли — удобный дебаг (trace, скриншоты, видео)🔗 Читать подробнее 📍 Навигация: [Вакансии] 🐸 Библиотека тестировщика #тест_драйв
💳 Процесс тестирования — шпаргалка QA
Тестирование — это система действий, которая идёт вместе с разработкой.
Сохраняйте, чтобы не путаться ✔️
1️⃣ Планирование
что тестируем и зачем🔜 определяются: — стратегия — риски — приоритеты — критерии входа/выхода 2️⃣ Мониторинг и контроль
что происходит прямо сейчас🔜 отслеживаем: — прогресс — покрытие критичных сценариев — отклонения от плана 3️⃣ Анализ
что вообще нужно проверять🔜 разбираем требования и задаём вопросы: — а если ошибка? — а если сервис недоступен? — а если пользователь делает не так? 4️⃣ Тест-дизайн
как именно будем проверять🔜 превращаем идеи в сценарии: — граничные значения — классы эквивалентности — комбинации условий 5️⃣ Реализация тестов
чем будем проверять🔜 готовим: — тест-кейсы — тестовые данные — автотесты 6️⃣ Выполнение
что реально происходит при проверке🔜 запускаем тесты и сравниваем результат — фиксируем баги — проверяем ожидания 7️⃣ Завершение
что мы поняли🔜 анализируем: — что нашли — что пропустили — где были узкие места 👍 — сохранил/а 📍 Навигация: [Вакансии] 🐸 Библиотека тестировщика #артефакт
❓ Iterative — почему баги не копятся месяцами
Функциональность разрабатывают поэтапно, и QA проверяет каждую часть сразу после реализации, поэтому проблемы выявляются по ходу разработки, а не на финальном этапе.
📌 Пример:
делают интернет-магазин 6️⃣ итерация — каталог товаров QA замечает: фильтр по цене выдаёт неверные значения 🔜 исправляют до перехода дальше 2️⃣ итерация — корзина QA находит: товар можно добавить с отрицательным количеством 🔜 фикс до следующего шага 3️⃣ итерация — оплата логика уже строится на исправленных данных 🔜 старые баги не тянут за собой новые❗️ Если так не делать: — проблемы обнаруживаются слишком поздно — становится сложнее определить источник ошибки — исправления затрагивают уже готовые части системы — время на стабилизацию перед релизом существенно увеличивается 🔗 в итоге команда тратит больше времени на разбор последствий, чем на развитие продукта 🔗 📍 Навигация: [Вакансии] 🐸 Библиотека тестировщика #теория_на_пальцах
