Тестирование сценариев
Тестирование — важная часть процесса разработки бота. Оно позволяет контролировать работоспособность проекта и отслеживать, какие изменения в сценарии могут повлиять на его работу.
Ручное тестирование
В самом простом варианте тестирование можно проводить вручную: отправлять боту сообщения и проверять, совпадает ли его фактическое поведение с ожидаемым.
Для ручного тестирования опубликуйте бота в отдельном канале, закрытом от конечных пользователей. Чтобы условия тестирования были максимально приближены к условиям эксплуатации бота, рекомендуем проводить тестирование в канале того же типа.
Автоматизированные тесты
Когда сценарий бота имеет сложную структуру, даже небольшие изменения могут повлиять на всю функциональность. Чем больше разрастается сценарий, тем более ресурсоемким и дорогостоящим становится его ручное тестирование.
JAICP позволяет писать для сценариев автоматизированные тесты (автотесты), которые в декларативном стиле описывают требуемое поведение бота. Если покрыть весь сценарий автотестами и поддерживать их вместе с его основным кодом, вы можете быть уверены, что бот ведет себя именно так, как нужно.
Видеокурс по JAICP. Автотесты: как писать и зачем нужны
Тесты помещаются в папку проекта test
и автоматически выполняются перед каждой публикацией бота.
При этом вы можете настраивать как набор запускаемых тестов (через конфигурационный файл chatbot.yaml
), так и режим их запуска.
В том числе есть возможность в отдельных случаях пропускать выполнение тестов.
Тесты пишутся на языке XML и используют строго определенный набор тегов. Подробнее об используемых тегах.
Оценка качества бота на наборе диалогов
Оценка качества бота — инструмент, который позволяет тестировать бота на наборе диалогов. Вы можете загрузить файл с набором диалогов и запустить тестирование в интерфейсе JAICP.
Каждый диалог содержит запросы пользователя и ожидаемые реакции бота. Во время тестирования инструмент сравнивает полученные реакции бота с ожидаемыми.
Вы можете просматривать историю с результатами тестов и скачивать подробные отчеты.
Сравнение с автоматизированными тестами
Оценка качества бота | Автоматизированные тесты | |
---|---|---|
Формат файла | XLS, XLSX, CSV | XML |
Публикация бота | Тестирование выполняется в фоновом режиме и не влияет на публикацию. | Доступны разные режимы: тесты могут блокировать публикацию или выполняться в фоновом режиме. |
Проверка реакций бота | Можно проверять текстовый ответ и стейт бота. | Можно проверять любые типы реакций, поддерживаются мок-объекты для HTTP-запросов и интеграций. |
Версионирование | Вы можете загружать новые версии наборов диалогов в интерфейсе. | Версии изменяются вместе с кодом проекта. |
Отображение результатов | В интерфейсе отображается история тестов и процент успешных проверок для каждого тестирования. Также вы можете скачать подробные отчеты. | В интерфейсе отображаются уведомления о результатах тестов. |