javascript.ninja
UA RU
Курс на русском языке
Илья Климов

Тестирование в эпоху агентов

Детерминированный контроль качества в эпоху AI-first разработки. Перестаньте ревьюить нейрослоп — стройте Quality Gates.

[Старт: 10 августа]

[ О курсе ]

5 блоков, ~25 видео
по 15 минут.

4 живые QA-сессии
в Zoom.

Только Middle+ и Senior
с коммерческим опытом.

Trap Alert

Ловушка
3-го уровня

Индустрия требует от нас ускорения в 10 раз. Вы начинаете активно использовать AI-агентов, и поначалу кажется, что вы взломали систему. Задачи закрываются быстрее, объем выдаваемого кода растет экспоненциально.

Но очень скоро наступает суровая реальность.

Вместе со скоростью генерации растет и технический долг. Бизнес-логика усложняется, AI начинает говорить что задача сделана, хотя на самом деле нет и бесконечно чинит одно, ломая другое.

В итоге вместо проектирования архитектуры вы превращаетесь в редактора: сидите и вручную вычитываете сотни строк чужеродного кода. Чем больше кода пишет нейросеть, тем больше времени вы тратите на ревью и отлов багов в продакшене. Доверие падает и к вам, и к вашему агенту.

WARNING: AI_LOOP_DETECTED
+ CodeGenerator.run()
+ reviewDiffsCount: 520
// error: non-deterministic execution
Инфраструктура сломана. Сгенерировано 1200 строк с ошибками.

Эволюция боли, или
5 уровней AI-разработки

По классификации Дэна Шапиро (от Spicy Autocomplete до Dark Factory)

01[ BASIC ]

Level 1: Coding Intern

Вы делегируете ИИ мелкую рутину — написать бойлерплейт, добавить JSDoc или базовый юнит-тест. По сути, это просто умный автокомплит. Ваша работа фундаментально не изменилась, вы всё ещё ограничены скоростью собственной печати.

02[ Где большинство сейчас ]

Level 2: Junior Developer

Вы в состоянии потока. ИИ — ваш интерактивный джуниор-напарник. Вы отдаете ему целые куски логики, пишете код в паре. Вы продуктивны как никогда. Кажется, что это и есть будущее. Но это только начало.

03[ Ловушка ]

Level 3: DeveloperTrap

ИИ генерирует значительную часть кодовой базы, а вы — ревьювер нейрослопа. 8 часов сплошного код-ревью, легендарное LGTM и вопрос «когда прод упадет ОПЯТЬ?». Здесь выгорают команды.

04[ Куда мы идем ]

Level 4: Engineering Team

AI работает автономно часами. Вы не проверяете каждый написанный им символ. Вы ставите задачу, планируете архитектуру и уходите. Вы доверяете не агенту, а внедренным вами инструментам контроля результатов его работы.

05[ Финальная цель ]

Level 5: Software Factory

Вы не смотрите код вообще. Вы управляете только целями и бизнес-логикой. Система сама определяет реализацию, пишет код, покрывает его тестами, фиксит баги и катит в продакшен.

Почему на третьем уровне всё было плохо, а на четвёртом вдруг стало хорошо?

Чтобы ИИ-агент работал автономно, ему нужны детерминированные рамки. Тесты — один из ключевых способов создания таких рамок. На 4-м уровне вы не читаете код за ИИ. Вы ставите ему задачу в виде теста, он пишет реализацию, и инфраструктура сама бьет его по рукам, если он ошибся.

