Генерация автотестов и локаторов нейросетью на legacy-проекте: практический опыт

В предыдущей статье автор выяснил: без README с описанием архитектуры тестового фреймворка генерация автотестов на большом legacy-проекте превращается в бесконечный цикл ревью и правок. В новой статье она разбирает, как именно генерировала автотесты и локаторы, сколько времени это заняло, где модель всё равно ошибалась и стоит ли овчинка выделки.

AI-обработка оригинала Habr AI; редакция Hamidun News
Генерация автотестов и локаторов нейросетью на legacy-проекте: практический опыт
Источник: Habr AI. Коллаж: Hamidun News.
Слушать статью
Паспорт материала и цифры
ПараметрДанные
ПервоисточникHabr AI ↗
Главный редактор
Ключевой факт #1Формат — вторая статья серии о генерации автотестов и локаторов с ИИ
Ключевой факт #2Условие из первой статьи — README с описанием архитектуры фреймворка обязателен для legacy-проекта
Ключевой факт #3Фокус новой статьи — конкретный процесс, затраченное время и типичные ошибки модели

Автор продолжает практическую серию об автогенерации тестов: в новой статье она разбирает, как именно генерировала автотесты и локаторы для большого legacy-проекта, сколько на это ушло времени, где модель ошибалась и стоило ли оно того.

Что показала предыдущая часть серии

В прошлой статье того же автора уже был установлен ключевой вывод: без README с описанием архитектуры тестового фреймворка генерация автотестов на большом legacy-проекте превращается в бесконечный цикл ревью и правок. Модель без контекста об устройстве фреймворка — какие базовые классы использовать, как организованы локаторы, какие соглашения приняты в проекте — раз за разом предлагает код, который приходится переписывать вручную, вместо того чтобы сразу получить рабочий результат.

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

Где обычно спотыкается генерация локаторов

Локаторы — это, пожалуй, самое уязвимое место автогенерации UI-тестов: они завязаны на конкретную разметку страницы, которая в legacy-проектах часто нестабильна, непоследовательна и не документирована. Модель, генерирующая локаторы без глубокого понимания реальной структуры DOM конкретного экрана, рискует предложить хрупкие селекторы — те, что легко ломаются при малейшем изменении вёрстки, или дублируют уже существующие в проекте локаторы вместо переиспользования готовых.

Именно поэтому автор в новой статье фокусируется на трёх практических вопросах: сколько реально времени экономит такой подход по сравнению с ручным написанием, в каких сценариях модель продолжает ошибаться даже при наличии README с архитектурой, и оправдывает ли себя это в масштабе большого legacy-проекта, где цена ошибки в тестах — ложные срабатывания CI и потерянное время команды на разбор.

  • Формат — вторая статья серии о генерации автотестов и локаторов с ИИ
  • Условие из первой статьи — README с описанием архитектуры фреймворка обязателен для legacy-проекта
  • Фокус новой статьи — конкретный процесс, затраченное время и типичные ошибки модели
  • Объект тестирования — большой legacy-проект

Что это значит

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

Вопросы и ответы по материалу

Что известно по теме: что показала предыдущая часть серии?

В прошлой статье того же автора уже был установлен ключевой вывод: без README с описанием архитектуры тестового фреймворка генерация автотестов на большом legacy-проекте превращается в бесконечный цикл ревью и правок. Модель без контекста об устройстве фреймворка — какие базовые классы использовать, как организованы локаторы, какие соглашения приняты в проекте — раз за разом предлагает код, который приходится переписывать вручную, вместо того чтобы сразу получить рабочий результат. Этот вывод задаёт рамку для нового материала: если базовое условие — описание архитектуры — в

Что известно по теме: где обычно спотыкается генерация локаторов?

Локаторы — это, пожалуй, самое уязвимое место автогенерации UI-тестов: они завязаны на конкретную разметку страницы, которая в legacy-проектах часто нестабильна, непоследовательна и не документирована. Модель, генерирующая локаторы без глубокого понимания реальной структуры DOM конкретного экрана, рискует предложить хрупкие селекторы — те, что легко ломаются при малейшем изменении вёрстки, или дублируют уже существующие в проекте локаторы вместо переиспользования готовых. Именно поэтому автор в новой статье фокусируется на трёх практических вопросах: сколько реально времени

Что известно по теме: что это значит?

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

ЖХ
Жемал Хамидун — CPO Alpina Digital, продакт-менеджер AlpinaGPT. Делает AI-продукты с 2019 года. Hamidun News — pet project, который вырос в production-агрегатор с 6000+ читателей.
✦ Закрытый клуб практиков · Vibe Club

Внедряйте ИИ быстрее рынка вместе с инженерами и фаундерами

Внутри Vibe Club (hamidun.com/club): еженедельные живые мастермайнды и разборы архитектуры с Жемалом Хамидуном, закрытый Tech Radar, LMS и обновляемая база из 370+ боевых скиллов.

Вступить в Vibe Club →Тест-драйв Академии (72ч)
Что вы думаете?
Загружаем комментарии…