codautomat.tech
Разделы
Сценарии
Средний ~90 мин Разработка

Покрыть legacy-код тестами

Добавить тесты в код, который писали без них, не сломав поведение.

Legacy без тестов страшно трогать. Сначала фиксируем текущее поведение тестами — и только потом спокойно рефакторим.

Фото: Yutaka Tsutano · BY 2.0

Перед стартом

Подготовьте 10 минут и рабочий материал

  • 01Откройте нужный инструмент и войдите в аккаунт, если он нужен.
  • 02Соберите исходные материалы: файл, заметки, ссылку или репозиторий.
  • 03Сохраните копию того, что будете менять: ИИ ускоряет работу, но проверка остаётся за вами.
~90 мин

Можно начать с ИИ-ассистентом

Скопируйте стартовый запрос

Он задаст помощнику роль проводника: без прыжков через шаги и с проверкой результата.

Помоги мне пройти сценарий «Покрыть legacy-код тестами».

Моя цель: Добавить тесты в код, который писали без них, не сломав поведение.
Инструменты: Claude Code, Codex.

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

Пройти по шагам

Делайте по одному пункту. Не переходите дальше, пока не сможете своими словами подтвердить, что результат шага получился.

  1. 1

    Выберите модуль с высокой ценой ошибки

    Начните с куска, где баг дороже всего (оплаты, расчёты). Тесты в первую очередь там, где они реально страхуют.

    Контрольная точка: шаг 1 выполнен — только теперь идите дальше.

  2. 2

    Опишите текущее поведение в кейсах

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

    Контрольная точка: шаг 2 выполнен — только теперь идите дальше.

  3. 3

    Сгенерируйте характеризующие тесты

    Зафиксируйте текущее поведение, даже если оно неидеально. Цель — поймать любое непреднамеренное изменение.

    Контрольная точка: шаг 3 выполнен — только теперь идите дальше.

  4. 4

    Зафиксируйте зелёный прогон

    Убедитесь, что тесты проходят на текущем коде. Теперь рефакторинг безопасен: красный тест сразу покажет регресс.

    Контрольная точка: шаг 4 выполнен — только теперь идите дальше.

Совет профи

Не пытайтесь покрыть всё сразу. Один критичный модуль с тестами ценнее, чем 20% покрытия по всему проекту.

Частые ошибки

  • Сразу рефакторите без тестов — ломаете поведение незаметно.
  • Пишете тесты на «как должно быть», а не «как есть» — они краснеют на старте.
  • Гонитесь за процентом покрытия вместо защиты важных мест.

Если застряли

Необязательно разбираться в одиночку

Напишите, на каком шаге остановились и что уже пробовали. Подскажем направление — без навязывания разработки. А за контекстом и примерами можно сходить в разборы.

Связанные материалы