НТБот 26.10: ИИ-ассистент записывает и отлаживает скрипты нагрузочного тестирования
Вышел релиз НТБот 26.10 платформы нагрузочного тестирования. Главное в обновлении — ИИ-ассистент для записи и отладки скриптов JMeter по тест-кейсу. Теперь на трудном шаге он просит подсказку у пользователя вместо того, чтобы обрывать запись, копит знания о тестируемой системе в профиле и обменивается файлами через чат. Как и прежде, ассистент работает в закрытом контуре на локальных LLM до 35B параметров.
Также в релизе — порог отклонения при сравнении результатов тестов и запуск Playwright-скриптов на стандартном генераторе нагрузки.
Запись скрипта нагрузочного тестирования ИИ-ассистентом: подсказки пользователя
ИИ-ассистент проходит тест-кейс в браузере, записывает трафик и собирает по нему скрипт — об этом мы рассказывали в августе. По ходу записи встречаются шаги, которые агент не может выполнить сам: нестандартный элемент интерфейса, изменение на странице, которое он не отследил, выбор файла для загрузки.
В НТБот 26.10 такие шаги больше не обрывают запись. Ассистент просит пользователя помочь, запись продолжается, а подсказка становится материалом для дообучения агента.
- Прохождение кейса — ассистент публикует план кейса и отмечает каждый пройденный шаг. Ход записи виден и в чате, и в браузере.
- Пауза вместо обрыва — если шаг не удался, агент ждёт ответа пользователя. Ответить можно подсказкой свободным текстом («нажми на строку с датой») или командой: сделать вручную, повторить шаг, пропустить.
- Вопросы с вариантами ответа — уточнения ассистент задаёт карточкой с готовыми вариантами. Не нужно подбирать формулировки, чтобы агент понял вас однозначно.

На скриншоте — запись кейса в 1С:ERP: под каждым пройденным шагом указано, выполнила его модель или он взят из кеша уже изученных шагов.
Отладка скрипта нагрузочного тестирования перед запуском
По записанному трафику ИИ-агент формирует скрипт в формате инструмента подачи нагрузки и сам доводит его до рабочего состояния:
- Корреляция и параметризация — динамические значения из ответов сервера извлекаются и подставляются в следующие запросы, в том числе инкременты счётчиков и отметки даты и времени.
- Транзакции — запросы группируются по шагам тест-кейса.
- Проверки — контролируются коды ответов 200, смысловые поля в теле ответов, подозрительные запросы с нулевым временем отклика и т. п.
Писать экстракторы и подбирать регулярные выражения вручную больше не нужно: сборка и отладка скрипта проходят без участия пользователя и занимают 10–20 минут. Повторную отладку можно запустить командой в чате, например «отладь скрипт».

Обмен файлами с ИИ-ассистентом
Скрипт или тестовые данные можно передать ассистенту прямо в чате, там же — забрать результаты его работы. Для этого в ИИ-ассистенте появилось окно «Файлы».
- Загрузка — кнопкой «Добавить файлы» или перетаскиванием. Форматы — jmx, csv, txt, размер — до 100 МБ. Ассистент обращается к файлам по запросу, файл можно упомянуть прямо в промпте.
- Результаты записи и отладки — всё, что создал ассистент, лежит в том же окне: скрипт JMeter (.jmx), трафик сессии (.har), отчёт о сборке скрипта (.html, .md).

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

Сравнение результатов нагрузочного тестирования: порог отклонения
На странице «Сравнить тесты» отклонения от эталона или набора SLA окрашиваются: красным — ухудшение, зелёным — улучшение. Без порога цветом выделяется любое отклонение, и шум стенда в 1–2% выглядит так же, как деградация производительности.
- Выбор порога — список «Порог» рядом с выбором SLA: 0, 5, 10 или 20%, либо своё значение.
- Одинаково в таблице и на графике — отклонения, которые по модулю не больше порога, не окрашиваются ни в таблице, ни на графике отклонений.
- Направление учитывается — для времени отклика (среднее, 90-й и 95-й перцентили) ухудшением считается рост, для количества операций — снижение.
| Порог | Что окрашено |
|---|---|
| 0% | Любое отклонение |
| 5%, 10%, 20% | Отклонения больше выбранного значения по модулю |
Ориентиры: 10% — типовой порог регрессии, 20% — для шумных стендов. Сравнивать можно до 10 тестов одновременно. Сравнение с SLA появилось в релизе 26.7.
Нагрузочное тестирование UI через Playwright: время отклика в браузере
HTTP-запросы jmx-скриптов нагружают серверную часть системы, но время отклика API не показывает, сколько пользователь ждёт в браузере. Чтобы замерить время отклика интерфейса, в НТБот можно запускать Playwright-скрипты — их выполняет плагин НТБот для JMeter. Достаточно добавить js- или ts-файл как вложение в сценарий НТБот.
- Playwright в образе генератора — Node.js, Playwright и Chromium входят в стандартный генератор нагрузки НТБот. Любой генератор запускает и jmx-, и Playwright-скрипты, отдельная настройка не нужна.
- Единая статистика — результат отображается на тех же экранах мониторинга, что и транзакции других скриптов: со своим временем отклика, числом успешных и ошибочных выполнений.
Версии компонентов
| Компонент | Версия |
|---|---|
| Диспетчер, веб-интерфейс (dispatcher-front) | 1.5.1 |
| Серверные сервисы платформы | 1.4.0 |
| ИИ-ассистент (ntbot-ai-assistant) | 1.2.0 |
| ntbot-workload | 1.3.0 |
Частые вопросы
Что делать, если ИИ-ассистент не может выполнить шаг тест-кейса? Ответить в чате подсказкой или открыть ручное управление браузером записи и выполнить шаг самому. Запись после этого продолжится.
Нужно ли вручную настраивать корреляцию в скрипте, записанном ИИ-ассистентом? Нет. Корреляцию, параметризацию, транзакции и проверки ассистент расставляет сам, сборка и отладка скрипта занимают 10–20 минут.
Нужно ли заново объяснять ассистенту устройство системы при каждой записи? Нет. Знания о системе сохраняются в профиль, и следующая запись по той же системе опирается на них.
Какие файлы можно передать ИИ-ассистенту? Файлы jmx, csv и txt размером до 100 МБ — через окно «Файлы» кнопкой или перетаскиванием.
Работает ли ИИ-ассистент в закрытом контуре? Да. Все задачи ассистент выполняет на локальных LLM до 35B параметров, внутри закрытого контура.
Какой порог отклонения выбрать при сравнении тестов? Типовой порог регрессии — 10%, для шумных стендов — 20%. При 0% окрашивается любое отклонение.
Как запустить Playwright-скрипт в нагрузочном тесте? Добавить js- или ts-файл как вложение в сценарий НТБот. Скрипт выполняет плагин НТБот для JMeter на стандартном генераторе нагрузки: Node.js, Playwright и Chromium уже входят в его образ.
Как обновиться
Обновление до версии 26.10 выполняется в рамках сопровождения или внедрения платформы НТБот. Дистрибутив релиза доступен в репозитории НТБот. Порядок получения обновлений описан в разделе документации «Обновления и поддержка продукта». Если вы ещё не работаете с НТБот — запросите демонстрацию.
Ещё по теме:
- Запись скрипта нагрузочного тестирования с ИИ-ассистентом
- НТБот 26.8 — разграничение прав доступа и секреты в Vault
- ИИ в нагрузочном тестировании: итоги доклада на SQA Days 39
- Режим ИИ: нагрузочное тестирование на автопилоте
- Техническая документация
Источник: НТБот