James Marcus Bach, Who Doesn’t Know! A noted thought leader, a prominent speaker, author and the creator of Rapid Software Testing™ in QA communit...Read More
A bot is software that is designed to automate different types of tasks you would usually do on your own like, adding an appointment to your calendar or fetching and displaying information and making a dinner reservation. These are the progressively common form of bots, chatbots, simulates conversation. They often live in the messaging apps or are at least designed to look that way and it should feel like you’re chatting like you are with human.
When developing a cross-platform bot, one of the most annoying challenges is the difficulty in testing the bot in-channel across multiple channels like Slack, fbm, Telegram etc. In-channel testing enables the developer to rapidly review the end-user experience which speeds up the iterative dev-test bot lifecycle. This problem is even more critical for cross-platform bots because the testing has to be performed on multiple messaging channels.
However, testing and developing bots isn’t easy. Before the start of testing, Test bot has to be integrated with the channel. Most of the channels do allow developers to test but only with major constrictions. In some cases, only those testers can do the testing who are individually approved by the bot developer. This slows down the process and even stops testing sometimes. In other cases, full testing cannot be performed until the bot is published after an approval process which takes many days. This forces the developer to publish bots that aren’t actually fully tested which hurts the whole bot ecosystem and even the developer. Unrestricted and Good bot testing is difficult to the rise of bots.
A solution to these repeated problems is Proxy Bot. The Proxy Bot acts as a proxy for another bot. It’s a bridge in the middle that conveys messages from the end user to another bot and bot to the end user. By directing the Proxy Bot to connect to a specific test bot, the end-user can test that bot quickly and comprehensively. For the tester, the user experience is exactly as if he/she was directly using the test bot.
For developers, the Proxy Bot is a powerful tool that surprisingly increases the speed and quality of bot development. Developers can test the bot nearly at the same time with coding. By instantly seeing the impact of new code, developers can debug or validate the code quickly. Since the Proxy Bot is already published and approved, it doesn’t require any additional approval process during the testing phase for the test bot. The Proxy Bot also enables unobstructed testing which means the bot developer can send proxy instructions to any tester to quickly test the bot.
Connecting to a test bot requires complete knowledge of the bot’s name and an extra step to redirect the proxy bot which is not possible for an average user to stumble into a test bot by accident. Therefore, this is a clever way to merge two seemingly opposite goals: developers want to freely test their bots, but regular users want to stay away from untested bots. The Proxy Bot provides an easy and quick sandbox to the bot developer without affecting the experience of regular users. More importantly, good testing tools lead to more and better bots, which is good for, developers and consumers.
Bots built using specific platform are automatically accessible through the Proxy Bot. Bots not built using the specific platform can also use the Proxy Bot by linking that bot to that specific platform using the “Callback URL” method. The Proxy Bot is one of the earliest use cases of bot-to-bot communication which is an exciting area with unlimited potential. We can’t wait to see in future what emerges from this.
The Bot Framework Emulator is an application through which a developer can easily test and debug their apps directly from the desktop. With the help of emulator, you can chat directly with your bot and easily inspect the messages that your bot will send and receive.
Before you invoke your bot in the cloud, it is recommended that you must first run locally and test it with the mentioned emulator. The bot framework emulator is open-source which allows you to contribute to the code seamlessly. You can also suggest improvements and report bugs. For more info on this emulator, you can follow the link.