Many of our readers will no doubt recall Luc Texier’s memorable presentation at this years Testbash. Some of us here at Ministry of Testing Towers were also involved in testing/reviewing the BugBuster application. We decided some further information was warranted so here for your reading pleasure is an interview with BugBusters creator, Oliver Crameri.
Hi Oliver. Can you tell us a bit about yourself?
My name is Olivier Crameri, I’m the Co-founder and CEO of BugBuster, a Switzerland based startup.
As a Co-founder and one of the main developers of the technology behind BugBuster, I’ve been deeply involved in product development since the start. In my current role as a CEO I care most about understanding our users and customers problems, aligning our vision with them, and delivering a product that really makes a difference.
How did the product evolve?
Before starting BugBuster, I was working on my Ph.D. at EPFL, a Swiss university. There I worked on program analysis and software testing techniques. Having previously created a web-development company, I was well aware of the challenges involved in developing & testing, and so while I was doing research, I realised that there was a huge gap between the researcher’s theories (not to say, fantasies), and the real world constraints of developers and testers.
This is how we came up with the idea of creating a company that would bring some of the most applicable results from research and package them in a product easy enough to use to bring real value to customers.
We’re now a 5 people company funded by business angels. Our product is on the market since December of 2013.
You’ve approached the automated
testing checking problem in quite a cool way. What made you take this approach and why do you think it’s the right one for the industry?
It is true that we take a different approach to test automation, and we are really proud of that. Our point of view is that it is today still too difficult and too costly to automate a proper test plan for a web application. Robots should be able to do more and should be easier to use. They should be able to replicate complete user work-flows, end-to-end (including any extra steps, like validating an email), without the tester having to write hundreds of lines of code. After all, if you’re going to have to write more code to test your code, what’s the point?
We believe that this effort should be balanced: writing the tests should be quick, and maintenance should be low. This may sound obvious, but we’ve seen countless times customers giving up or holding off on automation because they just couldn’t manage to get the process under control.
We’ve had great experiences with some of our eCommerce customers where BugBuster is used to crawl the catalogue and for each product, verify that the layout is correct and that the article can be properly added to the shopping cart. This is actually very easy to do, and with less code than you would need to write a simple test case with something like Selenium, you can check dozens of product articles instead of just one.
Along the same lines of thought, we propose features that push “end-to-end” testing further. BugBuster can for instance generate one or many valid email addresses that can be typed into the tested web page, and then wait for the validation email to arrive. This is ideal for testing critical user work-flows such as sign-ups: if the email doesn’t show up, it’s a bug; if the email does show up, you can then easily check that its content is correct, and click on any links that it contains to continue testing the user work-flow. Because we are a cloud platform, you can do all of this without having to install any software or setup any infrastructure.
Coming back to automatic exploration and the power of crawling, we just added a feature in BugBuster that enables detecting languages. Originating from a multi-lingual country (Switzerland has 4 official languages), we’re all too familiar with websites that display German in the middle of the French version, or vice versa. Automating testing of that kind of thing is hell, and so people don’t do it. With BugBuster, you can get the list of languages used in a page (or an area of a webpage) and easily verify that nothing’s mixed up, ensuring a better user experience.
As a cloud-testing platform, BugBuster requires zero infrastructure. We store, run and schedule your tests for you! At the moment, we integrate with Github and Jira for issue reporting. We have a Jenkins plug-in (available upon request) and it is of course part of our roadmap to integrate with more tools and deployment stacks so that people can use BugBuster transparently.
Can you give our readers any clues as to what we can expect to see from BugBuster in the future?
Oh yes! We’re really hard at work, and we have tons of ideas to improve the automated testing landscape. While automatic exploration is one of our key features, we recognize that writing simple, directed tests, is really critical to many businesses. Sometimes you just have to know that if you insert 10 in this text box, you get 20 in the next, that’s it! This can of course be done with our API, and we try to make this API as easy and fun to use as possible: for instance, you can use jQuery syntax to find elements, we deal with timing issues transparently, so that you don’t have to insert wait statements all over the place, etc…
This being said, as I pointed out earlier, in the end, writing code to test code isn’t really satisfactory. Other companies have been trying to address this, by providing visual ways of creating test cases, or by creating recorders. Unfortunately, in many cases, the result isn’t so reliable, so people end up coding test cases anyway. We want to change that, and we are hard at work building a really reliable and useful recorder. We’ll make sure to let you know once we have something to show!