Статьи

База по QA Automation

Здесь собраны материалы, которые я писал и дорабатывал годами: практические разборы, инженерные выводы и сильные технические статьи по QA Automation, Go, Python, TypeScript, API, UI, нагрузочному тестированию, AI и тестовой инфраструктуре.

Лучшие практики AQA

Моки, стабы и фейки: в чем разница и что выбрать для автотестов?

Разбираемся с терминологией Test Doubles без лишней воды. В чем реальная разница между Mock, Stub и Fake? В статье разберем классификацию на живых примерах: поднимем умный стаб-сервер на FastAPI, напишем мок-шпион для проверки сайд-эффектов и ускорим тесты с помощью фейковых БД.

мокистабыфейкиавтотесты
Go-автотесты

Retry в Go автотестах: как перестать бояться flaky-тестов

Flaky-тесты в Go — неизбежны, но наивные ретраи делают только хуже. Разбираем, почему retry — это не цикл и как правильно реализовать повторный запуск автотестов.

gogolangretryflaky tests
Командные процессы

Telegram умер. Мы нашли, чем его заменить

Созвоны ломаются, VPN отваливается, сообщения теряются. Мы просто хотели рабочий чат — и в итоге сменили мессенджер. Рассказываю, что получилось.

мессенджерыtelegramvpnкоммуникации
Автоматизация и техдолг

Почему 80% автотестов в итоге не окупаются

Про то, как автоматизация тестирования сначала даёт максимальный профит, а потом незаметно превращается в дорогой технический долг. И почему это почти всегда вопрос не инструментов, а подхода.

автоматизация тестированиятестированиетестирование поqa
AI в разработке и QA

Как бездумное использование AI убивает экспертизу и превращает разработку в vibe coding

Личные наблюдения о бездумном использовании AI: почему vibe coding не делает разработчиков сильнее, как исчезает экспертиза и где AI реально полезен, а где нет.

aiискусственный интеллектииchatgpt
Рынок QA и обучение

Не junior-стек: какие технологии на самом деле требует рынок QA (анализ 2500 вакансий)

Рынок QA давно вышел за пределы «тестирования кнопок». Анализ 2500 вакансий показывает, какие технологии сегодня считаются базовым минимумом — и почему этот минимум далеко не junior-уровня.

qaqa automationрыноктестирование
Рынок QA и обучение

Рынок QA без входа: почему junior и manual исчезают из вакансий (анализ 2500 вакансий)

Анализ 2500 QA-вакансий за год показывает, почему junior и manual-позиции почти не формируют спрос и на кого рынок QA реально ориентирован в 2026 году.

qaqa automationвакансиирынок
Go-автотесты

Axiom — тестовый фреймворк для Go, которого нам всегда не хватало

Axiom — это недостающий тестовый runtime для Go, который добавляет фикстуры, шаги, хуки, retry, плагины, метаданные и структурированное выполнение поверх стандартного testing, оставаясь полностью совместимым с ним. Минимум магии, максимум инфраструктуры.

goqaqa automationqa testing
AI в разработке и QA

Почему токсичные эксперты больше никому не нужны — и при чём тут ИИ

ИИ фактически обнулил модель «эксперта, который знает всё». Почему исчез поток джун-вопросов, куда делась токсичность и что теперь считается настоящей экспертностью — разбираю на примерах.

токсичностьэкспертностьaillm
Лучшие практики AQA

Как НЕ нужно писать автотесты на Python

Разбираем самые странные антипаттерны в автотестах на Python: от sleep(0.1) и стрелочек вниз до глобальных курсоров и "фреймворков" на 3500 строк. Почему так делать не стоит и какие есть взрослые альтернативы.

автотестытестированиеантипаттерныpython
Лучшие практики AQA

Асинхронные тесты для UI и API на Python: примеры, подводные камни и трезвый вывод

Асинхронность в тестах выглядит как способ «бесплатно» ускорить прогон: пока один тест ждёт ответа сервера, другой мог бы выполняться. Я переписал UI (Playwright) и API (HTTPX) тесты на async/await, прогнал их в CI/CD и посмотрели на результат. Спойлер: магического ускорения не произошло — разбираемся, почему так и когда асинхронность всё-таки нужна.

тестированиеpytestasyncasyncio
Архитектура и техдолг

Оверинжиниринг: простое сложным языком

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

оверинжинирингархитектурачистый кодпаттерны проектирования
Карьера и найм

Кандидат сбежал в слезах. Про накрутку опыта

У него в резюме Python, Playwright, Pytest, Jenkins, Docker, Kafka, GitHub, GitLab, и он вёл QA-гильдию в Третьем Царстве. А потом пришёл на собес — и не смог объяснить, чем отличается UI-тест от интеграционного. Мы дали задачу. Он попытался её решить. Мы все плакали. Он — тоже.

собеседованиетестированиеqapython
UI-автотесты

Тестовые идентификаторы: как и где расставлять правильно

По фактам: почему CSS и XPath — путь в ад, а test-id — спасение. В статье — реальные советы, как договориться с командой, внедрить test-id и писать автотесты, которые не разваливаются каждую пятницу.

автоматизация тестированияui-тестированиеqaqa automation
QA-процессы

Left Shift Testing: как выстроить процесс, чтобы тесты реально помогали

В статье разбираем современный подход к автоматизации тестирования — от требований до продакшена. Как писать автотесты ещё до выката фичи, запускать их в изоляции, работать в одной ветке с разработчиком и ловить баги раньше, чем они попадут на стенд. Реальные практики, понятные схемы и причины, почему "автоматизация после релиза" — путь в никуда.

тестированиеqaqa automationавтоматизация тестирования
Карьера и найм

Рабство под видом работы: как распознать неадекватную вакансию

Почему в вакансиях для джунов требуют 3 года опыта? Как неадекватные требования, массовые курсы и бюрократия убивают рынок найма? Личный опыт, наблюдения и немного сарказма о том, как не попасть в ловушку сомнительных вакансий.

собеседованиесобеседование в itсобеседование для новичкасобеседование на работу
Go-автотесты

Пишем gRPC автотесты на Go с Allure отчетом

В данной статье разберем, как писать gRPC автотесты с использованием языка Go, также сделаем Allure отчет.

тестированиеgogrpcgrpc server