[ WARNING // ILLUSION ]

Промпт-
инжиниринг —
это тупик

Иллюзия контроля. Почему промпт-инжиниринг — это тупик

Ключом к росту является осознание и принятие того факта, что LLM — это слот-машина. Не существует фразы, которая заставит ее гарантированно давать вам выигрыш. Вы пытаетесь контролировать недетерминированную систему (которой является любая LLM) такими же недетерминированными методами — текстом на естественном языке.

Вам нужно прекратить писать промпты. Вместо этого сделайте так, чтобы машина сама дергала ручку рандома, пока не выпадут заветные три вишенки. А для этого и вы, и агент должны одинаково понимать, что является «победой» в вашей задаче.

[ LLM PROMPT //
WEAK CONTROL ]

Недетерминированный промпт

Вы пишете: "Подумай шаг за шагом... Пиши без багов... Не ошибись...". Пытаясь урегулировать поведение искусственного интеллекта на естественном языке, вы получаете случайный результат генерации, зависящий от обновлений модели и случайных весов.

[ DETERMINISTIC SPEC //
HARD CONTROL ]

Жесткие рамки тестов

Вы строите строгий контракт: пишете тест (AAA-структура), который проверяет конечные инварианты поведения. Модель может перебирать любые алгоритмы и ошибаться, но сгенерированный ею код не попадет на проверку дальше, если он нарушает контракт.

STAGE 05 · QUALITY GATES

Робот проверяет робота.
Вы занимаетесь архитектурой.

Вы пишете тест – это техническое задание. Агент пишет реализацию.

Инфраструктура сама бьет его по рукам, если он ошибся.

инварианты поведения
PASS12ms
мутационный контроль · Stryker
PASS3.4s
integration · изоляция БД
PASS840ms
e2e · Playwright
PASS6.1s
агент пойман на халтуре
BLOCKED0ms
TESTS:5 PASSED
SLOP:0 SHIPPED
ВЫ:ИНЖЕНЕР, А НЕ РЕДАКТОР
[Старт курса: 10.08]

Что внутри курса

Программа спроектирована так, чтобы провести вас от базового понимания стратегии — когда, какие и сколько тестов писать — до внедрения механизмов контроля за самими тестами. Вы перейдете от “веры в кодовую базу” к системе четких метрик, определяющих надежность вашего проекта.

Разбираем базу: контракты, инварианты и метрики покрытия. Главный фокус — почему нужно тестировать поведение, а не реализацию. Если ваши тесты привязаны к деталям реализации, они станут мертвым грузом, когда ИИ-агент начнет переписывать код.

Разбираем тестовый стек (Vitest), фикстуры, параллелизацию и изоляцию тестов.

Отдельное внимание — мутационному тестированию (Stryker). Агент легко генерирует тесты, которые «зеленые», но ничего не проверяют. Stryker намеренно вносит ошибки (мутации) в ваш код. Если тесты при этом не падают — значит, они мусор. Мы учимся ловить агента на халтуре.

Учимся писать тесты так, чтобы агент понимал их однозначно. Разбираем структуру Arrange-Act-Assert, работу с зависимостями (DI) и test doubles (моки, стабы, шпионы). Вы увидите, как выглядит код, который принципиально невозможно протестировать, и почему агент генерирует именно его.

Выходим на уровень всего приложения. E2E (Playwright), управление состоянием, изоляция баз данных. Разбираем главную боль E2E — flaky-тесты (мигающие тесты) и паттерны их стабилизации. Учимся рефакторить сгенерированный ИИ код под тестируемость.

Пошаговое руководство. Как писать характеризующие тесты для незнакомого кода. Как сажать нестабильные тесты в «карантин». Полный AI-workflow: пишем тест руками → агент реализует → Stryker проверяет → уточняем тест.

Практические сессии (Zoom, 4 встречи)

На живых сессиях (каждая по 2–3 часа) мы пишем код руками. От настройки Vitest и тестирования API-сервера до E2E в Playwright и внедрения тестов в legacy-проект с помощью Claude Code.

Встраивается в график работающего инженера

Курс «Тестирование в эпоху агентов» — это практический фундамент для перехода на этот уровень. Мы по шагам разбираем, как выстроить инфраструктуру детерминированного контроля, чтобы сгенерированный код можно было безопасно пускать в продакшен. Мы строим Quality Gates.

5[ Блоков Теории ]

~25 видеолекций по 15 минут. Чистая выжимка подходов, паттернов и работы с инфраструктурой.

4[ Zoom QA-сессии ]

Встречаемся в Zoom и кодим в реальном времени. Без таймингов: сессии длятся по 2–3 часа, я сижу до последнего вопроса и разбираю ваши реальные рабочие кейсы. Вы берете подходы из лекций и сразу применяете их на своих рабочих проектах.

100%[ Практический разбор ]

Вы берете методики детерминированного контроля качества, предложенные Ильей, и сразу внедряете их на реальных рабочих legacy-проектах во время разборов.

[Старт курса: 10 августа]

Форматы участия

Один формат. Полное погружение с живой практикой на вашем рабочем проекте.

Основной формат

  • Теория: 5 блоков, ~25 видео по 15 минут
  • 4 живые сессии в Zoom (по 2–3 часа): пишем код, разбираем ваши рабочие кейсы
  • Записи всех живых сессий — доступ не сгорает
  • Видеоразборы самых сложных заданий
  • Доступ к обновлениям и новым версиям курса
$220EARLY BIRD
с 30.07 — $270

* Оплата списывается в гривне в соответствии с курсом вашего банка на день оплаты

Способ оплаты

Командный формат

Quality Gates эффективнее внедрять всей командой: один стандарт, одна инфраструктура, один язык внутри команды.

Сколько инженеров?
цена за место$220$198
скидка-10%
итого$594

* Оплата списывается в гривне в соответствии с курсом вашего банка на день оплаты

Оплата от компании: если вам нужен счет для юрлица, напишите в нашу поддержку @klymov_course

Способ оплаты

Доступы для участников соберем после оплаты

Индивидуально
с Ильей

• 3 МЕСТА

Максимальная глубина — личная работа над вашими кейсами и процессами.

  • Всё из основного формата
  • Личные созвоны с Ильей
  • До 5 индивидуальных видеоразборов ваших кейсов
  • Помощь с внедрением контроля качества в вашей команде
$1000

* Оплата списывается в гривне в соответствии с курсом вашего банка на день оплаты

Способ оплаты
roadmap

Участникам курса TypeScript (Ступень 1) — специальные условия на все следующие ступени цикла.

Roadmap. Путь к автономным системам

«Тестирование в эпоху агентов» — часть большой образовательной архитектуры, которую мы сейчас выстраиваем.

Ступень 1

TypeScript

Этот курс я провел в 2025 году. Строгая типизация — это первый уровень защиты, способ для агента максимально рано узнать о противоречиях существующей кодовой базы и его генерации.

Вы здесь
Ступень 2

Тестирование в эпоху агентов

Создание детерминированных инструментов верификации качества (Quality Gates). Прежде чем давать агентам свободу, мы учимся жестко контролировать результаты их работы и отсекать галлюцинации. Без этого шага следующие два не имеют смысла — вы просто автоматизируете хаос.

В разработке
Ступень 3

Hybrid Teams

Инфраструктура для агентских систем. Как выстроить процессы, CI/CD и архитектуру проекта так, чтобы AI-агент стал полноценным членом команды (на уровне Level 4), который работает в одном репозитории с живыми инженерами, не ломая их код.

В разработке
Ступень 4

Agent Systems

Построение тех самых автономных систем и Dark Factory (Level 5). Создание агентов под специфику вашего бизнеса, которые сами получают задачи, пишут код, проверяют его об ваши тесты и катят в продакшен.

ИНСТРУКТОР

Илья
Климов

Staff Frontend Engineer в GitLab, 22 года в индустрии, PhD в Computer Science, 12 лет преподавания.

ОБУЧЕНИЕ12 лет
ОПЫТ РАБОТЫ22 года
Илья Климов
BACKGROUND
  • Последний год я плотно занимаюсь AI-first разрабокой и интеграцией ИИ-агентов в рабочие процессы.
  • Работа в GitLab дала возможность тестировать гипотезы и прогонять через API такие объемы реального production-кода, которые в обычных условиях стоили бы десятки тысяч долларов.
  • Сжигая токены в промышленных масштабах, я ставил одну простую цель — ответить на вопрос: как я могу доверять агентам в кодовой базе, возраст которой перевалил за десяток лет и которую полностью не понимает ни один инженер?
Вы покупаете выжимку из этого опыта. Она сэкономит вам месяцы блужданий по тупиковым веткам, а вашему бизнесу — время на исправление багов в проде.

Для кого этот курс

  • Middle+ и Senior разработчики (от 6 месяцев коммерческого опыта).
  • Вы уже активно используете ИИ-ассистентов в работе и уперлись в потолок качества.
  • Устали тратить часы на ревью сгенерированного кода и починку багов, которые ИИ незаметно оставил в других частях приложения.
  • Хотите научиться управлять агентами через инженерные контракты, а не через текстовые уговоры.

Кому курс НЕ подойдет

  • Джуниорам и тем, кто ищет первую работу. Если вы не писали коммерческий код, вам будет слишком сложно. Базового синтаксиса JS здесь не будет.
  • Тем, кто ищет сборники готовых промптов. Если вы пришли за списком слов, которые заставят ChatGPT сразу писать код без ошибок — этот курс не поможет. Таких промптов не существует. Мы будем строить инфраструктуру контроля, а не подбирать заклинания.
  • Тем, у кого сейчас нет рабочего проекта. В курсе не будет искусственных домашек с абстрактными туду-листами или пет-проектами ради галочки. Все подходы из лекций вам нужно будет сразу применять на своей реальной кодовой базе.
Переход на 4-й уровень автоматизации не случится по щелчку пальцев. Потребуется время на перестройку мышления и внедрение инфраструктуры. Но как только вы построите надежные Quality Gates, ваша работа изменится навсегда: вы перестанете быть ревьюером сгенерированного кода и снова станете инженером, который управляет системами.

FAQ / Часто задаваемые вопросы

Почему курс не подходит junior-разработчикам?

Наша цель — максимальная эффективность. Это означает, что в идеале вы должны уже на практике испытать каждую из болей, о которых мы будем говорить. Путь junior-разработчика — сначала пойти и пережить эти боли самостоятельно.

Подойдет ли этот курс frontend- или backend-разработчику?

Концепции, которые мы будем рассматривать, одинаково применимы и на фронтенде, и на бэкенде. Мы будем делать акценты на специфике тестирования в браузере и на сервере, однако сознательно не разделяем курс на два: в эпоху ИИ понимать «другую сторону» разработки важно, даже если вы не пишете там код.

Мой основной язык — Python/C#/Java. Подойдет ли мне курс?

Основной язык программирования в курсе — JavaScript/TypeScript, поэтому крайне желательно знакомство с ним как минимум на уровне «свободного чтения». Базовые концепции тестирования и работы с агентами не зависят от языка программирования, однако около 20% материала будет специфично именно для JS-экосистемы.

Сколько времени в неделю потребует обучение?

Теория разбита на видео по 15 минут без воды — их можно смотреть за завтраком или между митингами. Основное время потребует практика: внедрение подходов на вашем рабочем проекте и участие в live-сессиях (они длятся по 2–3 часа). В среднем закладывайте 4–6 часов в неделю.

Будут ли на курсе домашние задания?

Каждый модуль заканчивается рекомендациями о том, как именно применить эти подходы на вашем рабочем проекте (причем для проектов разных уровней — от стадии «у нас вообще нет тестов» до кровавого энтерпрайза). На live-сессиях я буду готов в полном объеме разбирать проблемы, с которыми вы столкнулись при внедрении этих задач. Но «домашней работы» в чистом виде — а главное, с готовыми эталонными ответами — на курсе нет.

Как проходят live QA-сессии?

Мы созваниваемся в Zoom, и я сижу «до последнего клиента». Разбираем ваш код, ваши проблемы с внедрением и конкретные кейсы. Обычно это занимает от 2 до 4 часов плотной работы.

Что делать, если я не могу прийти на онлайн-сессию? Будет ли доступ к записям?

Да, все лекции и записи живых сессий будут доступны на платформе, и я не забираю к ним доступ через месяц после окончания курса. Если вы пропустили эфир — вы всегда можете посмотреть его в записи, а свой вопрос задать асинхронно в закрытом чате.

На каком языке будут лекции и живые сессии?

Обучение (видео, эфиры и коммуникация в чате) проходит на русском языке. Среди моих студентов огромная доля инженеров-экспатов, разбросанных по всему миру, поэтому это самый универсальный язык коммуникации внутри комьюнити.

Как работает политика возврата денег (money-back)?

Я использую политику безусловного возврата в течение первых двух недель. Если в процессе вы поймете, что курс не решает ваших задач, он слишком сложный, слишком простой или вам просто не нравится моя подача — вы пишете в поддержку, и мы возвращаем полную сумму без бюрократии и споров.

Перестаньте
ревьюить нейрослоп.
Начните
строить Quality Gates.

Переход на 4-й уровень автоматизации начинается с детерминированного контроля качества. Займите место в потоке «Тестирование в эпоху агентов».

Безусловный возврат в течение 14 дней.