Custom Chatbot Development for a Chatbot Store / PAAS for Bot-Building
Belitsoft successfully created two chatbots: the first one stimulates customers to order services or products via messaging, and the second one offers a weather forecast.
- Technologies and platforms: PHP, Laravel
- Team size: 1 back-end developer, 2 testing specialists
- Effort: Ongoing (started in August 2017)
The global chatbot market was valued at USD 190.8 million in 2016 and is expected to reach USD 1.25 billion by 2025.
Our Client is an Israel-based startup. The company offers an innovative chatbot-building PaaS (Platform as a Service) with an easy interface to create new chatbots with no deep coding skills and also a Store with ready-to-use chatbots. This Store has a great variety of chatbots or chatbots’ “templates” (design+script/scenario) for almost every industry (Finance/Insurance, E-commerce, Healthcare, Education, IoT and so on). The platform’s users can modify the existing chatbots' templates and publish them to a variety of high-traffic channels such as Facebook Messenger, Skype, Slack, Viber, Telegram Messenger, and others.
Our Client asked us to augment his offshore outsourcing development team in order to create new chatbots for his Store. He also needed to add 2 testing specialists to the project in order to provide a high quality of the platform and stable chatbots’ functionality.
1. We created the Ordering & Loyalty Program Chatbot that stimulates people to make an order and get bonuses for their purchase. The main functions of the bot:
- Extract a customer’s name;
- Propose the menu;
- Calculate the cost of the order (add more items to the order or cancel the last added item);
- Calculate bonuses for the purchase (if a customer saves up 100 bonuses, the bot proposes a free lunch that can be added to the order; the bot also automatically checks if a user has enough bonuses to get a free lunch);
- Receive the order and propose a delivery method (the bot extracts a user’s address if a user chooses delivery).
2. We created the Weather Forecast Chatbot that provides a weather forecast using the API of a weather forecast web service. The main functions of the bot:
- Show today’s weather (temperature, max temperature per day, min temperature per day, cloud cover, wind speed, pressure, humidity);
- Show the weather for the next 1-5 days (for a certain day with a 3-hour forecast);
- Show the weather for the next 5 days (a summary table with a 3-hour forecast).
3. Both chatbots were tested manually using positive and negative test cases.
Within 4 months, our testers found 550 bugs and 482 bugs (88%) were resolved by the development team.
The website, user area, and chatbots’ functionality were successfully tested in the required environments:
- Cross-browser testing: Chrome, Firefox, Internet Explorer, Microsoft Edge, Safari;
- Cross-platform testing: Windows (PC), macOS (Mac mini, iPad), Android 7 (Tablet Google Nexus 10, Mobile Phone Samsung Galaxy S6), iOS 9, 10, 11 (iPhone 5, 6);
4. The main parts of the chatbot-building platform were enhanced:
- Our testers identified the problem with the auto-save option during functionality testing. It didn’t work correctly, therefore users were losing much info. Some other problems were also identified and fixed.
- All the non-working pop-ups and buttons were fixed, and fields’ verification was set up. The website became highly responsive and user-friendly after the bugs, discovered during usability testing, had been fixed.
- The external interface of the user area (a control panel) was improved, and chatbots’ display was corrected after GUI testing.
OUR DEVELOPMENT PROCESS
To start the creation of the Ordering & Loyalty Program Chatbot, our team analyzed the market and found some innovative ways to use bots for business purposes. Belitsoft always focuses on the best practices and latest trends, so we decided to follow the Starbuck’s example, but create a chatbot that not only receives orders from customers but also invites them to take part in a loyalty program.
Overall, our work consisted of 5 parts:
- Creating a scenario (a set of interactions) for the chatbot;
- Adding arithmetic operations to the price calculation;
- Adding logic and arithmetic operations to the bonuses calculation;
- Improving the scenario and logic of the bot, adding new interactions;
- Testing the chatbot.
Thereby, our team created the scenario, proposed it to the Client and started chatbot’s creation right after his approval. Our team successfully managed to create and test the chatbot. Now the users of our Client’s cloud-based platform can easily use this template, modify it according to their business needs and publish a ready-made chatbot on their websites or other public channels.
Stages of the Weather Forecast Chatbot development:
- Our developer successfully connected 2 APIs (the Client’s web app’s API (Laravel) and the weather forecast web service’s API) using JSON API.
- Our designer prepared the mockups to show weather forecasts in a user-friendly manner in the PNG format.
- Our developer used the HTML2PDF and ImageMagick libraries to convert HTML to PNG.
- Testing the chatbot.
OUR TESTING PROCESS
The project work was divided into 2 phases:
- Testing planning and creation of the checklist;
- Implementation of testing.
Our team organized the project work as follows: one tester is responsible for the website testing, and the other – for testing the user area and chatbots’ functionality.
Our testers analyze the Client’s requirements, plan a testing process, create checklists and test cases for the most complex scenarios, perform positive test cases (when chatbots are being created, changed and filled with content) and negative test cases.
Because the project is big and evolves rather fast (new features are constantly being added), the start of the third project phase seems to be obvious and will possibly include regression testing, bug fix testing, and new functionality testing.
OUR COMMUNICATION APPROACH
Our team uses JIRA as a bug-tracking system. That makes the process of testing transparent and objective because every team member, as well as our Client, can access the project anytime and monitor our testing process in real time.
In addition, our team uses Skype to support active communication with the Client that increases our efficiency.
Today, our chatbots are widely used and help the customers of our Client to deliver the best possible messaging experience to the end-users.