Your browser does not support JavaScript!
Blog
BOTS:  the new perimeter and how to perform testing on it?
BOTS: the new perimeter and how to perform testing on it?
Automation Testing
August 2, 2016

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.

Testing of a BOT

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.

phone-bot-930x547

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.

PROXY BOT: A Bot Testing Tool

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.

Author: Kanika Vatsyayan

Alternative Text

Kanika is working as a Quality Lead in BugRaptors. She is proficient in testing website and mobile applications cross various domains. Expertise in Team management and Project management, she is also involved in WBS creation, creation of test plans, involved in direct client communication, etc.

Leave a Reply

Your email address will not be published. Required fields are marked *