Библиотека тестировщика | 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 день
Архив постов
🆖 Шпаргалка от Gitlab
Что внутри:
— Основные команды
— Коммиты, ветки, история
— Полезное для QA: проверка изменений, сравнение веток, воспроизведение багов
Доступны два варианта — на русском и английском.
— Скидка 40% на все курсы Академии
— Розыгрыш Apple MacBook
— Бесплатный тест на знание математики
🐸 Библиотека тестировщика
#артефакт
🤫 JOIN на пальцах: как быстро в них не запутаться
Когда данные раскиданы по разным таблицам, JOIN помогает собрать нужную картину. Главное — понимать какие строки остаются в результате, и картинка ниже это как раз показывает.
Коротко по сути:
🔵 INNER JOIN — только совпавшие строки.
🔵 LEFT JOIN — вся левая таблица + совпадения справа.
🔵 RIGHT JOIN — вся правая таблица + совпадения слева.
🔵 FULL OUTER JOIN — все строки из обеих таблиц, независимо от совпадений.
А варианты с NULL — это просто та же логика, но с акцентом на то, где данных нет.
Как запомнить одной фразой:
• INNER — пересечение • LEFT — левое всё, правое по совпадению • RIGHT — правое всё, левое по совпадению • FULL — берём всё💡 JOIN — это про выбор того, что оставить, а не про «сложные запросы». 🐸 Библиотека тестировщика #теория_на_пальцах
🥺 Баг воспроизводится только у вас — куда идёте за помощью?
Иногда кажется, что вселенная издевается: у всех зелёное, а у вас всё падает. CI красный без причины. Новая фича — сплошные edge cases.
Куда вы идёте в такие моменты? У каждого свой «секретный набор»: статьи, тг-каналы, эксперты 👍
Делитесь:
🔍 Какие каналы/блоги про QA читаете?
🔍 Где ищете примеры тест-дизайна?
🔍 В каких сообществах получаете реально полезные советы?
🔍 Кто объясняет сложное так, что сразу понятно?
Может, ваш совет спасёт кого-то в следующий раз.
Собираем список полезных ресурсов для тестировщиков ⬇️
🐸 Библиотека тестировщика
#стендап_qa
🔥 На рынке сейчас математика — снова король: AI растёт быстрее, чем вузы успевают обновлять программы. Мы же перестраиваем курс под индустрию мгновенно.
Хочешь наконец разобраться в математике для DS, а не гуглить «что такое градиент» перед собесом?
Новый курс «Математика для разработки AI-моделей» — это 8 недель плотной подготовки, свежая программа и только актуальные темы, которые реально нужны в ML.
Что в курсе:
→ линал, производные, градиенты, вероятности, статистика;
→ практика на Python и 3 большие ДЗ;
→ живые вебинары + разбор ваших вопросов;
→ финальный мини-проект, который можно положить в портфолио;
→ доступ к материалам и чат с экспертами.
Для старта нужны только школьная математика и базовый Python.
🎁 Бонусы ноября:
— скидка 40% до 30 ноября;
— «Базовая математика» в подарок при оплате;
→ бесплатный тест уровня математики.
👉 Записывайся на курс
📎 cURL для тестировщиков: работа с куками и авторизацией
В прошлый раз разобрали базовые приёмы: форматирование JSON, отправку файлов, отслеживание редиректов, замер времени ответа и поиск флаков.
Сегодня — про авторизацию и куки, без которых не протестировать ни один нормальный API.
🥇 Сохранить куки и переиспользовать
# Логинимся и сохраняем куки
curl -c cookies.txt -X POST -d "user=admin&pass=secret" https://api/login
# Используем куки в следующих запросах
curl -b cookies.txt https://api/profile
➡️ Полезные трюки:
# Посмотреть куки
cat cookies.txt
# Обновить куки (читать и писать одновременно)
curl -b cookies.txt -c cookies.txt https://api/refresh
# Проверить, что куки отправляются
curl -v -b cookies.txt https://api/test 2>&1 | grep Cookie
➡️ Быстрый тест авторизации:
# 1. Логин
curl -c cookies.txt -X POST -d '{"user":"test"}' https://api/login
# 2. Запрос с авторизацией (должен вернуть 200)
curl -b cookies.txt -s -o /dev/null -w "%{http_code}\n" https://api/profile
# 3. Удалить куки и повторить (должен вернуть 401)
rm cookies.txt
curl -s -o /dev/null -w "%{http_code}\n" https://api/profile
🔹 Основы IT для непрограммистов
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
🐸 Библиотека тестировщика
#тест_драйв🧪 Шпаргалка: лучшие практики тест-кейсов
Краткая подборка правил, которые помогают писать чёткие, понятные и рабочие тест-кейсы. Подойдёт как быстрый чек-лист перед оформлением или ревью.
🐸 Библиотека тестировщика
#артефакт
🎄 Скоро Новый год, а ты всё ещё не в бигтехе?
Если твой путь лежит в ML, DS или AI, то одна вещь решает всё: математика. Без неё — хоть три проекта сделай, хоть сотню туториалов посмотри — на собесе тебя всё равно вернут на «а что такое градиент?»
🔥 Экспресс-курс «Математика для Data Science» — 8 недель, чтобы закрыть базу раз и навсегда.
Что внутри:
🔘 живые вебинары, где можно задавать вопросы экспертам
🔘 записи лекций + доступ к материалам
🔘 практические задания на Python и финальный мини-проект с фидбеком
🔘 программа обновлена в ноябре 2025
🔘 2 месяца только нужного — без воды
🔘 достаточно школьной математики и базового Python
🎁 Бонусы ноября:
→ 40% скидка до 30 ноября
→ при оплате до конца месяца — курс «Базовая математика» в подарок
→ бесплатный тест, чтобы узнать свой уровень математики
👉 Хочу стартовать
🤐 Нашёл баг в своём коде
Кейс:
Вы автоматизировали тесты. Через месяц обнаружили, что из-за вашей ошибки 30% автотестов не выполняются корректно — но все показывали "passed". Возможно, из-за этого пропустили баги в production.
❓ Что вы делаете:
👍 — Сразу сообщаю команде и фикшу публично
🤩 — Тихо чиню и надеюсь, никто не заметил
🥰 — Сообщаю только тимлиду, решаем вдвоём
❤️ — Анализирую impact, потом поднимаю вопрос
🐸 Библиотека тестировщика
#стендап_qa
🎯 5 навыков, за которые борются работодатели
Selenium знают все. А вот эти скиллы выделяют вас на фоне сотни резюме 🔜
🟡 Продуктовое мышление
Не просто находить баги, а понимать: какие критичны для бизнеса, а какие можно отложить. Видеть продукт глазами пользователя, а не через призму тест-кейсов.
🟡 Умение задавать правильные вопросы
«А что будет, если пользователь…?» вместо «Где требования?». Способность выявлять неочевидные риски до того, как они станут проблемой в проде.
🟡 Навык аргументации
Объяснить разработчику, почему это критичный баг. Доказать PM, почему нужно больше времени на тестирование. Защитить качество без скандалов и конфликтов.
🟡 Адаптивность
Новый проект, новый стек, новая команда — и вы быстро включаетесь в работу. Учитесь на ходу, не боитесь неизвестности.
🟡 Системное мышление
Видите связи между модулями. Понимаете, где изменение в одном месте сломает другое. Думаете на несколько шагов вперед.
А какой навык из списка вам дался труднее всего ❔
🐸 Библиотека тестировщика
#карьерный_трек
📎 5 топовых приёмов cURL, которые экономят нервы
🟡 Смотреть JSON красиво
curl -s https://api/test | jq .
🟡 Отправить JSON-тело из файла
curl -X POST -H "Content-Type: application/json" \
-d @body.json https://api/create
🟡 Отследить редиректы и причины 30x
curl -v -L https://api/login
🟡 Измерить время ответа API
curl -w '%{time_total}\n' -o /dev/null -s https://api/test
🟡 Повторить запрос 10 раз, чтобы поймать флаки
for i in {1..10}; do \
curl -s -o /dev/null -w "%{http_code}\n" https://api/test; \
done
🔹 Основы IT для непрограммистов
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
🐸 Библиотека тестировщика
#тест_драйв📦 Потерявшийся заказ из-за пробела в SKU
В один момент в e-commerce начали поступать жалобы:
«Заказ оформился, но в личном кабинете пусто». «Трек-номер не появляется». «Статус заказа не обновляется». Разработчики думали на очередь сообщений, курьеров, кэш… пока кто-то не посмотрел сырые события Kafka. В одном из SKU затесился пробел: "sku": "A-1001" Для фронта и бэка это был разный товар. Один микросервис обрезал пробелы, другой — нет. Третий использовал SKU как primary key и просто отбрасывал «неизвестные события».🔤 Почему не поймали: — Автотесты проверяли только happy-path — Нет валидации SKU перед сохранением — Тестовые данные были «образцово-показательные» В проде же этот SKU ввёл контент-менеджер вручную. А вы проверяете обработку «грязных» данных на вводе ❓ 👍 — Да, валидируем всё ❤️ — Частично 🤩 — Иногда лифта хватает на дебаг 🐸 Библиотека тестировщика #разбор_полетов
⭐️ Три уровня пирамиды тестирования — как они работают вместе
🏗️ Юнит-тесты (80%) — фундамент
Что проверяют: отдельные функции и Примеры: расчёт скидки, проверка email, преобразование данных. Плюсы: быстрые, дешёвые, запускаются тысячами. Минусы: не дают понимания, работает ли система целиком.🔗 Интеграционные тесты (15%) — связующий слой
Что проверяют: как части системы вз Пример: API → сервис → база → отправка email. Плюсы: находят проблемы на стыках. Минусы: медленнее и требуют больше подготовки.🎨 E2E тесты (5%) — контрольный проход
Пример: вход → корзина → оплата → чек на почту. Плюсы: уверенность, что весь бизнес-флоу живой. Минусы: дорогие, нестабильные, долго выполняются.🏠 Аналогия с безопасностью дома: 🔴 Юниты — замки на каждой комнате: локальная защита. 🔴 Интеграционные — замки и решётки на окнах: перекрывают обходные пути. 🔴 E2E — главный замок на входной двери: проверяет, что дом закрыт целиком. Можно поставить 50 навесных замков на дверь, но если окна открыты — смысла мало. Настоящая защита — это баланс всех уровней. 🐸 Библиотека тестировщика #теория_на_пальцах
⭐️ Три уровня пирамиды тестирования — как они работают вместе
🏗️ Юнит-тесты (80%) — фундамент
```
Что проверяют: отдельные функции и методы.
Примеры: расчёт скидки, проверка email, преобразование данных.
Плюсы: быстрые, дешёвые, запускаются тысячами.
Минусы: не дают понимания, работает ли система целиком.```
🔗 Интеграционные тесты (15%) — связующий слой
Что проверяют: как части системы взаимодействуют между собой.
Пример: API → сервис → база → отправка email.
Плюсы: находят проблемы на стыках.
Минусы: медленнее и требуют больше подготовки.
🎨 E2E тесты (5%) — контрольный проход
Что проверяют: поведение системы глазами реального пользователя.
Пример: вход → корзина → оплата → чек на почту.
Плюсы: уверенность, что весь бизнес-флоу живой.
Минусы: дорогие, нестабильные, долго выполняются.
🏠 Аналогия с безопасностью дома:
🔴 Юниты — замки на каждой комнате: локальная защита.
🔴 Интеграционные — замки и решётки на окнах: перекрывают обходные пути.
🔴 E2E — главный замок на входной двери: проверяет, что дом закрыт целиком.
Можно поставить 50 навесных замков на дверь, но если окна открыты — смысла мало. Настоящая защита — это баланс всех уровней.
🐸 Библиотека тестировщика
#теория_на_пальцах
+4
🤓 Как правильно говорить о зарплате на собесе
Многие теряют деньги не из-за навыков, а из-за неверных фраз на этапе обсуждения компенсации.
🈁 Собрали все самое главное в карточки:
— когда говорить о деньгах;
— как звучит сильный диапазон;
— как обосновать рост +30–50%;
— что делать с lowball.
💬 Переговоры — это норма. Уверенность в цифре = зрелость специалиста.
🐸 Библиотека тестировщика
#карьерный_трек
..и баг появляется с первого раза 🔜
Начинаю проверять:
iPhone 13 Mini — работает ✓
iPhone 12 обычный — работает ✓
Откатываю iOS до 18.0 на том же 12 Mini — баг пропал ✓
Показываю разработчику девайс и логи.
➡️ В чем была проблема:
В iOS 18.1 Apple изменили задержку обработки тапов именно на 12 Mini (оптимизация батареи). Наш дебаунс на кнопке рассчитан на старые тайминги — просто не успевает блокировать второй клик.
➡️ Что сделали:
Увеличили задержку блокировки кнопки + добавили защиту от дублей на бэкенде.
⚡️ Всегда фильтруй баг-репорты по моделям устройств и версиям ОС. Иногда проблема не в твоём коде, а в том, как конкретное железо обрабатывает события.
🐸 Библиотека тестировщика
#стендап_qa
📊 А правда, что математика в Data Science не нужна?
Нет. Без неё вы не пройдёте собес и не поймёте, почему модель ведёт себя странно. Линал, матан и вероятности — это база, без которой работа в ML превращается в угадайку.
🔥 Эту базу можно собрать за 2 месяца на экспресс-курсе «Математика для Data Science».
👩🏫 Кто ведёт курс:
→ Мария Тихонова
PhD, руководитель исследовательского направления в SberAI, доцент ВШЭ.
→ Диана Миронидис
Преподаватель ВШЭ, автор научпоп-материалов по математике для блога МТС.
→ Ксения Кондаурова
Преподаватель преподаватель T-Банка, автор курсов ЦУ и Edutoria.
→ Маргарита Бурова
Академический руководитель программ по аналитике и ML, Wildberries & Russ.
🎁 Что сейчас доступно:
→ бесплатный тест, чтобы узнать свой уровень математики;
→ скидка 40% до 30 ноября;
→ если оплатить до конца ноября, курс «Базовая математика» в подарок.
👉 Пишите менеджеру, если хотите попасть в поток
🔖 Шпаргалка по Selenium
Короткий лист с ключевыми командами: запуск драйверов, локаторы, навигация, работа с алертами, фреймами и окнами, взаимодействие с элементами и быстрые скриншоты.
Подходит и джунам, и тем, кто пишет UI-автотесты каждый день — удобный минимальный набор, который всегда помогает ускорить работу.
🐸 Библиотека тестировщика
#артефакт
🔖 Важные апдейты
🔴 Google System Updates
Добавлены улучшения сервисов: стабильность, работа WebView, восстановление данных, системные функции.
🔎 Рекомендация: протестировать авторизацию, WebView-экраны, уведомления.
🔴 AndroidX — свежие релизы
Обновлены Activity, Room и другие библиотеки.
🔎 Рекомендация: убедиться, что сборки с новыми версиями работают корректно, особенно навигация и состояние экранов.
🔴 Cypress 15.7.0
Обновление принесло важные улучшения:
— фиксы фризов и падений при большом DOM,
— поддержка Next.js 16 в компонентных тестах,
— исправления циклических объектов в cy.wrap(),
— корректные retries и stack traces.
🔎 Что проверить: стабильность автотестов, логи, работу компонентных тестов, особенно в проектах на Next.js.
🔹 Курс «Программирование на языке Python»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
🐸 Библиотека тестировщика
#тест_драйв
Что реально прокачало вас как тестировщика ❓
⚡️ Что такое Deep Links
Это ссылка, открывающая в приложении не главный экран, а конкретный раздел — например, форму ввода промокода из рассылки.
⏺ Если приложение не установлено используется Deferred Deep Link:
1. пользователь кликает по ссылке →
2. попадает в магазин →
3. устанавливает приложение →
4. при первом запуске приложение получает сохранённые на сервере параметры (промокод, реферал).
⏺ Как работает механизм:
Сервер фиксирует токен диплинка и параметры. После первого запуска приложение запрашивает эти данные и подставляет их автоматически.
⏺ Особенности платформ:
— Android: официальный Play Install Referrer API.
— iOS: обходные решения, например передача идентификатора диплинка через буфер обмена.
⚠️ Нужно проверять оба сценария: когда приложение уже установлено и когда ставится после клика. Плюс смотреть, что статусы в БД правильные (opened, installed, already_installed), и промокоды действительно применяются.
🔗 Источник
🐸 Библиотека тестировщика
#теория_на_пальцах #mobile_testing
