Как правильно протестировать службу Azure Bot

Я могу успешно загрузить тестовый сервер своего бота, получив правильный токен аутентификации по URL-адресу аутентификации Microsoft (в основном через эту страницу)

Мне было интересно, был ли это действительный тест службы, учитывая, что мы на самом деле не достигаем конечной точки платформы ботов (с ограничением скорости)

Есть ли другой способ загрузить тест службы ботов, в котором я могу воспроизвести ограничения регулирования/скорости фреймворков ботов?


person Kannaj    schedule 20.08.2018    source источник
comment
not actually hitting the bot frameworks endpoint Как вы отправляете сообщения своему боту?   -  person Fei Han    schedule 23.08.2018
comment
@FeiHan - я в основном отправляю сообщение POST на конечную точку моего сервера с токеном носителя, который я получаю от аутентификации Microsoft. Сообщение POST имеет тело json с такими деталями, как идентификатор разговора, идентификатор активности и т. д.   -  person Kannaj    schedule 23.08.2018


Ответы (2)


В итоге я использовал нагрузочный тест с Visual Studio и Visual Studio Team Services. Причина, по которой я использовал этот подход, заключается в том, что вы можете настроить полный путь нагрузочных тестов. Служба Azure Bot может быть либо веб-приложением, либо приложением-функцией с конечной точкой, подготовленной для получения сообщений — с использованием HTTP POST, поэтому в конечном итоге это просто веб-служба.

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

Вы можете прочитать больше по этим двум ссылкам ниже:

Загрузите и протестируйте приложение в облаке с помощью Visual Studio и VSTS

Краткое руководство: Создайте проект нагрузочного теста

введите здесь описание изображения

person Daniel Krzyczkowski    schedule 27.08.2018

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

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

Однако, что касается регулирования на стороне бота, полезно знать, отправляет ли ваш бот сообщения слишком быстро для системы. Если вы когда-либо отвечаете только на сообщения от пользователей, это не будет проблемой, так как система построена с учетом ответа на каждое сообщение пользователя. Единственная область, в которой вы можете столкнуться с проблемами, — это отправка дополнительных (или нежелательных) сообщений, однако даже здесь, пока вы находитесь в разумных пределах, все должно быть в порядке. (т. е. если вы не отправляете несколько сообщений обратно пользователю как можно быстрее для каждого сообщения, которое они вам отправляют, у вас, вероятно, не будет проблем.) Вы можете установить порог для ответов ботов в вашем канале на каком-то разумно звучащем пределе. чтобы проверить это.

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

person Mark B    schedule 07.09.2018