The Jerusalem PostEgypt approves military support for Saudi Arabia after Houthi attacks escalatePunchPolice arrest two over deaths of minors in BauchiInquirerUndas 2026: 4,790 police personnel to be deployed in SoccsksargenESPNThunder star Williams stretchered off after suffering significant leg injuryInquirer EntertainmentAndrea Brillantes bares diving mishap while shooting ‘Laya’ESPN DeportesReal Madrid, a 3 puntos del Barça: así va la tabla de LaLigaCollider'Deadpool's Director Is Presiding Over the Biggest Short Film Contest Ever [Exclusive]ZDF heuteEntdecken Sie das ZDF-NachrichtenstudioAnime News NetworkRomelia War Chronicle ‒ Episode 4BBC NewsHow a movement of students brought down Serbia's VučićMintBrazil election 2026 results: What’s the net worth of Lula Da Silva as he gets re-elected as president for fourth term?Digital SpyUniversity Challenge contestants hit out at "absurd" BBC decision to edit out pride badges
The Daily Newsstand · Free, Always
Monday, October 26, 2026

От кликера до мультиагентной системы: Как менялась автоматизация тестирования и что будет дальше

Translate

Привет, Хабр! Меня зовут Илья Баранов, я лид тестирования в Сбер Диск. Я уже много лет занимаюсь автоматизацией тестирования и прошёл долгий путь от кликеров до современных мультиагентных систем.

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

Первый успешный Record & Playback — момент, когда кажется, что теперь автоматизировать можно вообще всё

Первый успешный Record & Playback — момент, когда кажется, что теперь автоматизировать можно вообще всё

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

Эпоха кликеров

Вспомним начало. Selenium IDE, AutoIt, разные макро-рекордеры. Принцип прост: записал действие — воспроизвёл. Наверное, большинство автоматизаторов игралось с этими «игрушками». Помню свой непередаваемый восторг, когда, установив впервые Selenium IDE, я смог записать сценарий и потом воспроизвёл его. Я же теперь настоящий автоматизатор, теперь я всё могу, пора просить повышение зарплаты. Да, тогда я был наивен и не понимал, что не стал автоматизатором, а только прикоснулся к технологиям автоматизации. При этом задача передо мной стояла довольно серьёзная.

Тогда мы разрабатывали импортозамещение для проекта БДПН — единой базы, в которой хранятся все данные об абонентских номерах телефонов в России. К этой БД обращаются операторы мобильных сетей при обработке заявок на перенос номеров, выделение пула номеров определённым операторам, высвобождение номеров после использования и так далее. В общем, сценариев много и система очень ответственная.

Мы тогда только приступили к работе, и вдруг нам сообщили радостную новость: к нам едет ревизор замминистра Россвязи. Ему очень хотелось посмотреть, что у нас есть, а мы вдруг поняли, что нам особо и нечего показать. Ну, вот требования, вот код бэка, вот страница авторизации и первая стартовая страница, и то не вся. Что показывать? И нашему владельцу продукта пришла гениальная идея: «А давайте покажем автоматизацию фронта. Ну вот, чтобы автотесты сами по страницам бегали и всё вводили. Красиво же, сделаешь же?» А я на тот момент даже ни разу не трогал автоматизацию интерфейса и вообще совсем недавно перешёл из сферы айтишного железа. Хммм, ну, надо так надо. Сделаю. И после работы я засел за разбор, как это вообще делается. Проштудировав множество статей, я понял, что максимально удобно и быстро будет сделать автоматизацию через кликер. Ещё пара вечеров, чтобы освоить всё на уверенном уровне, и вот вскоре все наши сценарии фронта были покрыты автотестами. Защитились мы отлично, получили свои торжественные рукопожатия и похлопывания по спине и продолжили развитие проекта.

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

Эпоха Selenium WebDriver (первый серьёзный скачок)

Для дальнейшей автоматизации я выбрал Selenium и Python — самую, наверное, популярную на тот момент связку языка и технологии. Попробовал перенести сценарии и понял, что легче всё переписать. Ну, а дальше понеслось погружение в стек с одновременным обучением. Написал 50 сценариев, получил простыню, освоил Page Object. Написал 200 сценариев, понял, что они повторяются, освоил параметризацию. Тесты стали проходить больше двух часов — внедряем многопоточность. Иногда осваивал новые приёмы и методы так быстро, что в пятницу, смотря на то, что написал в понедельник, думал про себя: «какой же профан это написал», и сразу переделывал всё с новой архитектурой. В какой-то момент, покрыв уже большинство проекта новыми сценариями, словил эйфорию. Казалось, что через Selenium можно автоматизировать всё. Ради интереса начал писать скрипты для автоматизации браузерных игр и создавать различные боты. Тогда это ещё не было так распространено, и было действительно круто погружаться в эту тему.

Selenium даёт свободу построения системы, но её стабильность и стоимость поддержки зависят от инженерных решений

