As more employees, partners and consumers become dependent on mobile applications, the push towards enterprise mobility continues to increase.
As more employees, partners and consumers become dependent on mobile applications, the push towards enterprise mobility continues to increase. To keep pace with enterprise mobile application adoption, application development and testing teams must deliver apps with speed and quality. The time consuming, manual testing strategies of the past no longer work, so development and testing teams are having to work together to combat the challenge of agile mobile app development and testing.
With 2016 being a pivotal year for enterprise mobile apps, we wanted to better understand these challenges. What are the common issues companies are experiencing? After polling experts in the field, we discovered some common mobile testing challenges and their solutions.
Common Mobile App Testing Challenges:
According to our experts, fragmentation of devices and operating systems will be the biggest challenge enterprises will face in 2016. There are now over 24,000 unique Android devices in the market, and more than 5,000 of these went on sale in the last year alone (Peach Pellen). With a growing number of device configurations, OS versions and form factors in the wild, developers must test and support an exponentially growing number of device variations. When developing a feature, the engineer must have an arsenal of devices at hand to test every change (Craig Lurey).
Developers and testers must create a comprehensive testing plan and testing lab that can support the wide range of devices and operating systems (Maribel Lopez). In order to handle this challenge, companies can use customer numbers and statistics to create so called mobile device groups to downsize the effort in developing and testing on different devices. For example there can be three groups with high, mid and low priority devices for testing (Daniel Knott).
2. Enterprise Security
Security was a huge concern in 2015 and will remain a paramount concern and challenge for mobile apps testers in 2016 (E.H Tariq). As more and more employees bring their own devices and apps lacking basic security protections like SSL into the workplace, the risk of a security breach heightens. Testing for security is fundamentally hard, because most testing focuses on making sure that a system does what it is supposed to do, whereas a lot of security is about making sure that a system does not do what it is not supposed to do (Jason Hong).
To combat these security challenges, enterprises should increasingly adopt governance solutions for Mobile Device Management (MDM), Mobile Application Management (MAM) and Container and Identity Management (Muhammad Fahad).
3. Other Challenges
- Scalability: Building a mobile app is one thing, but capacity planning at scale can present a real challenge. Load testing can help, but ongoing monitoring and tuning is essential to building an app that can scale (Sean Hull).
- Testing in the Wild: It is critical that software developers test mobile apps in the same environments their customers will be using them. This means getting out of the office and testing in the wild (Daniel Knott).
- Cross-device Compatibility: New devices like the Apple Watch and other wearables are continuing to expand the matrix of devices (Francisco Kattan). To keep pace with these changes, testers need to shift their focus from smartphones to wearables and work toward improving the quality of responsive design (E.H Tariq).
- Keeping Skills Sharp: Testing strategies change daily, so keeping application testing engineers’ skills sharp is key to ensuring an application test will be successful (Michelle Drolet).
- Test Automation: Many people think that “automate all things” on mobile is the way to go, but mobile devices are different and must be treated differently compared to web or desktop applications, and automation might not always be the right solution (Daniel Knott).
Here are the answers we received from out experts:
Author: Peach Pellen, CTO, Black Gate Games
The biggest technical challenge all mobile developers face when testing their apps is fragmentation. There are now over 24,000 unique Android devices in the market, and more than 5,000 of these went on sale in the last year alone. Development platforms like Platino (2D) and Unity (3D) help immeasurably thanks to their automatic scaling and device detection, but it remains a challenge.
Another challenge that I increasingly see is test cycles and time burn; outsourcing app development isn’t new but it’s at a greater scale now than in the past, and when you have the project and QA managers in the US while the rest of the team in India, you can easily lose several hours every few days due to the time difference while waiting for instruction or a sign-off.
Author: Sean Hull, Scalability and Performance Consultant, Heavyweight Internet Group
Building a mobile app is one thing. But how do you build it to scale?
Capacity planning at scale can present a real challenge. Load testing can help but may not identify real world patterns. Seasonal traffic may bring unique footprints. Monitoring & ongoing tuning are also essential.
Author: Michelle Drolet, CEO, Towerwall
Both online and mobile apps are a moving target; new vulnerabilities are popping up every day. Testing variables are changing daily; what worked last week doesn’t this week. Keeping application pen testing engineer’s skills sharp is key to ensuring an application test will be successful.
Author: Jason Hong, Associate Professor, Human Computer Interaction Institute
Security will be the biggest challenge enterprises will have with testing. Employees are bringing their own devices into the office and installing arbitrary apps. Only a few of these apps are actually malicious, but most of these apps were created by developers with little experience in computer security, and often lack basic protections like SSL. The problem is exacerbated with the growing number of vulnerabilities in Android and iOS, and the fragmentation of these operating systems across multiple platforms. Lastly, testing for security is fundamentally hard, because most testing focuses on making sure that a system does what it is supposed to do, whereas a lot of security is about making sure that a system
does not do what it is not supposed to do.
Author: Muhammad Fahad, Software Architect, Folio3
BYOD and lack of awareness on governance tools for devices has opened up a big hole in enterprise security. To me the biggest challenge ahead is ensuring enterprise security because enterprises are increasingly adopting tools for Mobile Device Management (MDM), Mobile Application Management (MAM) and Container and Identity Management. This is similar to trends from the initial days of the web when we saw firewalls and web traffic scanners become popular.
Mobile app vendors will need to ensure their apps follow local and network policies; resources should be accessed on a needs basis with proper consent and should be revocable. Mobile platforms are continuously updating their resource usage based on expanding user base and devices; therefore app vendors need to ensure compatibility with the latest Mobile OS versions that are constantly updated. Additionally, data stored on the device should be encrypted and purged when the user signs out from the app.
Author: Maribel Lopez, Principal and Founder, Lopez Research
The biggest technical challenge is developing a comprehensive testing plan & testing lab that can support the wide range of devices and operating systems that exist in the market today. Additionally, companies need to test beyond crash performance and test the connections to databases that provide information to the app.
Author: E.H. Tariq, Technical Architect, Xavient Information Systems
Current times are exciting for mobile application development and their effective testing. Mobile apps have proved to be a boon for both professional and personal development. But, companies involved in their development and testing have had to cross many hurdles to deliver valuable applications to match the manifold expectations of mobile app users.
Below, we will look into some of the major challenges faced by mobile app testers.
With the Apple Watch introducing wearable technology, more and more industries are focusing their attention on its use. Also, with the availability of varied sets of operating systems and devices with different screen dimensions, testers need to work more toward the quality of the responsive design. Simultaneously, they need to shift focus from smartphones to wearable device apps for various industries in 2016.
M-Commerce, Banking, and Mobile Payments
A survey conducted by e-Marketer found that 19% of retail ecommerce sales in 2016 will be made on a smartphone or tablet. With the advent of m-commerce in 2015, testers now need to focus more on accurate functionalities and the quality of mobile apps that support ecommerce activities rather than debit/credit cards.
Big Data and App Analytics
As connectivity via multiple devices and the wearable market grows, there will be a greater focus on big data and analytics in 2016. Adding new data collection methods and scalability to the mobile apps will a big challenge both for mobile app developers and testers in 2016.
Gartner predicts 75% of mobile applications failed basic security tests in 2015, resulting in information leakage and hacking. Hence, security remains a paramount concern and challenge for mobile apps testers who are faced with needing to take serious action to validate the accuracy of firewall systems of their mobile apps.
HTML 5 vs. Native Apps
With the growing popularity of HTML 5 and its development tools, more and more industries will utilize it to create hybrid mobile apps. Testers need to ensure that developed hybrid mobile apps behave more similarly to native apps so users can use these apps without any hassle.
Author: Craig Lurey, CTO and Co-founder, Keeper Security, Inc.
The biggest challenge in testing mobile apps is the growing fragmentation of device OS versions and platforms. Developers are strongly encouraged to support the latest hardware features and OS versions, but in many cases supporting the latest hardware and OS software requires major changes that drop support for legacy versions. At some point, developers must choose which subset of users will no longer receive app updates. Those users must still be supported from a backend and support perspective, even if they cannot receive app updates. Every few months a major update to the underlying OS is pushed out to users which can dramatically affect the operation of your app. With a growing number of device configurations, OS versions and form factors in the wild, developers must test and support an exponentially growing number of device variations. When developing a feature, the engineer must have an arsenal of devices at hand to test every change.
Author: Daniel Knott, Software Tester, AdventuresinQA.com
From my point of view there are three big challenges every mobile developer or enterprise will face in the year 2016. The first one is fragmentation, which is the evergreen of challenges in the mobile development and testing industry and the problem is not getting easier. In the Android world there are more than 24,000 distinct devices on the market and the number will very likely increase this year, too. The same problem exists on iOS as well with less devices but with nearly the same challenges. In order to handle this challenge, a company can, based on the customer numbers and statistics, create so called mobile device groups to downsize the effort in developing and testing on different devices. For example, there can be three groups with high, mid and low priority. Based on the customer devices, the groups will be filled up with these devices and a company can use them for developing and testing. This is one way to handle the challenge for fragmentation.
The second challenge we have to face is test automation. The current mobile testing tool landscape is not nice. There are many tools on the market from closed to open source but no tool is able to cover the mobile landscape in an efficient way or is mature enough to be used in a development environment.
Furthermore, many people still think that “automate all things” on mobile is the way to go, but this is just wrong. The mobile world and mobile devices are different and must be treated differently compared to web- or desktop applications.
The third and last challenge I see for 2016 is testing in the wild. This is a people problem rather than a tool or process issue. Since mobile is getting bigger and bigger, developers and testers must shift from web or desktop applications to mobile apps. The problem is that those people treat the mobile apps like web or desktop apps, but as I mentioned mobile apps and the whole mobile world is different. The customers are on the move while using the software and the developers and testers must be on the move as well while they are testing the app. It is critical for the app success to test it in the same environment where the customers will use it. Therefore, mobile people must test in the wild and leave the office for it.
Author: Francisco Kattan, Mobile Ecosystem Executive, Appery
Device fragmentation is going to get even worse and will represent the biggest challenge for testing mobile apps in the new year. For example, smartphone manufacturers continue to add new capabilities that are device specific such as 3D touch on the iPhone 6S or the Apple Pencil for the iPad Pro. In addition new device form factors such as the Apple Watch continue to expand the matrix of devices that have to be tested.