Mobile applications are a booming business. Mobile application testing is critical for successful development and launch of applications. But what skills are in the highest demand for mobile app testing resumes?
Adam Christian is vice president of development at Sauce Labs, which provides cloud-based tools for mobile and web app developers for application testing. The company recently expanded its Appium test platform to include support for Android OS.
Christian said that the mobile app testing ecosystem is still immature compared to web development. Generally, the process involves building an app — mostly manually, as source code for mobile applications is limited compared to web applications — then go into beta testing, perhaps with a small number of users or buy accessing device “farms” with hundreds of smartphones or tablets. Once beta testing is complete, the app gets submitted to either Apple’s iTunes store or the Google Play store for Android, which subject the app to review and release it if it meets their standards.
However, Christian noted, “they don’t catch everything, and if you haven’t caught everything, you just released something to the entire world that has a huge bug in it. And you have to go through the entire process again. It could be out there for weeks.”
And that, he said, can have serious consequences for an app maker. Beyond the practical concerns that users may delete a broken app because they get frustrated or nervous about device security, Christian said he knew of one case where a web app was released with a malfunction in pricing that caused millions of dollars in lost revenue.
So mobile app testers’ role is critical. And there has been increasing interest in automating the testing process. Recently. San Francisco-based mobile app testing and debugging company Appurify raised $4.5 million in series A venture funding, led by Google Ventures. The new company, founded last year, has a total of $6.25 million in funding and focuses on offering developers cloud-based automated testing of applications across farms of cellular phones and tablets on multiple carrier networks.
But those efforts are still often in fledgling stages. As the ecosystem changes, a mobile app tester has to stay current on trends in the ecosystems, Christian noted. And those can be complex, with Apple and Google frequently releasing new versions of browsers, their operating systems and different APIs. In the Android ecosystem in particular, mobile app testers have to be able to negotiate a fragmented ecosystem with hundreds or thousands of difference devices with various screen sizes, versions of the OS and browsers.
Another challenge, Christian said, is that development for the Apple ecosystem can only be done on Macs — which is a barrier both in terms of broader familiarity with PC-based systems and programming languages, and in that cloud-based testing such as that done by Sauce Labs is practically impossible to do legally with Macs.
“Developing for mobile is really hard, and a little bit scary,” said Christian.
And mobile app testing is another level beyond just development, he added. Writing tests isn’t something most developers do. User interfaces are still mostly tested manually, which Christian said isn’t a sustainable industry practice. However, he added, “the tools are actually evolving faster than what we saw with the Web.”
General skills in demand include a talent for debugging applications and eagerness to be part of a fast-moving, quickly changing ecosystem
- Â A talent for debugging.
- Â Eagerness to be part of a fast-moving, quickly changing ecosystem, often working for small, nimble companies and start-ups.
Sauce Labs, which is hiring as of June, has several openings with multiple qualifications listed. Appurify, flush with its new investment funding, also has had recent job listings.
Other skills commonly requested for mobile app testing resumes of engineers and others who will be helping build mobile app testing platforms include:
- experience with virtualization for Linux, or VMWare, and data center operations
- experience with cloud infrastructure and SaaS (software as a service)
- familiarity with a variety of programming languages, including Python, Javascript, CSS, Node.JS, Testing Frameworks, PHP, Websockets and Redis, as well as client drivers.
- Bachelors or Masters in computer science — although as Christian noted, there are many developers who are self-taught at this stage in the ecosystem, because there is little formal training for mobile app testing.