Recently in QCon, Gerard Meszaros said that we should run automation tests only on simulators to improve efficiency. We are also considering about the mobile automation test. But I'm not sure if there will be some issues that can only found in a real device? Or some components like camera, gravity sensors could not be tested in a simulator/emulator? Thanks!
Edit:
You can find Gerard's slides here: http://www.slideshare.net/pinot_noir/ensuring-quality-in-cloud-and-mobile-applications.
I read through the slides again and I found that I misunderstood his point. What he really means is that we should try to avoid debugging on the hardware (page 41). And he also mentioned we could trap outgoing requests to the sensors and other services, then inject the response from them. Maybe we can pick some cases that couldn't be fully tested in simulator and then test it with real devices.
Thank you for all your comments! :)