I’ve just received a notification on my phone from my home security app, noise has been detected in my flat, to my relief the security camera has detected the postman. I often wonder how such products are tested, everyday items are rapidly changing, it’s possible to buy ‘Smart Home’ products like app controlled kettles, self-driving vacuum cleaners, keyless app controlled door locks and self-parking cars.
As a developer in test, I’m fully aware of manual and automated testing for web and mobile but I’ve never before considered how robotics may fit into the equation, not until I went to the SeleniumConf 2016 in London. Here, I had the pleasure of attending a talk titled “Robots The Nuclear Option” by Jason Huggins, founder of Tapster Robotics.
For Jason, what started as a passionate hobby turned into a business as he realised there was a demand for his robot, Tapster, for the purpose of testing.
Like a manual tester, Tapster has an eye, arms and a human like finger that simulates touch. It has the benefit of automation; it can run repetitive tests overnight and plug into a CI (Continuous Integration) system. Watch a video of Tapster in action
So what are limitations of manual and automated testing and when might we want to use robotics?
During the talk Jason explained how robots fit into testing. He spoke about a testing scale, with manual testing at one end and automation on the other, robotics sits somewhere in the middle.
The limitations for manual testing are fairly obvious, it demands time and resources. Sometimes manual testing can be inaccurate and, from my personal experience, it can be very tedious.
Automation has many benefits but it still has its limitations; you can’t interact with physical buttons, it relies on testing APIs and it’s hard to replicate human touch or interaction.
Here are some examples of when you might use robotics to aid testing mobile apps.
It’s mostly when you need to physically press buttons or simulate human touch. Interrupting apps with phone calls, pressing volume buttons, pressing the home button to close apps, or using multiple phones that need to send and receive messages or emails to each other. Also, zooming in and out by pinching the screen, circular movements to confirm contact with the phone, or editing or moving items on the screen by touch. You don’t need testing APIs unlike standard automated testing, it opens the door to some test cases that were previously seen as impossible to automate.
So what is the future of testing and will humans be redundant as robots take over?
As we incorporate complex technical items into our home, the testing community is forever playing catch up, trying to evolve ways to overcome the new challenges of testing such products. Certainly, the products that require very thorough testing due to security and safety require huge resources and this is where robotics might be able to help, especially if the product interacts with the environment, like for example, STAR and the Amazon, Echo’s Alexa app.
I recently discovered the use of robotics in medicine, STAR is a robotic arm that can neatly sew soft tissue. Initially, I wasn’t sure I was comfortable about relying on robotics to that extent but after further thought I realised that we already rely on computers, hospitals are full of hardware that keep us alive.
As a comparison, there’s also a lot of talk about the Alexa App, which has been downloaded an estimated 1.9 million times since it was released in 2014*. According to Amazon, Alexa has over 1,000 skills, she can order a taxi with Uber or a pizza with Domino’s.
Alexa gets it wrong sometimes, multiple dollhouses were ordered in America after a news anchorman was reporting on a little girl that has accidentally ordered a dollhouse. All it took was for him to say, “Alexa ordered me a dollhouse.” and the orders for dollhouses came in. Read the full article Amazon Echo’s Alexa Went Dollhouse Crazy
Thankfully the error with Alexa was fairly harmless and maybe it was more down to user error rather than a software issue but imagine the potential errors that could occur with STAR? I would be very interested to know more about how they test the software that controls STAR or how Amazon plans on preventing further rogue orders.
Getting back to the SeleniumConf, to secure our testing jobs for the future, Jason suggests we be more technical and heavily into analytics. He thinks the days of writing automated tests are limited. We will rely heavily on analytics, and algorithms will write the automated tests for us. We will set the parameters, but it will ultimately be the data that determines the test cases.
I’m fairly new to testing and some people ask me if I find the job boring. I’ve also heard that it’s a job for people that aren’t good enough to be developers. I think it’s a great career which takes a completely different mindset to that of a developer. It’s changing dramatically and I think the future is very exciting. I think it’s very important for me to learn about new technologies and tools for testing and challenge the way we approach testing. I found Jason’s talk very inspiring and I know my goal is to learn more about analytics, how we use data and, of course, I want to build my own robot.
*according to Priori data.