Selenium даёт свободу построения системы, но её стабильность и стоимость поддержки зависят от инженерных решений

Но через некоторое время понял, что за свободу нужно платить. Selenium хорош тем, что вам даётся, по сути, двигатель, колёса и набор запчастей, но какая машина получится, зависит только от вас. При этом часть деталей изначально приходит с браком или несовместимостью, но вы об этом узнаете только когда машина поедет (или не поедет). Постоянные флапающие тесты, нестабильность прогонов на серверах, несовместимость новых сборок Chrome с ядрами Selenium и так далее. Зачастую на поддержку уходило больше времени, чем на развитие. Но к этому моменту проект прошёл уже период бурного роста, и вся система работала довольно стабильно. Автоматизация под 90+% регресса позволяла изучать новые технологии и делала жизнь довольно комфортной.

Эпоха фреймворков (Playwright и Cypress)

Постепенно проект дошёл до готовности и перешёл в статус поддержания. Стало скучно, и тут очень вовремя меня схантил один бигтех. Новый проект — ERP-система, которая работала на три страны (Англия, Франция, Израиль). Начал по привычке автоматизацию на связке Selenium и Python. Но через некоторое время пришла команда, с которой мы поддерживаем интеграцию, и предложила писать на Cypress и JS. У них уже был развёрнут фреймворк, написана часть автотестов, и они считали, что один стек на две наши команды будет эффективнее. Ну что же, садимся осваивать язык и фреймворк. На удивление, освоение прошло довольно быстро, хотя мне многие JS-ники говорили, что по моему почерку видно, что я питонист. Ну а Cypress меня сразу поразил и пленил своей простотой в освоении. Буквально несколько команд — и фреймворк развёрнут. Никаких плясок с ядром браузера и интеграции его с Selenium. Буквально сел и поехал, при этом поехал быстро и с ветерком.

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

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

На втором этапе выбирали основные сценарии, сокращали длительность регресса до трёх часов. Пока работали в три потока, привыкали к многопоточке и быстрым регрессам.

Ну и третий этап — регресс за 40 минут. Множество потоков, максимальная стабильность системы и минимум флапов. К этому моменту сценариев было уже больше 2 тысяч.

От недели регресса до 40 минут — результат не только автоматизации, но и последовательного развития архитектуры

От недели регресса до 40 минут — результат не только автоматизации, но и последовательного развития архитектуры

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

Но есть и обратная сторона медали. В какой-то момент появилось ощущение, что ты не программист, а оператор фреймворка. Настроив инфраструктуру и все технические обвязки, я перестал их трогать, и так стабильно работает же. А бесконечное написание сценариев было похоже на работу робота. Я начал понимать, что теряю навыки программиста и просто закрываю бизнес-потребности и фичи.

Через некоторое время, когда мой проект уже стабильно прогонялся в авторежиме, меня попросили автоматизировать проект соседней команды и подготовить им автотестера на замену. Но стек, который они хотели, — это Playwright и TS. Ну что же, нужно так нужно. Осваиваю TS, после JS ничего сложного нет, и перехожу к Playwright. По ощущениям стало больше свободы по сравнению с Cypress, и удобство намного повысилось. Но оно и понятно, ведь Playwright написан на TypeScript и интуитивно интегрирован с ним. Я автоматизировал проект раньше срока, подготовил смену и заскучал. Всё работает, автотесты крутятся, баги мутятся. Но слишком всё стабильно. Ещё и санкции отрубили от нас Европу, совсем грустно стало. Пора искать новые точки роста

Эра ИИ. Уровень 1 - промптинг (мы изобрели кликер)

Пока я осваивал фреймворки и автоматизировал проекты, мир не стоял на месте. Появились ИИ-чаты и стал активно развиваться промптинг. Помню это первое время, когда никто не понимал, как с ними жить и хорошо это или плохо. Все стеснялись говорить, что пользуются чатами для уточнений, ведь это ставило под вопрос сеньорность. Ты что-то спрашиваешь в ChatGPT? Ты что, сам не знаешь? Сейчас это, конечно, смешно звучит.

Но, как бы то ни было, прогресс не стоял на месте, и промпт-инженерия постепенно входила в рабочую жизнь. Как-то серьёзно применять её на работе не получалось: закрытой агентной сети не было, а скидывать даже обезличенные журналы для разбора в общую сеть не выглядело здравой идеей. Так что для глубокого освоения новой технологии, как обычно, решил запилить свой небольшой личный проект. Чат-бот для Telegram, подключение по API к Тинькофф и Мосбирже, вывод подборок акций и облигаций, в качестве сервера использовал одноплатник с Ubuntu. Собрать и запустить проект удалось за 6 часов субботнего вечера. При этом в качестве чатов я использовал бесплатный GPT-4 и Mistral, ничего лучшего тогда не было. Что больше всего поразило? Даже не то, что проект стабильно работает — хотя для pet-проекта, собранного за такое время, это, конечно, тогда было удивительно, — а то, что я, продумав архитектуру, всё равно по сути не знал, как там всё работает под капотом. Я ни разу не открыл описание API ни Тинькофф, ни Мосбиржи, я не знал, какие запросы там используются, как они взаимодействуют, как обрабатываются мои запросы. Тогда я просто этому удивился, а ведь это уже были вестники новой эры — эры программирования через намерения без глубокого понимания, что происходит под капотом.

