Need to stress test an iPad app? Build a LEGO robot!

As a former software quality assurance manager in a past life, I have a soft spot for unique application testing methods. Maybe that’s why this story out of Pheromone Labs, an iOS development shop, caught my attention today by way of the NXT Step blog. The team is building a stop-motion iPad application for an unnamed client and was asked to stress test the software by taking 10,000 photos with the app.

Unless you’ve got nothing but time on your hands or don’t mind hiring a temp or intern to tap the iPad screen repeatedly over several days, this is an automated testing situation if I’ve ever heard one. But how do you automate something quickly and cheaply to test the app?

That’s where one of my personal hobbies comes in to play: Building robots out of LEGOs. As Pheromone Labs’ Mathieu Savage explains in this short video, it was a simple matter of cobbling together a small robot equipped with a pair of capacitive stylii to cycle through tens of thousands of screen taps.

The team used an old LEGO RCX set from the 1990’s, which was a precursor to the LEGO Mindstorms NXT robotics kit that I and many others use today. Using two gears with the attached stylii, the robot cycles through snapping an image, previewing it and then returning to take the next image capture. This approach works because the software only has two specific touch points for this particular test; apps that have additional controls wouldn’t be good candidates for a simple robot. But for the Pheromone Labs team, this custom solution is a huge time saver and means that an actual tester won’t go crazy taking 10,000 pictures from an iPad.

What’s even more amazing is the specification comparison between the iPad and the LEGO robot, which is powered by an old 8-bit microprocessor and a scant 32 Kb of memory for firmware and programs. That’s old school!