Robot with long finger wants to touch your iPhone apps

Jason Huggins sells a robot that mimics the touch of the human
finger. But it's not what you think. Known as Tapster,
his contraption is a means of testing new software applications on
the Apple iPhone and other touchscreen devices.

Software developers often use automated programs in testing
their new applications, but Tapster takes the idea much further.
It's not a software program. It's hardware -- and it has a
finger.

Well, it's really an iPad stylus. But it acts a lot like a
finger, and you can program the thing to behave the way you want it
to. Huggins will sell you one for just under $1000 (£660). Or you
can build your own. He has also open sourced the Tapster design
using BitBeam, a collection
of parts that can be assembled with 3D printers.

In addition to using to software programs for automated testing,
app makers typically employ people -- real people -- to manually
test their new creations. But Huggins believes that tools like
Tapster will push these people back onto the streets. "About 70
percent of the money spent on testing is in manual testing. About
30 percent is automated," he says. "[But] I think that trend is
changing. I think the trend is towards more automated testing."

Typically, app makers rely on real people to test things that
can't easily be automated or emulated, but it's not exactly
glamorous work. "Manual testing has been viewed as the lowest form
of life on the dev cycle," says Bryce Day, CEO of Catch, a company that makes
applications for managing software testing. "If you can't code and
you can't write specs, you can hopefully catch bugs as they roll
out."

But it's still important -- partly because automated testing
tools often lag behind the invention of new development platforms.
In the early 2000s, for instance, more companies began building web
applications, and although there were certain automated tests that
could be run on the net servers, manual testers were often needed
to test interfaces that showed up in user web browsers.

That's why Huggins created Selenium. Now almost a
decade old, Selenium is an open source framework for running
automated tests on web applications. It lets developers test many
parts of an application in any browser, including Internet
Explorer, Firefox, and Google Chrome.

But then the iPhone came along, and this presented yet another
challenge. Selenium was designed to simulate mouse clicks and key
presses. There are many more ways to interact with modern
smartphones, such as pinching or swiping the screen or shaking the
whole phone. And at least initially, Apple didn't offer API, or
application programing interface, for building testing tools. That
meant you needed manual testing for mobile apps.

Although some automation tools are now available, such as
Huggins' Appium, things like gestures or movements are hard to
simulate. Hence Tapster, which Huggins thinks will bridge the gap
between manual and automated testing.

Tapster started as joke: a simple robot that could play video
games like Angry Birds. He created the original version of the
tool, BitBeamBot, about two years ago and started showing it off at
conferences. Then, about a year ago, he put it up for sale on the
homebrew hardware marketplace Tindie. Soon, the calls came: he
hadn't put a price on the machine, and many people wanted to know
how to buy one.

After a while, he realised it could also be used for testing.
After all, smartphone manufacturers and carriers often test their wares with robots.

That led to the creation of Tapster, which is more expensive,
and designed specifically for phones, not tablets. It adds several
new tools that BitBeamBot didn't have, most notably a base for
holding phones still. Huggins says the original BitBeamBox was just
a hack, but he's put a lot of work into relearning trigonometry to
calibrate Tapster. For test validation, the robot can be integrated
with both Selenium and Appium. Alternately, a camera can be mounted
and the open source machine vision systemOpenCV can be
used to compare screenshots to determine whether a test passed or
failed.

Huggins says that although test preparation company Kaplan is experimenting
with Tapster, no one is using it as part of their testing workflow
as of yet. "As with any new technology, people who have Tapsters
are kicking the tires and learning how to program it," says
Huggins. "It's still early days in the robot-powered testing
revolution."

But he thinks that revolution is coming.

Day, on the other hand, argues that manual testing shouldn't go
away. "Internally, we did some research and determined that going
with an all-automated system would actually cost more," he says.
"If you want to go automated, you will need multiple tools, and
those tools require different talent. The cost is actually quite
substantial."

Day says about 80 percent of the cost of automated testing lies
in creating the test plans. Catch's flagship product, Enterprise
Tester, actually automates this part. It takes specs created by
analysts and software architects and automatically generates test
plans. These can then be handed over to manual testers to run.
These test plans can be used over and over, even as the code base
and interface changes because human testers can adjust accordingly
in a way a test script cannot.

Huggins agrees -- up to a point. He thinks manual testing will
continue to be useful, but he says that automated testing isn't
just about cost, it's also about speed. "Agile development makes
developers want to go faster, but testers can't keep up," he says.
"People who want to slow down the process, whether that's a
database administrator or a tester, those people are being phased
out.

So what can black box testers do to stay relevant in the age of
robot testers?

"If you're in manual testing, you should learn to program,"
Huggins says. For those who can't or don't want to learn to
program, he suggests getting involved in analytics and A/B
testing, which is usually the province of marketing
departments. "They have lots of data that could be used for
testing," he says. "There's an opportunity for someone to take the
role of middleman between software development and marketing
analytics."

This story originally appeared on Wired.com.
Click through for a video of Tapster in action