Через несколько недель я решил модернизировать свой бот, и началась жесть. Контекст не влезал в окно, между частями программы возникали швы и интеграции переставали работать. Помучавшись пару дней, я понял, что бот легче создать заново, чем переписывать по частям. На этом pet-проект был успешно заброшен.

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

Промптинг сделал создание прототипов доступнее, но не отменил сложностей поддержки и развития проекта

Промптинг сделал создание прототипов доступнее, но не отменил сложностей поддержки и развития проекта

Но самое главное, что дала эта эпоха, — привыкание к ИИ в рабочем процессе. Мы стали меньше гуглить, мы стали больше спрашивать у нейронок. Мы стали доверять им. Теперь, поймав ошибку, мы не бежали на Stack Overflow, а закидывали её в чат и получали ответ, что ошибка означает и что нам нужно делать

Эра ИИ. Уровень 2 - агенты (ранний Selenium)

Постепенно в жизнь и работу стали проникать агенты. Первые — довольно нестабильные, с маленьким контекстным окном и слабыми моделями. И, познакомившись с ними, я был разочарован: работали они медленно, галлюцинировали, выдавали неверный результат. В общем, использовать их было неудобно в рамках всего проекта. Но одновременно у них появилась прекрасная опция: они могли встраиваться в проект и выполнять определённые действия. А раз агент можно встроить в часть проекта, то можно сделать цепочки из подобных узкоспециализированных агентов и существенно облегчить себе жизнь. Для меня это в первую очередь были различные агенты-ревьюеры (своеобразная замена линтерам) и агенты по разбору упавших тестов.

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

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

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

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

Эра ИИ. Уровень 3 — мультиагенты (Playwright на стероидах)

Эпоха первых агентов прошла довольно быстро. Спираль технологического развития сжалась до предела, и развитие технологий пошло галопом. Когда появились доступные агенты и мультиагентные системы, я уже работал в банке. И, признаюсь, я был не в восторге от первого опыта их использования. Но буквально за полгода всё переменилось.

Подняв свою мультиагентную систему, я не просто смог закрыть пробелы в автоматизации API, но и выстроить полноценный производственный конвейер: от сбора требований из документации аналитиков до заведения задач и создания тестовых сценариев с последующим генерированием автотестов. При этом мультиагентная система, покрытая каркасом из контекста, навыков, шаблонов, MCP-подключений и правил, получилась максимально стабильной. Работу, на которую у меня раньше ушло бы не меньше 6—9 месяцев, я закрыл за месяц. И при этом я специально не спешил, чтобы максимально контролировать качество процесса и полученного результата.

Мультиагентная система усиливает инженера: автоматизирует отдельные этапы, сохраняя за человеком проектирование процесса и контроль качества.

Мультиагентная система усиливает инженера: автоматизирует отдельные этапы, сохраняя за человеком проектирование процесса и контроль качества.

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

Лучше всего представлять агенты в вашем продукте в качестве сеньора, который может всё и одновременно ничего не знает о вашем продукте. Почему выбрали эту архитектуру? Почему именно этот стек? А зачем вот этот странный костыль, давайте его уберём? Все вопросы, которые задаст вам новый инженер после найма, должен задать и агент, внедрённый в ваш продукт. И только получив ответы, он сможет по-настоящему показать себя.

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

И вот мы тут...

Наверное, нужно бы написать какой-то очень мудрый вывод. Может, даже стоило бы спросить его у одного из агентов. Но не думаю, что в этом будет какая-то ценность, а если мудрый вывод вам всё же нужен, то можете спросить его у агентов сами. Но всё же, зачем я написал эту статью? Я хотел рассказать вам про свой инженерный опыт, не затрагивая опыт лида тестирования. Думаю, у многих он похожий, и также у многих он очень сильно расходился. Я постарался изложить всё кратко, но одновременно подробно, так, чтобы и тем, кто не погружён в технологический стек, было интересно читать и не пропустить основные главы долгого пути. Куда в итоге приведёт нас развитие ИИ, я не знаю, да и никто вам, наверное, сейчас не ответит. Слишком много переменных в этом вопросе, слишком ново, и слишком быстро развивается эта сфера. Но знаю точно, что впереди нас ждёт долгая и интересная инженерная дорога, и лучшее, что мы можем делать, это идти по этой дороге в авангарде человечества, стремясь к новым знаниям и осваивая новые технологии.

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

View the original on Хабр →

KioskNews shows a cleaned-up reading view extracted from the publisher’s page — the original always lives on their site, not ours.