When business use of mobile applications began a few years ago, poorer performance, bugs and longer load times were expected and tolerated. Today, users expect that mobile apps should work just as efficiently as the desktop apps. The performance assurance buck stops at the software test team, which must rapidly adapt traditional quality assurance functionality, performance and usability testing processes for mobile.
"Mobile is late to the game, so there are existing testing processes and skill sets to take advantage of," said Rachel Obstler, senior director of product management for testing tool independent software vendor Keynote Systems. That's the good news. The bad news is it's a big project to train all quality assurance (QA) staff on different tools and get them up to speed quickly.
Obstler offers tips on adapting test processes for enterprise mobile, avoiding common mistakes in mobile app development, creating a mobile strategy and more in this Q&A.
What hurdles do enterprises face in implementing mobile application development strategies today?
Rachel Obstler: There are challenges that are unique to mobile, such as device diversity, different operating system versions, hardware configurations and connectivity. They all add complexity to testing and, in addition, many companies have multiple technologies they are using to deliver their applications. They may have a website, but also a native or hybrid app as well.
Could you describe how these mobile challenges play out in QA settings?
Mobile testing not only includes functional testing, but also usability and performance testing.
senior director of product management, Keynote Systems
Obstler: A customer once summed this up perfectly after performing an internal analysis of the impact of supporting mobile to their organizations. They looked across requirements, UI/design, development, testing, and while most of these disciplines had a 'small to medium' [ranking], next to QA, it said, 'huge.'
Put all this together, and what you have is a QA cycle that -- if you are not very smart about it -- becomes much longer than in the desktop world, when what you need is for it to be faster. Otherwise, you are forced to cut corners to get the product out the door. Without proper planning and testing, the brand, revenue and productivity may all suffer as a result.
Why is mobile testing a critical measure in the mobile application development process?
Obstler: Similar to any development process, testing does not just ensure that a quality product is delivered to the end user, but also is a measure of how well requirements were adhered to and is a continuous learning tool for process improvements (e.g., how do we avoid these bugs in the future, how do we find them quicker). With device fragmentation and rapid changes in device software, it's even more important in the mobile world that the testing function does not just ensure quality, but that it continues to improve on the process of ensuring quality.
What are key steps in developing and planning a mobile strategy?
Obstler: One important step is to decide on the technology you will use to deliver your mobile products, whether to internal users or external customers. A few years ago, there was a big push for HTML5 and the promise of one app working across all platforms. But then reality intruded, and people realized that there were real trade-offs between Web and native, and a more practical approach was to pick a technology based on their requirements and needs for the application in question.
For this reason, while we see a lot of mobile-optimized websites, we also see hybrid applications emerging that can both take advantage of better native performance and UI controls, but still reuse existing Web assets where appropriate. In fact, when we ask our customers what they will be developing over the next few years (Web, native or hybrid) most of them answer all of the above!
This somewhat simplified chart gives you an idea of the tradeoffs when choosing different mobile platforms.
What are ways to ensure the best ROI for enabling mobile applications in the enterprise?
Obstler: Performance and quality are key. This means that to ensure ROI, you need to test your application pre-launch and also continue to test and monitor post-launch to ensure continued high performance. Mobile testing not only includes functional testing, but also usability and performance testing. Widespread adoption will not occur with an application that is slow or hard to decipher.
What are common mistakes made in development projects for enterprise mobile applications?
Obstler: Not leveraging real-device testing or automation. Real-device testing is the only way to understand the true mobile experience, and with new handsets coming out every month, it is expensive, time-consuming and virtually impossible to keep up [with].
With bring your own device becoming prevalent, you can be sure that some employee will bring in the hot new device and expect to be able to access their applications from it. This is a great use case for a public cloud of devices. Some organizations call this untrusted device testing, meaning that employee-owned devices are unknowns, just as devices in a public-testing cloud. Either way, organizations have to make sure that regardless of where that device came from, the data and applications it can access will remain safe. A public device cloud provides access to all of the latest devices, and also becomes a great testing ground for devices that are out of your control.
What are your mobile application quality and test challenges? Tell us, and our experts will offer advice.