Перейти к основному содержимому

Тестирование сценариев

Тестирование — важная часть процесса разработки бота. Оно позволяет контролировать работоспособность проекта и отслеживать, какие изменения в сценарии могут повлиять на его работу.

Ручное тестирование

В самом простом варианте тестирование можно проводить вручную: отправлять боту сообщения и проверять, совпадает ли его фактическое поведение с ожидаемым.

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

подсказка
Во время разработки или при проверке небольших изменений в сценарии вы также можете использовать тестовый виджет. Он позволяет проводить тестирование бота прямо из интерфейса JAICP.

Автоматизированные тесты

Когда сценарий бота имеет сложную структуру, даже небольшие изменения могут повлиять на всю функциональность. Чем больше разрастается сценарий, тем более ресурсоемким и дорогостоящим становится его ручное тестирование.

JAICP позволяет писать для сценариев автоматизированные тесты (автотесты), которые в декларативном стиле описывают требуемое поведение бота. Если покрыть весь сценарий автотестами и поддерживать их вместе с его основным кодом, вы можете быть уверены, что бот ведет себя именно так, как нужно.

Видеокурс по JAICP. Автотесты: как писать и зачем нужны

Тесты помещаются в папку проекта test и автоматически выполняются перед каждой публикацией бота. При этом вы можете настраивать как набор запускаемых тестов (через конфигурационный файл chatbot.yaml), так и режим их запуска. В том числе есть возможность в отдельных случаях пропускать выполнение тестов.

Тесты пишутся на языке XML и используют строго определенный набор тегов. Подробнее об используемых тегах.

Оценка качества бота на наборе диалогов

Оценка качества бота — инструмент, который позволяет тестировать бота на наборе диалогов. Вы можете загрузить файл с набором диалогов и запустить тестирование в интерфейсе JAICP.

Каждый диалог содержит запросы пользователя и ожидаемые реакции бота. Во время тестирования инструмент сравнивает полученные реакции бота с ожидаемыми.

Вы можете просматривать историю с результатами тестов и скачивать подробные отчеты.

Сравнение с автоматизированными тестами

Оценка качества ботаАвтоматизированные тесты
Формат файлаXLS, XLSX, CSVXML
Публикация ботаТестирование выполняется в фоновом режиме и не влияет на публикацию.Доступны разные режимы: тесты могут блокировать публикацию или выполняться в фоновом режиме.
Проверка реакций ботаМожно проверять текстовый ответ и стейт бота.Можно проверять любые типы реакций, поддерживаются мок-объекты для HTTP-запросов и интеграций.
ВерсионированиеВы можете загружать новые версии наборов диалогов в интерфейсе.Версии изменяются вместе с кодом проекта.
Отображение результатовВ интерфейсе отображается история тестов и процент успешных проверок для каждого тестирования. Также вы можете скачать подробные отчеты.В интерфейсе отображаются уведомления о результатах тестов.