Browse by Year:

CIO Review >> Magazine >> October - 2013 issue

Trends in Mobile Application testing

By

Based in Bangalore, Alethea Communications Technologies is a team of specialists focused on the wireless device ecosystem with expertise in Product Development, Testing and Product Management.
In 2011 NTT Docomo, the largest mobile phone operator in Japan, announced that around 2.5 million of its customers were facing a major service disruption. The culprit was identified to be the huge signaling traffic from ever increasing number of smart phone applications. Docomo was not alone. Korea Telecom faced a situation where voice call success rate dropped down to just 10 percent of attempts. World over, the operators have faced similar problems on multiple occasions. Being a mobile phone operator is tough business. Spectrum licenses cost billions of dollars. Revenue models are under pressure. Capital investment is high on account of new technology deployments. In such a situation, any outage can make life difficult.
Spectrum, being a very limited and expensive resource for an operator is to be efficiently shared for use among large number of users with minimal service degradation. There are clear specifications and test methodologies driven by the industry and developed over the last 30 years to ensure interoperability and sharing of resources. However, these systems and processes have come up short in the sea change brought on by the smart phone revolution.

What went wrong?
Resource allocation algorithms used in mobile networks make certain assumptions based on historical data and statistical profiles of signaling loads from mobile phones. Historically phones were mostly used for voice calls and SMS. Basic data services such as browsing, email and file download were limited in popularity. With the introduction of smart phones and applications ecosystem, historical data are moot. Many applications nowadays are always connected to the network and consume network resources even when idle. This increases signaling traffic and network performance gets impacted as basic design inputs on signaling load are made obsolete. But shouldn't these problems get caught in testing? Here is where a gap in the testing process manifests itself.
Smart phones have two main subsystems, the modem subsystem and the application processor subsystem. Modem subsystem is tested very well based on industry standards. Applications subsystem includes application processors, operating system and the mobile apps that run on the OS. Each of these is also tested very well. However an end-to-end test of the full system is very difficult to undertake during the development of these components. On top of that, the most critical part of the application sub system - mobile apps, are provided by third party developers and installed by the end users. Hence full testing of the complete system happens only in the hands of the customers. Most of the developers in the application subsystem are unaware of the intricacies of signaling and their implications to user experience. Any design decision made that violates the basic assumptions of signaling would not get caught in application testing and would finally impact the system in the field.

New testing strategies
Operators are the most critical part of the mobile ecosystem and every one of them is pitching in to fix the issue of misbehaving apps. There are three main trends evolving. Firstly, the terminal vendors are creating and enabling network mandated features to reduce potential disruption. The second trend can be seen as parties exploring mechanisms to profile the behavior of the apps before they are released. The industry is also witnessing a third trend wherein the Original Equipment Manufacturers (OEMs) are building more sophisticated automated test beds for validation from a system perspective by including apps and network element simulators. By triggering events from one end of the system and monitoring and measuring its impact in the behavior of the other elements, these test frameworks enable detection of system-level issues earlier in the development cycle. OS and App developers have so far used testing frameworks with limited network element simulation. They are now exploring ways of enhancing these frameworks to enable testing scenarios closer to real life deployment.

Impact on enterprise applications
How does all this change testing of mobile apps for enterprises? For one, the emphasis on testing is definitely going to increase. The scope of testing will broaden from just functionality and usability to include aspects such as interoperability, availability and impact on the network. You definitely do not want an operator breathing down your back or your customers blaming you for non-availability of services. With more emphasis on making maximum use of given resources, apps need to target having a minimum footprint on the wireless bandwidth. This would mean enhanced emphasis on understanding the deployment environment and how the app and the network impact each other. Testing/profiling the app with a view to identifying potential signaling and data usage patterns and minimizing them would become a major task.
To summarize, application developers and enterprises should appreciate the fact that they can have a significant impact on the quality and availability of mobile networks and it is in everyone's interests to address these issues at the earliest stage possible through enhancements to the app development process.