Перейти к содержанию

Тестирование диалогов

Тестирование диалогов

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

Содержание инструкции:


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

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

Открытие диалога с помощником

Открыть окно чата с помощником можно одним из способов:

  1. Перейдите в раздел Диалоги и выберите историю, которую необходимо протестировать. Нажмите на кнопку Пуск Image в верхнем правом углу редактора истории.
  2. Нажмите на круглую кнопку Image в нижнем правом углу экрана.

    Примечание. Кнопка скрывается, если запущено обучение помощника.

    Image

  3. В области справа откроется чат с помощником.

    Image

Создание тестового примера

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

Чтобы сохранить диалог с помощником как тестовый пример:

  1. Откройте окно чата с помощником.
  2. Проведите диалог с помощником.
  3. Нажмите на кнопку Сохранить диалог как тестовый пример Image. При нажатии кнопка изменит цвет на зеленый.

    На основе диалога будет создан тестовый пример.

    Пример отобразится в группе с историей. Если этого не произошло, обновите страницу в браузере.

    Image


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

Автоматизированное тестирование историй — это процесс, при котором специальные инструменты проверяют, корректно ли бот обрабатывает тестовые примеры.

В процессе тестирования используется специальный канал под названием BotRegressionTesting, который имитирует общение пользователя с помощником. Осуществляется проверка корректности распознавания интентов и сущностей, полученные ответы сопоставляются с эталонными.

Примечание

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

Канал для тестирования настраивается автоматически при локальном запуске Wisebot.

Для ручной настройки:

  1. Перейдите в НастройкиУчетные данные.
  2. Добавьте следующий код:

    rasa_addons.core.channels.bot_regression_test.BotRegressionTestInput: {}
    
  3. Нажмите Сохранить.


Запуск всех тестовых примеров

Чтобы запустить тестирование всех сохраненных тестов в проекте:

  1. Откройте раздел Диалоги или NLU.
  2. Вызовите меню действий для кнопки Обучить.
  3. Выберите действие Запустить все тесты.

    Image

Дождитесь завершения тестирования.

Результат тестирования будет выведен в виде всплывающего уведомления с количеством пройденных и непройденных тестов.

Image

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

Также непройденные тесты отобразятся в виртуальной группе с названием «Неудачные тесты». Как правило, группа располагается первой по порядку.


Запуск одного тестового примера

Чтобы запустить тестирование сохраненного тестового примера:

  1. Перейдите в раздел Диалоги и выберите тестовый пример, который необходимо протестировать.
  2. Нажмите на кнопку Запустить тест Image в верхнем правом углу редактора.

Результат тестирования будет выведен в виде всплывающего уведомления. Если тестирование завершится неудачей, тестовый пример будет отмечен специальной иконкой Image в группе.


Действия с тестовыми примерами

Просмотр примера с неудачными результатами тестирования

Чтобы просмотреть диалог примера с неудачными результатами тестирования:

  1. Откройте тестовый пример, тестирование которого завершилось неудачно.
  2. В редакторе диалога отобразится:

    • Общий статус «Последний запуск этого теста завершился неудачей»,
    • Ожидаемые и фактические фразы:

      • Фактические фразы, отличающиеся от ожидаемых, имеют зеленый фон.
      • Ожидаемые события имеют красный фон.
      • Совпадающие события не имеют цветного фона
    • Панель с кнопками действий Установить фактическое значение как ожидаемое и Удалить тестовый пример.

Image


Замена фраз в примере

Чтобы заменить ожидаемые фразы на фактические:

  1. Откройте тестовый пример, тестирование которого завершилось неудачно.
  2. Нажмите на кнопку Установить фактическое значение как ожидаемое, размещенную на верхней панели в редакторе теста.

Все ожидаемые события будут заменены на фактические события.


Изменение названия тестового примера

Чтобы изменить название тестового примера:

  1. Откройте раздел Диалоги.
  2. Дважды кликните по названию примера в боковом меню.
  3. Внесите изменения в название и нажмите Enter.

Примечание

Для названия примеров не существует строгих правил. Тем не менее, для организованности кода рекомендуется использовать префиксы для классификации примеров. Например, по умолчанию применяется префикс test_story_.


Перемещение тестового примера

Чтобы изменить порядок отображения примеров или переместить пример из одной группы в другую:

  1. Откройте раздел Диалоги.
  2. Наведите курсор на панель с примером.
  3. Отобразятся кнопки действий.
  4. Наведите курсор на кнопку Image и, зажав левую кнопку мыши, перетащите пример.

Удаление тестового примера

Чтобы удалить тестовый пример:

  1. Откройте раздел Диалоги.
  2. Наведите курсор на панель с примером, который необходимо удалить.
  3. Отобразятся кнопки действий.
  4. Нажмите на кнопку Удалить Image.
  5. Подтвердите действие в модальном окне. После подтверждения пример будет удален.

Удаление примера с неудачными результатами тестирования

  1. Откройте тестовый пример, тестирование которого завершилось неудачно.
  2. Нажмите на кнопку Удалить тестовый пример, размещенную на верхней панели в редакторе.
  3. Подтвердите действие в модальном окне. После подтверждения пример будет удален.