Robots in the cloud: how Sauce Labs are shaping the future of software testing
We speak to Jason Huggins, father of the Selenium project (and Angry Birds-playing robots) as his company unveils a new suite of cloud-based testing tools for mobile web apps.
Even if you’re not remotely interested in automated web app
testing, you may still have heard of Jason Huggins. His Angry
Birds-playing robot became a viral sensation last year, on
Popular Science, Mashable,
NBC News, with the idea of a computer-controlled artificial
finger flinging birds delighting millions.
What Huggins is professionally known best for, though, is Selenium, the open-source automation tool for testing web apps that he initially breathed life into.
Having previously worked at Google and ThoughtWorks, in 2008 Huggins left to start his own business, Sauce Labs. His company uses Selenium “in the cloud” to provide automated testing of web apps on a range of virtualised browsers, replacing the need for an expensive QA team, and is now used by big-name customers including Etsy, BBC and Eventbrite.
“The cool thing is that testing is one of those killer apps for cloud computing,” he says. “Where you have a very large amount of computing that you want to do, and you need to get it done in a very short amount of time.”
No frames :(
Huggins’ BitBeamBot playing Angry Birds.
Today, the company are unveiling
an expansion of their tools to mobile platforms, with support for
iOS and Android as well as OS X – joining their existing suite of
Windows- and Linux-based browsers. It’s being powered by the
closing of a $3m Series B funding round, led by Triage Ventures,
with Salesforce.com joining as an investor.
And it’s not just commercial news being announced today: there’s some open source goodness too. Sauce Labs’ tech is built on the KVM (Kernel-based Virtual Machine), but they found existing OS X support patches lacking and so reached out to KVM project contributors Alexander Graf and René Rebe. Their patch, allowing OS X (and by extension iOS) to run on the KVM, will be available for incorporation into the project if the community wishes to.
Though Huggins says he isn’t ready to reveal any future product announcements, he describes today’s news as “the beginning of a long path towards rolling out more and more mobile solutions”.
The future plans Huggins is willing to discuss, however, is that of automated testing of mobile apps not on virtual machines, but using custom-built robots called BitBeamBots – yes, like the one he designed to play Angry Birds.
“So at the beginning I was just looking for a fun, silly project to work on, but now it’s been about a year since I created this first robot and I’ve been thinking: is this really a silly thing, and just a curiosity? Is there any utility in it? You look at a lot of new technologies, and they’re just seen as silly toys – even stuff like the telephone or the phonograph, and even the inventors didn’t know where it was going to go.
“One of the things I’ve learnt in the past year is that it’s probably not that silly. A lot of testers have come up to me and said, ‘I need that, I want that’.”
Mobile testing is still in its infancy, he says, and testing tools are still far from complete. Virtualisation, which may be an acceptable option for desktop apps, doesn’t appear to be the optimum solution.
“Very large internet companies have actually started to – even though they use Selenium for their desktop web testing, testing on Chrome, Firefox, IE – on mobile, they’ve started to do more manual testing, just because the maturity of the automated tools are not there.
“So the aim of this project going forward is to find out what it is about manual testing, and put that into the robot. Basically, make the robot more like what the human does when they do the manual testing.”
He cites the example of using cameras hooked up to button-detection software, which is “easier than spending a year and getting a really sophisticated and under-the-hood testing API”. Crucially, these also depend on the cooperation of mobile OS vendors.
“So me creating a robot that can look at the screen and click buttons – that gets you that kind of best of both worlds, where it’s kind of like what you get out of manual testing, but lets you automate it.”
It’s clearly an area Huggins is incredibly passionate about – but for now it’s still very much in an experimental phase, years from production. For now, it’s all about virtualisation.
Oh, and one more thing. Huggins has done his homework and, knowing how we at JAXenter feel about Java, takes a moment to affirm his company’s support for the language and platform.
“Selenium does obviously support Java, and Sauce Labs of course supports Java,” he says. “So Java developers, I want to point out – all the stuff that we’re announcing, the iPad, the iPhone, the Android simulator, all that you can access through Java.”