Lately, it seems I've been discovering a new test automation framework every week.
The latest is called Boozang.
It's a codeless solution that was created to allow you to quickly and easily build end-to-end workflow tests using only your web browser.
And like most new tools, it has “AI” features to help with the maintenance of potential breaking changes to test scripts… with a few twists.
I recently spoke to one of the co-founders of Boozang, Mats Ljunggren, about this new framework.
How AI is Used
Boozang takes a bit of a different approach than the majority of the other companies out there when it comes to machine learning.
Most firms are using AI and machine-learning technology to create more stable tests.
Boozang instead tries to create the test representation, and then use AI to understand better understand and automatically generate tests from requirements.
Natural Language Automation Scripts
The other main difference between Boozang and most of the other tools I've tried is that it uses a natural language approach to test script creation.
If your an old timer like me you might be more familiar with the term keyword testing, it's basically the same concept with the exception that Booznag always knows the current state of your application under test.
Instead of using CSS selectors and some of the other methods you probably use to identify elements, they created a new type of element selector.
When you record a test, it records it in natural language.
For example, if you click on a link called Automation Guild 2019, when you’re done recording the test script will instruct you to click on an “AutomationGuild2019” link rather than an XPath or CSS selector link.
So the requirement and test become easy to read and understand.
Mats explained that this approach allows you to do a lot of stuff from requirements, and will also help future-proof your tests for the next wave of AI test automation tool functionality they have planned.
Creating a Test
You can record a test, or you can use their language to write the test, and it will automatically run in the browser with the text you write.
In practice, what would happen is you would record the test, and then you might use the natural language text version to copy, save it and update it.
To do this all you need to do is in the tool itself click the record button and perform actions against your application. To add a validation just click on the tools validation button and click on the element you want to check in your application. When done click the playback button. You can then modify or add to it using their build in natural “text” language.
This text version of the test carries a lot of value.
For instance, if someone reports a bug, you'll receive a notification, and the script will show the actual text steps that brought them to the section where the bug occurred.
You can also share a test or bug with anyone on your team with a simple link.
All this is done in their browser-based IDE, which has a bunch of built-in feature like the added benefit of promoting communication for the tests you create in this environment.
Selenium is Not Used
Boozang is no different.
Instead, they use HTML-snippet technology to allow you to run it securely in any browser (except IE) without any extensions or local installation.
Automation Test Legos
If you’re still unsure about how this all works with natural language, it's basically like writing acceptance criteria using Gherkin BDD-type syntax, which then translates into pluggable tests.
For instance, the first test will set the initial state, and then you’ll have one or many “when” statements, and then you'll have the desired outcome.
You’d basically use Boozang to create all your testing building blocks, or atomic units, which are states and actions, and then you can use them to create other test scenarios.
To my way of thinking, this is an old automation concept going back to Mercury/HP’s Business Process Testing approach (BPT). (Incidentally, I believe Mercury/HP were way ahead of their time, so let's give them some love and credit here.)
Boozang is not at the level of perfectly matching requirements to test as of yet. But their goals is to get there soon using what Mats called the emergence of “low code/no code.”
The Emergence of Low Code, No Code
Mats also revealed his company's long-term vision.
Even though they are currently focusing all their efforts on test automation, he admitted that at some point he can see them working towards a way to feed the machine requirements, convert them and then build the entire software automatically.
They like the idea of creating software that builds other software. If you think about it, when it comes to codeless test automation platforms, it's always software that builds other software because it builds automation scripts.
So if you figure out the bridge between requirements and tests, nothing is stopping you from achieving the development of the software, as well.
I’m aware this all sounds highly optimistic, but only time will tell. I never thought computers would be able to play chess or drive cars, though, so what do I know? LOL.
As I mentioned earlier, Boozang is not open source, but it does offer a mixed model.
It has an entry level, which is free, and the only limit the number of actions you can perform.
The paid, entry-level licensing option starts at $100 per month. This gets you everything for two users, and from there they have different price points based on your team size.
Clearly, they feel that if they can get a few folks using it, as the team grows you’ll want to buy more.
Boozang has a very opinionated approach to creating automated tests.
You might like it or you might not, but the only way to know is to try and let me know what you think.