Игорь Градов
Игорь Градов
5 мин
ai

ИИ-агент пишет автотесты в Testence: тестировщик перестаёт проверять одно и то же вручную

Открытый фреймворк Testence закрывает пробел, который ИИ-агенты пока оставляют тестировщикам: агент сам пишет и отлаживает автотесты для повторяющихся проверок, а готовые тесты потом работают без него.

ИИ-агент пишет автотесты в Testence: тестировщик перестаёт проверять одно и то же вручную
Почему это важно

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

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

Что понадобится?

  • Python и pytest (популярная библиотека для запуска автотестов на Python). Testence открытый Python-фреймворк, то есть готовый каркас для своих проверок.
  • Playwright, инструмент, который управляет браузером вместо человека. Готовые тесты Testence работают на нём.
  • Доступ к веб-приложению и его API (программному интерфейсу, через который можно запросить данные напрямую, минуя экран). Без него не получится независимая проверка результата.
  • Ваше знание фичи: ожидаемое поведение, ограничения, нюансы, известные риски.
  • По желанию CI/CD (конвейер, который сам собирает и проверяет код при каждом изменении), если тесты должны запускаться автоматически.

Команды установки и требования к модели в описании автора не приводятся. Перед стартом сверьтесь с документацией проекта.

Пошаговая инструкция: от описания фичи до теста, которому можно верить

  1. Опишите агенту фичу целиком: не только шаги, но и что считается успехом, где ограничения, что уже ломалось.
  2. Дайте агенту провести тест-дизайн, исследовать интерфейс, написать и отладить тесты.
  3. Для каждого действия определите оракул (oracle), то есть независимую проверку результата. Пример: после сохранения прочитать карточку через API от имени того же пользователя.
  4. Запускайте готовые тесты по команде или в CI/CD. Их выполняет детерминированный runner (запускатель, который каждый раз действует одинаково) без вызовов LLM, то есть большой языковой модели.
  5. Когда фича меняется, агент помогает обновить сценарии и тесты, а вы проверяете его правки.

Шаблон описания фичи для агента:

Фича: создание карточки.
Ожидаемое поведение: после нажатия «Сохранить» карточка с указанным названием
появляется в списке и остаётся после обновления страницы.
Доказательство успеха: чтение карточки через API от имени того же пользователя
возвращает нужное название.
Ограничения: роли пользователей, виртуальный список.
Известные риски: интерфейс показывает карточку до ответа сервера.

Почему зелёный тест может врать?

Автор разбирает случай с оптимистичным обновлением: интерфейс сразу рисует результат, не дожидаясь ответа сервера. На синтетическом стенде сервер намеренно подтверждал запрос, но не сохранял данные. Уведомление об успехе появлялось, карточка в списке была, а после обновления страницы исчезала.

Тест, который просто переводит ручные шаги в код, такой дефект не поймает. Отсюда рабочий вывод: на этапе проектирования решите, чем доказать успех, и сохраните эту проверку в готовом тесте.

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

Зачем Testence, если есть Playwright?

Playwright находит элементы и ждёт их доступности, но его ожидания не всегда совпадают с тем, что происходит внутри приложения. При гидратации (моменте, когда страница уже видна, а её «начинка» ещё подключается) кнопка выглядит доступной, а обработчик нажатия ещё не работает. Playwright нажмёт, и ничего не произойдёт. По словам автора, этот случай описан прямо в документации Playwright.

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

Как это выглядит на практике

Агент написал тест: ввести название карточки, нажать «Сохранить», проверить уведомление и карточку в списке. UI-проверки (проверки интерфейса на экране) прошли. В прогоне r-habr-card-defect независимое чтение через API вместо ожидаемого названия и состояния saved вернуло name: null и state: missing. Без оракула этот тест остался бы зелёным.

Что делать с этим прямо сейчас, по ролям

Тестировщику: даже без Testence добавьте в ручной чек-лист шаг «обновить страницу и проверить снова». Он ловит тот же класс ошибок, что и оракул.

Руководителю отдела тестирования: проверьте, сколько ваших автотестов подтверждают только надпись «Успешно». Каждый такой тест стоит дополнить чтением данных через API.

Владельцу веб-сервиса в России: приёмы Testence не привязаны к стране и языку интерфейса. Оракул через API и проверка после обновления страницы работают на любом русскоязычном сайте, в интернет-магазине или личном кабинете.

Частые ошибки
  • Доверять уведомлению «Сохранено» как доказательству. Это сообщение интерфейса, а не сервера.
  • Проверять через API не те данные: кэш, чужую запись, другого пользователя.
  • Ждать, пока элемент появится, а не пока он станет пригодным для работы. Его может перекрыть модальное окно, или кнопка будет активна долю секунды.
  • Звать агента на каждый запуск. Решения о том, куда нажать и чего дождаться, должны остаться в коде теста.
Совет редакции dzen.guru

На мой взгляд, главная ценность здесь даже не агент, а дисциплина «сначала доказательство, потом код». Её можно взять на вооружение сегодня, без всякого фреймворка. Честная оговорка: Testence автор пока разрабатывает. Агент не снимает с вас ответственности, его тесты и правки нужно читать так же внимательно, как код коллеги.

Учитесь работать с ИИ-агентами без иллюзий

В dzen.guru разбираем, где нейросети реально экономят время, а где требуют проверки

Перейти в dzen.guru

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

Поделиться:TelegramVK
Игорь Градов
Игорь Градов

Основатель dzen.guru. Эксперт по монетизации и продвижению на Дзен. Автор курса «Старт на Дзен 2026».

Комментарии

Читайте также

Что такое галлюцинации нейросетей: три сбоя, которые детекторы ловят с точностью 50%
ai

Что такое галлюцинации нейросетей: три сбоя, которые детекторы ловят с точностью 50%

Андрей Бирюков, эксперт по ИТ и информационной безопасности, разделил «галлюцинации» корпоративного ИИ-ассистента на три разных сбоя, которые даже продвинутые…

5 мин
Каждый девятый сайт с robots.txt закрылся от Claude AI и выпал из его ответов
ai

Каждый девятый сайт с robots.txt закрылся от Claude AI и выпал из его ответов

Crawl Readiness в октябре 2026 года проверила топ-1000 сайтов и выяснила, что каждый девятый из сайтов с файлом robots.txt закрыл поискового бота Claude и…

5 мин
ИИ-агенту доверяют деньги: в толстом харнессе списание одобряет код, а не модель
ai

ИИ-агенту доверяют деньги: в толстом харнессе списание одобряет код, а не модель

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

5 мин