Appium, often dubbed “Selenium for mobile”, at heart it’s a web server written in NodeJs. Its architecture is modular, which means that it is composed of many small, independently maintained and tested modules. Testing Appium is challenging, but clearly very important, since thousands of users depend on this open source project for their testing.
Appium also has all the usual challenges of a large open source project, for example, ensuring consistency of JavaScript code style across hundreds of contributors. It’s important to have high-quality and readable code. This presentation discusses approaches to and strategies for testing these kinds of large, modular applications. On the Appium team, we use a combination of unit, functional, and integration tests. Modern services like GitHub, Travis CI, and Sauce Labs make it possible for large open source projects to be tested thoroughly, keeping the code and the app at high quality. The presentation also discusses the use of tools like JSLint and Gulp, which help prevent code style issues. Testing the tool that is used for testing is clearly very important. This talk aims to showcase how testing should be approached for large, modular projects that have many collaborators.
Video producer: http://seleniumconf.org/