Оценка качества бота
Оценка качества бота — инструмент, который позволяет тестировать бота на наборе диалогов.
Каждый диалог содержит запросы пользователя и ожидаемые реакции бота. Во время тестирования инструмент сравнивает полученные реакции бота с ожидаемыми.
Вы можете просматривать историю тестов и скачивать подробные отчеты с результатами.
- Во время тестирования бот выполняет реальные запросы. Запросы могут исчерпать лимиты JAICP или квоты сторонних сервисов.
- Вы не можете проверять сценарии, в которых есть условия для разных типов каналов.
Во время тестирования поле
$request.channelTypeвсегда имеет значениеbot_scorer_api. - Поддерживается проверка только текстовых ответов и стейтов бота.
- Не поддерживается проверка реакции бота на события.
Чтобы оценить качество бота:
- Перейдите в раздел Оценка качества бота.
- Подготовьте файл с набором диалогов.
- Загрузите набор диалогов.
- Запустите тест.
- Просмотрите историю тестов и отчет.
Файл с набором диалогов
Файл с диалогами должен быть в одном из форматов:
-
XLS
-
XLSX
-
CSV
Требования к CSV-файлу-
В качестве разделителя между полями используйте один из символов:
-
запятую —
,; -
точку с запятой —
;; -
вертикальную черту —
|; -
символ табуляции.
-
-
Если значение содержит разделитель, то оно должно быть заключено в двойные кавычки —
".
-
- Таблица
- CSV
| testCase | comment | request | expectedResponse | expectedState | skip | preActions |
|---|---|---|---|---|---|---|
| hello | /start | /Start | ||||
| hello | привет | Привет, привет! | /Hello | |||
| weather | Какая погода? | /Weather |
testCase ,comment ,request ,expectedResponse ,expectedState ,skip ,preActions
hello , ,/start , ,/Start , ,
hello , ,привет ,"Привет, привет!" ,/Hello , ,
weather , ,Какая погода? , ,/Weather , ,
Файл содержит тест-кейсы, на которых проверяется качество бота. Тест-кейс может состоять из нескольких шагов. Каждая строка файла — один шаг тест-кейса.
Каждый тест-кейс описывает новую сессию и нового клиента.
В статье Поля набора диалогов вы можете подробнее узнать о том, какие поля должны быть в файле и как их заполнять.
Чтобы скачать пример файла, в правом верхнем углу нажмите Скачать пример файла с диалогами.
Загрузка набора диалогов
Чтобы загрузить набор диалогов:
- Нажмите Загрузить файл с диалогами.
- Укажите название набора.
- Прикрепите файл с диалогами.
- Нажмите Сохранить.
Запуск теста
Чтобы запустить тест, нажмите Запустить тест на панели с набором диалогов.
- Для локального проекта в JAICP — последняя сохраненная версия в редакторе.
- Для проекта во внешнем репозитории — последний коммит в текущей ветке.
История тестов
Чтобы открыть историю тестов, нажмите на панель с набором диалогов.
Для каждого теста отображается Успешность — сколько процентов успешные шаги составляют от числа всех непропущенных шагов.
Чтобы посмотреть график с динамикой успешности тестов:
-
Нажмите на панели с набором диалогов.
-
Нажмите Посмотреть динамику.
Пример графика:
Отчет
Чтобы скачать подробный отчет о тесте, нажмите Скачать отчет.
Отчет имеет формат XLSX. Отчет содержит набор диалогов и дополнительные поля:
-
actualResponse— полученный ответ бота. -
actualState— первый стейт, в который перешел бот. -
result— результат проверки шага. Значения:OK— ожидаемая реакция бота совпадает с полученной.FAIL— ожидаемая реакция бота не совпадает с полученной.SKIPPED— шаг пропущен и не учитывается при оценке.
-
transition— история переходов бота по стейтам в этом шаге. -
responseTime— время в миллисекундах, за которое был выполнен шаг.
Пример отчета
| testCase | comment | request | expectedResponse | expectedState | skip | preActions | actualResponse | actualState | result | transition | responseTime |
|---|---|---|---|---|---|---|---|---|---|---|---|
| hello | /start | /Start | true | SKIPPED | 0 | ||||||
| hello | привет | Привет, привет! | /Hello | false | Привет, привет! | /Hello | OK | /Hello | 1424 | ||
| weather | Какая погода? | /Hello/Weather | false | hello | В каком городе? | /Hello/Weather | OK | /Hello/Weather | 468 | ||
| alarm | Поставь будильник | /Hello/Alarm | false | hello | На какое время? | /Hello/Meeting | FAILED | /Hello/Meeting→/Hello/Time | 491 |
Тест-кейс hello:
- Пользователь пишет «/start».
Ожидаемая реакция: бот перейдет в стейт
/Start. Шаг пропускается и не проверяется, так как в полеskipуказаноtrue. - Пользователь пишет «привет».
Ожидаемая реакция: бот перейдет в стейт
/Helloи ответит «Привет, привет!». Полученные стейт и ответ совпадают с ожидаемыми. Шаг считается успешным.
Тест-кейс weather:
- Выполняются шаги
preActionsиз тест-кейсаhello. - Пользователь пишет «Какая погода?».
Ожидаемая реакция: бот перейдет в стейт
/Hello/Weather. Полученный стейт совпадает с ожидаемым. Текст ответа не проверяется, так как полеexpectedResponseне заполнено. Шаг считается успешным.
Тест-кейс alarm:
- Выполняются шаги
preActionsиз тест-кейсаhello. - Пользователь пишет «Поставь будильник».
Ожидаемая реакция: бот перейдет в стейт
/Hello/Alarm. Полученный стейт не совпадает с ожидаемым. Шаг считается неуспешным.