Botium in a Nutshell, Part 1: What Is Botium ?
This is part 1 of the Botium in a Nutshell series of articles.
- Part 1: What is Botium ?
- Part 2: Writing Chatbot Tests
- Part 3: Automating Chatbot Tests
- Appendix A: Botium Wiki
- Appendix B: Botium Connectors
Botium is an ecosystem of open source software components that support chatbot makers in training and quality assurance. The first part gives an overview of the Botium ecosystem, 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 an ecosystem 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, 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 Ecosystem
When we talk about Botium, we usually mean the whole Botium ecosystem 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 ecosystem build on top of Botium Core, 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. A modern, responsive, easy-as-hell web-based graphical user interface to configure, control and monitor every aspect of your chatbot with Botium.
Botium Platform extends the open source Botium ecosystem libraries with enterprise features (relational database support, multiple deployment options, monitoring, build pipeline integration, load balancing, security testing, performance testingand more) and includes enterprise-grade support.
While the Botium ecosystem libraries are open source and free (“free” as in “freedom” as well as in “free beer”), the Botium Box is a commercial SaaS offer (free plan available).
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 is configured 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 ?
Botium Core, Botium CLI and Botium Bindings are open source and free (“free” as in “freedom” as well as in “free beer”). The Botium Box is a commercial SaaS offer (find pricing details on our website — free plan available).
How do I get help ?
- Try the Botium documentation for questions around Botium Core, Botium CLI and Botium Bindings
- Try the Botium Box Wiki for questions around Botium Box
- Try the Botium Community Forum for asking questions to the community.
- Report bugs in our Github ticket tracker