I spent a very useful and interesting day at SIGIST on Tuesday, presenting a talk on mobile testing, and listening to a number of talks from other speakers.
Simon Stewart’s presentation on how they test they Facebook Android application was very interesting. There is no Android team at Facebook, with all feature development taking place in the same team, irrespective of the platform. This helps ensure that the offerings are consistent across platforms.
They make a lot of use of test automation, (something that Facebook are famous for), and this applies to Android as much as other platforms, in particular a focus on unit testing and functional test automation using Selendroid.
Facebook have two main guiding principles for their test automation:
- Signal > Coverage – ensure that the results of running tests are acted upon, and failing tests are fixed or removed.
- Speed > Coverage – ensuring nothing takes more than 10 minutes to run, and running tests in parallel.
Facebook also use a lot of dog-fooding and make use of Google’s Alpha and Beta test programs to ensure a wide coverage of devices and test scenarios, in particular to fill gaps between their primarily automated test strategy.
I drew a mind-map of the talk which explains everything in more detail. Click on the image to get the full size version.