Mobile apps have moved from an innovative way to engage with customers and elevate employee productivity to a must have mission critical technology that are a direct reflection of a company’s brand. While the importance of mobile apps has grown, the challenges of bringing to market quality, well performing apps has increased exponentially.
To ensure quality apps Developers and CIOs are required to manage a number of challenges inherent in mobile development such as:
- OS and device fragmentation
- Small and varying screen sizes
- Various degrees of network connectivity
- Finite battery life
Along with these challenges, developers must also manage these processes quickly while ensuring data is secure and back end systems are safe.
These challenges are driving organizations to increase their testing budgets and new strategies are evolving. CapGemini found that the percent of IT budgets going to testing and QA increased from 26% in 2014 to 35% in 2015 and are expected to reach 40% in 2018 according to their World Quality Report.
Modern Testing strategies have moved on from simple functional testing to a focus on performance, security and usability. To improve testing strategies and get apps to market quicker, developers are looking to test broader scenarios and integrate functional testing throughout the development process.
To ensure that applications are performing well in all types of situations across devices, various connectivity and battery power availability, developers are leverage cloud testing services. These services allow them to load their software on many devices and run automated tests to check performance. The breadth of cloud testing services vary from the ability to test on thousands of device or just the most popular ones, as Google free testing service offers. The ability for apps to perform well on the most popular devices is critical but by limiting testing to just the most popular models limits developers’ ability to ensure their apps work properly for a broad segments of the market.
Whether an app is easy to use and operates as designed is also important to app success. To test usability, app developers can recruit their friends and colleagues to test the app or employ a crowd sourced testing services that lets a community of testers experiment with an app and report issues. Testers are also pursuing “testing in the wild” strategies that test their app on the actual population the app is targeting. The drawbacks to this approach is that users may be less inclined to report bugs and developers risk alienating possible users through untested functionality.
While these testing strategies are compelling, the push to get code out the door quickly is causing developers to adopt more agile development practices. As these practices evolve, testing is happening earlier on in the development cycle and more frequently. With testing a more integrated process, testing providers are creating APIs and integration strategies the enable developers to access testing service right from their IDE. Continuous delivery is also becoming a growing trend in mobile where new code is continuously integrated into mainline builds. With new code constantly coming into a build, testing needs to also be continuous and highly automated.
Security is also an important consideration when it comes to testing. Not only do developers want to make sure that apps are secure and personal data is not compromised but access to back end systems are protected. As the world is becoming more connected, APIs are providing app developers doors to enterprise systems. The challenge with making data more available is controlling access and ensuring the wrong people to do not breach these valuable system.