This is part 1 of the Botium in a Nutshell series of articles.
- Part 1: Overview
- Part 2: Writing Chatbot Tests
- Part 3: Automating Chatbot Tests
- Part 4: Advanced Topics
- Part 5: The Botium Box
- Part 6: E2E-Testing with Botium Box
- Part 7: CI/CD-Pipeline Integration
- Part 8: Best Practice for Test Case Development
- Part 9: Botium Test Levels or Selecting a Botium Connector
- Appendix A: Botium Wiki
- Appendix B: Botium Connectors
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!
Chatbot Testing Done Right: Botium Box Available Now
Chatbots are driving the industry. With Botium we are driving chatbots. After months of hard work we are finally there…
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, 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.
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: