🐞 Что такое регрессия и почему она неизбежна
Когда код меняется, ломается не то, что правили, а то, что зависело от этого куска. Поэтому задача тестировщика — не «поймать ошибку», а предсказать, что именно сдвинется после правки.
Пример: поправил авторизацию → перестала работать корзина. Связь неочевидна, но она есть.
🔤 Автотесты не спасают от регрессии — они лишь показывают, где она случилась. Предотвращает регрессию только понимание архитектуры.
📎 Видео для закрепления темы
🐸 Библиотека тестировщика
#теория_на_пальцах
Когда код меняется, ломается не то, что правили, а то, что зависело от этого куска. Поэтому задача тестировщика — не «поймать ошибку», а предсказать, что именно сдвинется после правки.
Пример: поправил авторизацию → перестала работать корзина. Связь неочевидна, но она есть.
#теория_на_пальцах
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6🤩2🌚1
20 октября 2025 года в регионе us-east-1 у Amazon Web Services произошёл каскадный сбой. Не работали DynamoDB, Lambda, EC2, API Gateway — тысячи приложений по всему миру встали.
Баг в системе, управляющей DNS-адресами DynamoDB, нарушил резолвинг. Сервисы не могли «достучаться» до нужных эндпоинтов и начинали бесконечно повторять запросы.
Эти массовые повторы создали нагрузочную волну, которая добила инфраструктуру. Пока Amazon восстанавливал DNS и чистил кэши, бизнесы теряли доступ к API и базам.
#разбор_полетов
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🥰3🤩2
Когда автотестов становится сотни, даже быстрый раннер не спасает. Но можно не ждать окончания каждого прогона — просто запустить несколько копий приложения и разделить нагрузку.
docker-compose up --scale app=5 -d
Команда запускает 5 независимых контейнеров одного сервиса. Каждый получит свой порт, а тесты можно распределить между ними.
services:
app:
image: myapp:latest
ports:
- "8080"
depends_on:
- db
db:
image: postgres:15
— Поднимите несколько инстансов через
--scale— Настройте раннер (например, pytest-xdist или robot --processes 5) для распределения
— Тесты стартуют параллельно → CI проходит в разы быстрее
🔥 Совет:
Добавьте --remove-orphans при рестарте, чтобы старые контейнеры не мешали.
#тест_драйв
Please open Telegram to view this post
VIEW IN TELEGRAM
🤩4❤2🥰2
Cheat_sheet_функционального_тестирования.png
1.1 MB
Универсальная шпаргалка для тестировщиков — коротко обо всём, что важно проверить в любой системе.
— проверки тестового покрытия
— вычитки ТЗ
— быстрого старта на новом проекте
#артефакт
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥9🤩2👍1
Кажется, что это мелочь. А на деле — один из самых холиварных вопросов в QA-командах.
— «Без скрина это не баг, а болтовня»
— Скрин помогает разработчику увидеть суть сразу
— «Один скрин = минус сто слов в steps to reproduce»
— Если баг стабильно воспроизводится — скрин не нужен
— Делать, обрезать, грузить — трата времени
— Разработчик всё равно смотрит код, а не картинку
👍 — Скрин в каждом баге обязателен
❤️ — Только если это визуальный баг
🔥 — Разрабы сами разберутся
#стендап_qa
Please open Telegram to view this post
VIEW IN TELEGRAM
👍28❤9🔥1🥰1🤩1
Кандидат с опытом 3+ лет отвечает на вопросы — от SQL и REST до CI/CD и тест-кейсов.
— Как кандидаты рассказывают про опыт и проекты (и где чаще всего «плывут»)
— Разбор API и статусов ответов: где путаются даже мидлы
— Практические кейсы: тестирование кнопки «Сбросить», работа с базой данных, проверка запросов
#карьерный_трек
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰4🤩4
Большинство используют его только для просмотра трафика. Максимум — подменяют ответы через AutoResponder.
Если было полезно, ставь
#тест_драйв
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤9🤩5🔥3
Кейс из релиза мобильного приложения для e-commerce:
После обновления каталога пользователи Android начали жаловаться:
«Приложение зависает при открытии категории», «На главной — бесконечная загрузка».
На iOS всё работало идеально, а в тестировании баг не воспроизводился вообще.
Разработчики искали проблему в коде приложения — полдня впустую. Пока кто-то не догадался посмотреть сырой ответ API на проде.
И вот он, виновник торжества: лишняя запятая в JSON.
{
"products": [
{"id": 1, "name": "Product 1"},
{"id": 2, "name": "Product 2"},
]
}
iOS-парсер закрыл глаза на ошибку. Android строго следовал спецификации и выбрасывал exception. UI зависал, показывая бесконечный лоадер.
— QA использовали моки с валидным JSON
— Тестовое API всегда отдавало корректные данные
— Нагрузочные тесты не проверяли валидность формата
А вы тестируете на «грязных» данных с прода
👍 — Да, используем копии продовых данных
❤️ — Только моки и тестовые данные
🤩 — Узнаем о проблеме от пользователей
#разбор_полетов
Please open Telegram to view this post
VIEW IN TELEGRAM
🤩9👍8❤4🥰1
Тест упал. Лог:
AssertionError: expected true, got false
Спасибо, кэп. Но почему он упал?
Test Observability — это понимание контекста падения, не открывая код.
Тест падает раз в 10 запусков. Флакирует? Race condition? База тормозит?
— Перезапускаешь 10 раз
— Гуглишь 2 часа
— Понимаешь: база была перегружена
— Трейсы запросов
— Метрики производительности
— Снимки состояния системы
— Корреляцию с деплоями
Инструменты: Allure TestOps, ReportPortal, Grafana + Loki
#теория_на_пальца
Please open Telegram to view this post
VIEW IN TELEGRAM
🤩5🥰3
Git-Cheat-Sheet.jpg
223 KB
Все ключевые команды под рукой:
— инициализация, коммиты, ветки и слияния,
— push/pull и обновление проектов,
— сравнение версий и откат изменений.
Полезно для тестировщиков, работающих с автотестами и CI/CD.
#артефакт
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5🥰2🤩2
95% тестировщиков говорят, что используют best practices.
95% тестировщиков на самом деле копипастят из прода или пишут "test123".
Время честности: как работаете вы?
#стендап_qa
Please open Telegram to view this post
VIEW IN TELEGRAM
🤩5🔥3❤2
Откуда берете тестовые данные ❓
Anonymous Poll
31%
Генерирую синтетические данные
13%
Копирую замаскированные данные с прода
16%
Использую фикстуры и моки
37%
Ручной ввод базовых тест-кейсов
53%
Комбинация разных подходов
🤩5👍1🤔1
🎁 И мозг прокачать, и макбук утащить!
Proglib.academy разыгрывает MacBook Pro 14 (M3 Pro, 36 GB, 1 TB SSD) 💻
Условия:
1️⃣ Покупаешь любой курс Proglib до 15 ноября.
2️⃣ Проходишь минимум 2 учебные недели (можно осилить за два вечера).
3️⃣ Пишешь куратору в чат своего курса: #розыгрыш.
Что за курсы?
— Математика для Data Science (6 месяцев боли и просветления).
— Основы Python, ML, алгоритмы, AI-агенты и даже курс для тех, кто в IT, но не кодит.
👉 Участвовать в розыгрыше
Proglib.academy разыгрывает MacBook Pro 14 (M3 Pro, 36 GB, 1 TB SSD) 💻
Условия:
1️⃣ Покупаешь любой курс Proglib до 15 ноября.
2️⃣ Проходишь минимум 2 учебные недели (можно осилить за два вечера).
3️⃣ Пишешь куратору в чат своего курса: #розыгрыш.
Что за курсы?
— Математика для Data Science (6 месяцев боли и просветления).
— Основы Python, ML, алгоритмы, AI-агенты и даже курс для тех, кто в IT, но не кодит.
👉 Участвовать в розыгрыше
🥰4🤩2
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8🤩4😁2