Автоматического тестирования на платформе Microsoft бот



Сейчас я работаю над своим первым ботом с Microsoft Bot Framework, с ASP.NET.



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



Рассмотрение двух задач:




  1. что является лучшим инструментом для автоматизации таких тестов?

  2. Как лучше всего проверить диалог, который может возвращать разные ответы на один и тот же ввод?

615   3  

3 ответов:

Одна из альтернатив - выполнение функциональных тестов с использованием DirectLine. Оговорка заключается в том, что бот должен быть размещен, но он мощный. Проверьте проектAzureBot tests , чтобы увидеть, как это работает.

Другой альтернативой является то, что команда BotFramework делает для некоторых из своих модульных тестов.

Если вы используете диалоговые окна, вы можете взглянуть на модульные тесты EchoBot, поскольку они просты в использовании.

Если вы используете цепочку, то посмотрите, как их используют метод AssertScriptAsync.

Если вы ищете способ макетировать сервис Luis, смотрите это.

Вы можете рассмотреть селен. Selenium-это программное обеспечение для автоматизации веб-браузера, позволяющее писать тесты, которые программно считывают и записывают в DOM веб-страницы. С помощью скрипта Selenium вы можете:

  • войдите на любой канал, который предоставляет веб-клиент (и большинство из них делают это: WebChat, Telegram, Skype, Facebook, например)
  • Начните разговор с вашим ботом
  • выполните такие операции, как отправка сообщения в чат и ожидание ответа. ответ
  • Проверьте, соответствует ли ответ вашим ожиданиям.

Для автоматизированного тестирования ботов в узле.js, используя ConsoleConnector так же, как тесты в BotBuilder на GitHub, хорошо работает, например, посмотрите на https://github.com/Microsoft/BotBuilder/blob/master/Node/core/tests/localization.js :

var assert = require('assert');
var builder = require('../');

describe('localization', function() {
this.timeout(5000);
it('should return localized prompt when found', function (done) { 
    var connector = new builder.ConsoleConnector();       
    var bot = new builder.UniversalBot(connector);
    bot.dialog('/', function (session, args) {
        session.send('id1');
    });
    bot.on('send', function (message) {
        assert(message.text === 'index-en1');
        done();
    });
    connector.processMessage('test');
});

...и т.д...

Comments

    Ничего не найдено.