Botium in a Nutshell, Part 1: Overview

This is part 1 of the Botium in a Nutshell series of articles.

Botium is a suite of open source software components that support chatbot makers in training and quality assurance. The first part gives an overview of the Botium Stack, all the libraries and tools that are involved in the Botium ecosystem.

What does the name “Botium” mean ?

Selenium is the de-facto-standard for testing web applications. Appium is the de-facto-standard for testing smartphone applications. Botium is for testing chatbot applications.

What is Botium good for ?

Botium is a suite of open source software components that support chatbot makers in training and quality assurance:

  • Chatbot makers define what the chatbot is supposed to do
  • Botium ensures that the chatbot does what it is supposed to do

Here is the “Hello, World!” of Botium:

#me
hello bot!
#bot
Hello, meat bag! How can I help you ?

The chatbot simply is supposed to respond to a user greeting (Part 2: Writing Chatbot Tests goes into depth).

Understanding the Botium Stack

When we talk about Botium, we usually mean the whole Botium Stack of components:

  • Botium Core, the heart and brain of Botium
  • Botium CLI, the swiss army knife of Botium
  • Botium Bindings (former TestMyBot), the glue to bind Botium to test runners
  • Botium Box, the management and reporting platform of Botium

Botium Core, the heart and brain of Botium

All of the components in the Botium Stack build on top of Botium Core (except Botium Core itself, naturally), the heart and brain of Botium. Just as the heart and brain in your body are vital parts with very low chances to ever see or touch them, you most likely won’t ever get in touch with Botium Core directly: it’s the fuel, the nuts and bolts, the core technology, the heart and brain of Botium.

Botium CLI, the swiss army knife of Botium

The Botium CLI is a command line tool to actually use everything Botium Core is capable to do. If Botium Core is the heart and brain of Botium, then the Botium CLI stands for the extremities, the hands and feets of Botium (this was the last anatomic analogy in this article). It is a command line tool, which means it doesn’t provide a graphical user interface with buttons, pictures and hyperlinks. While graphical user interfaces are nice for first time usage, they are a big impediment in process and test automation — more on this in Part 3: Automating Chatbot Tests. That’s why we built the Botium CLI.

Botium Bindings, the glue to bind Botium to test runners

The project “TestMyBot” has been rebranded to “Botium Bindings”. Different name, same scope.

A “test runner” is a piece of software which automatically runs thousands of test cases and outputs a nicely formatted summary about successful and failed test cases at the end. There are several test runners available you can choose from (Mocha, Jasmine, Jest, …) and Botium Bindings make them run the Botium test cases.

Botium Box, the management and reporting platform of Botium

Botium Box is the pretty face of Botium (sorry, I couldn’t get past this anatomic analogy …). A modern, responsive, easy-as-hell web-based graphical user interface to configure, control and monitor every aspect of Botium Core.

Botium Platform: Everything you need to run Botium in the Enterprise

Botium Platform extends the open source Botium Stack libraries with enterprise features (relational database support, multiple deployment options, monitoring, build pipeline integration, load balancing and more) and includes enterprise-grade support.

While the Botium Stack libraries are open source and free (“free” as in “freedom” as well as in “free beer”), the Botium Platform is an SaaS offer.

Frequently Asked Questions

Do I need developer skills to work with Botium ?

No. As soon as Botium Stack is configured (which can be hard, to be honest, depending on your chatbot), all you need is to have some generic skills: writing text or Excel files.

Does Botium help me in developing chatbots ?

Botium is not a chatbot authoring tool. It helps in the training phase of a chatbot as well as in quality assurance. So yes, indeed Botium helps you in developing your chatbot.

How much does it cost ?

The Botium Stack libraries are open source and free (“free” as in “freedom” as well as in “free beer”). The Botium Platform is an SaaS offer (find pricing details on our website).

How do I get help ?

  • If you think you found a bug in Botium, please use the Github issue tracker.
  • The documentation on a very technical level can be found in the Botium Wiki.
  • For asking questions please use Stackoverflow — we are monitoring and answering questions there.
  • For our VIP users, there is also a Slack workspace available (coming soon).

Looking for contributors

Please take part in the Botium community to bring chatbots forward! By contributing you help in increasing the quality of chatbots worldwide, leading to increasing end-user acceptance, which again will bring your own chatbot forward! Start here: