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

Оценка качества бота

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

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

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

Ограничения инструмента
  • Во время тестирования бот выполняет реальные запросы. Запросы могут исчерпать лимиты JAICP или квоты сторонних сервисов.
  • Вы не можете проверять сценарии, в которых есть условия для разных типов каналов. Во время тестирования поле $request.channelType всегда имеет значение bot_scorer_api.
  • Поддерживается проверка только текстовых ответов и стейтов бота.
  • Не поддерживается проверка реакции бота на события.

Чтобы оценить качество бота:

  1. Перейдите в раздел Оценка качества бота.
  2. Подготовьте файл с набором диалогов.
  3. Загрузите набор диалогов.
  4. Запустите тест.
  5. Просмотрите историю тестов и отчет.

Файл с набором диалогов

Файл с диалогами должен быть в одном из форматов:

  • XLS

  • XLSX

  • CSV

    Требования к CSV-файлу
    • В качестве разделителя между полями используйте один из символов:

      • запятую — ,;

      • точку с запятой — ;;

      • вертикальную черту — |;

      • символ табуляции.

    • Если значение содержит разделитель, то оно должно быть заключено в двойные кавычки — ".

testCasecommentrequestexpectedResponseexpectedStateskippreActions
hello/start/Start
helloприветПривет, привет!/Hello
weatherКакая погода?/Weather

Файл содержит тест-кейсы, на которых проверяется качество бота. Тест-кейс может состоять из нескольких шагов. Каждая строка файла — один шаг тест-кейса.

Каждый тест-кейс описывает новую сессию и нового клиента.

подсказка

В статье Поля набора диалогов вы можете подробнее узнать о том, какие поля должны быть в файле и как их заполнять.

Чтобы скачать пример файла, в правом верхнем углу нажмите Скачать пример файла с диалогами.

Загрузка набора диалогов

Чтобы загрузить набор диалогов:

  1. Нажмите Загрузить файл с диалогами.
  2. Укажите название набора.
  3. Прикрепите файл с диалогами.
  4. Нажмите Сохранить.

Запуск теста

Чтобы запустить тест, нажмите Запустить тест на панели с набором диалогов.

Версия бота, на которой проводится тестирование

История тестов

Чтобы открыть историю тестов, нажмите на панель с набором диалогов.

Для каждого теста отображается Успешность — сколько процентов успешные шаги составляют от числа всех непропущенных шагов.

История тестов

Чтобы посмотреть график с динамикой успешности тестов:

  1. Нажмите на панели с набором диалогов.

  2. Нажмите Посмотреть динамику.

    Пример графика:

    График успешности тестов

Отчет

Чтобы скачать подробный отчет о тесте, нажмите Скачать отчет.

Отчет имеет формат XLSX. Отчет содержит набор диалогов и дополнительные поля:

Пример отчета
testCasecommentrequestexpectedResponseexpectedStateskippreActionsactualResponseactualStateresulttransitionresponseTime
hello/start/StarttrueSKIPPED0
helloприветПривет, привет!/HellofalseПривет, привет!/HelloOK/Hello1424
weatherКакая погода?/Hello/WeatherfalsehelloВ каком городе?/Hello/WeatherOK/Hello/Weather468
alarmПоставь будильник/Hello/AlarmfalsehelloНа какое время?/Hello/MeetingFAILED/Hello/Meeting→/Hello/Time491

Тест-кейс hello:

  1. Пользователь пишет «/start». Ожидаемая реакция: бот перейдет в стейт /Start. Шаг пропускается и не проверяется, так как в поле skip указано true.
  2. Пользователь пишет «привет». Ожидаемая реакция: бот перейдет в стейт /Hello и ответит «Привет, привет!». Полученные стейт и ответ совпадают с ожидаемыми. Шаг считается успешным.

Тест-кейс weather:

  1. Выполняются шаги preActions из тест-кейса hello.
  2. Пользователь пишет «Какая погода?». Ожидаемая реакция: бот перейдет в стейт /Hello/Weather. Полученный стейт совпадает с ожидаемым. Текст ответа не проверяется, так как поле expectedResponse не заполнено. Шаг считается успешным.

Тест-кейс alarm:

  1. Выполняются шаги preActions из тест-кейса hello.
  2. Пользователь пишет «Поставь будильник». Ожидаемая реакция: бот перейдет в стейт /Hello/Alarm. Полученный стейт не совпадает с ожидаемым. Шаг считается неуспешным.