Botium in a Nutshell, Part 1: Overview

Florian Treml
Nov 9, 2018 · 5 min read

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.

2019/01/20 Chatbots are driving the industry. With Botium we are driving chatbots. After months of hard work we are finally there: we are proud to announce the general availability of the newest Botium Stack member, the Botium Box. Check out some game changing features for testing and training of chatbots with our Community Edition!

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:

hello 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

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.

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.

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 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.

Quick Start

If you cannot wait to start, get a quick glimpse of Botium by starting your command line of choice and start typing (Node.js installation is required):

> npm install -g botium-cli
> botium-cli init
> botium-cli run

What’s happening here:

  • The first command installs the Botium CLI on your workstation
  • The second command initializes a Botium project in the current directory (a botium.json file and a convo file — see next chapters)
  • Finally, the Botium project runs and the test report is shown

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:

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store