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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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