Botium Box offers two methods to test an SMS chatbot. It can act as a user sending SMS messages, or can interact with the API behind the chatbot. Sending SMS messages looks like an optimal choice because it covers all the stack, but it has a major drawback, the increased costs.
For smaller systems sending SMS messages is usually a good decision. It is the all-purpose solution, and it is easier to setup.
More complex chatbots can have more sophisticated configuration, API-testing all conversation branches, and SMS based testing for checking performance and availability of the full stack for example.
Tip: If your API delivers NLP information like recognized intent and entity, then in case of API testing you can even use NLP Analytics in Botium Box (depending on license).
There is no step-by-step solution for API testing. We need a Botium-connector which fits to your API. You can use the suitable generic connector of Botium Box (in most cases Generic HTTP(s)/JSON interface). Or you can write your own.
SMS testing with Botium Twilio SMS connector
Botium Box uses Twilio to communicate with any SMS chatbot.
You’ll need a Twilio account, register a telephone number in Twilio, configure Botium Box for Botium-to-Twilio messages, and Twilio for Twilio-to-Botium messages.
You can use trial account for Twilio, but there are limitations, and the budget is limited. We use an upgraded account here.
Please keep in mind that SMS communication has no session. If you have for example development, and production tests, then it is a good practice to register telephone numbers and configure connection in Botium Box for each. Otherwise you can get some random test fails if they are running in parallel.
Register a telephone number
Navigate to Active Numbers, click on Buy a Number. Consider choosing the same country as the one, where your chatbot’s number is located. And choose ANY or SMS in capabilities, and buy a number.
Check SMS capability (optional).
Notice the telephone number, and the credentials (settings, general)
Once the form is complete, Botium Box will be able to receive messages. But we can’t test the connection yet. We have to configure Twilio to send messages to Botium Box.
After you choose an API key, you can see the endpoint for receiving messages on the registration form. Copy the endpoint url.
Configure the Twilio webhook
Open the settings for the registered number in Twilio, and paste the endpoint as webhook in the Messaging section (not in the Voice & Faxsection!) and save it.