1. https://appdevelopermagazine.com/mobile-tech
  2. https://appdevelopermagazine.com/mobile-performance-testing-across-the-transaction-lifecycle/
2/6/2014 10:36:19 AM
Mobile Performance Testing Across the Transaction Lifecycle
Mobile Performance, App Testing, App Server
/performance-testing_gd5jd6gn.jpg
App Developer Magazine

Mobile Tech

Mobile Performance Testing Across the Transaction Lifecycle


Thursday, February 6, 2014

Joe Schulz Joe Schulz


One of the challenges for companies developing mobile applications is to ensure the app will offer consistent performance across the entire transaction lifecycle (app server, networks and device). Failure to do so can result in extreme user disappointment.

Equation Research conducted an online study about mobile app usage, expectations and experiences. Of more than 3,500 smartphone users polled, 84% said they consider mobile app performance to be somewhat or very important, and 79% indicated they would retry a mobile app only once or twice if it failed to work the first time.

Perhaps most ominous for app developers, 38% indicated that dissatisfaction with an app would cause them to switch to a competitor's app, and 31% said they would tell others about their poor experience. Admittedly, apps can launch slowly, freeze or crash for many reasons. However, even the most beautifully coded app stands little chance of operating properly if there are problems with connectivity or throughput somewhere in the transaction chain.

App Server Tests Aren’t Enough

The first and most basic level of testing is to verify load capacity at the app server level. In my experience, most developers use one or more simulation and load generation tools to test how well the app server handles various loads of concurrent users. (If you're not doing even this level of testing, I strongly urge you to start, right away.)

While app server load tests are a critical first step in fine tuning the application and the internal architecture, many developers assume that great response from the app server equates to a great experience for the user. In reality, although the app server may respond correctly, if latency is excessive at any other step in the connection, the effect to the user may be a lock up or a crash—resulting in user dissatisfaction or abandonment.

Embrace Variability

Without testing all the load variables that are unique to mobile, you're like an automotive manufacturer that only tests the responsiveness of its vehicles on smooth pavement in perfect weather conditions. Variables for which you should test as completely as possible to validate the transaction lifecycle include the following.

Operating Systems: Load different operating systems (and different versions) into your performance testing profile. Don't forget about upcoming releases that users may adopt quickly.


Devices and Their Firmware:

A user's device and its components—especially the processor—can have a huge effect on performance (and, therefore, the user experience). The firmware versions of that hardware will also affect response time, so test as many hardware and firmware variations as practical.

Networks: Networks are perhaps the biggest variable in transaction-lifecycle testing for mobile apps. When an app user moves from 4G to 3G, well-written apps readjust their parameters for the change in throughput and latency; others freeze or crash. The same is true for performance delays that can occur when data packets move from TCP/IP to cellular networks and back.

Each network provider is unique and will have its own individual nuances, one of which is the variation in time-out tolerances. AT&T's might be 10 milliseconds and Verizon's might be 30 milliseconds (these are examples, not actual figures). Your apps should be designed to resend data in the event latency causes a network with low time-out tolerances to reject the initial connection request.

Does It Have to Be Real?

Earlier, I alluded to using simulation tools to generate transactions when you load test an app server. Network simulators are also a practical solution if you don't have a legion of beta testers around the globe who will test your app under various network conditions.

In these situations, make sure the network profiles you establish are sufficiently diverse—and that you carry that diversity over to your app server testing, as well. If 100 devices are interacting with your app server with a 50/50 3G-4G network mix, the duration of resource consumption—and therefore the load—will be completely different than if 90% of them are on 4G.


However, simulators alone are not the answer. For testing operating systems, devices and firmware, I recommend app developers simulate 95% of the load with a tool and 5% with real phones where the tester can evaluate and record the actual user experience.

End Notes

Of course, economics come into play, as well, with testing, and the number of variations for which you could test in today's market is nearly infinite. A good rule of thumb is that 80% of your users will primarily operate on 20% of devices and networks. Perform research to determine your target market's preferences and build performance-test profiles for that top 20%. If you don't have the budget to deploy in-house simulation systems, look to vendors that offer cloud-based, real-device and simulated testing in affordable time blocks.

Mobile Performance Testing Across the Transaction Lifecycle







This content is made possible by a guest author, or sponsor; it is not written by and does not necessarily reflect the views of App Developer Magazine's editorial staff.

Subscribe to App Developer Magazine

Become a subscriber of App Developer Magazine for just $5.99 a month and take advantage of all these perks.

MEMBERS GET ACCESS TO

  • - Exclusive content from leaders in the industry
  • - Q&A articles from industry leaders
  • - Tips and tricks from the most successful developers weekly
  • - Monthly issues, including all 90+ back-issues since 2012
  • - Event discounts and early-bird signups
  • - Gain insight from top achievers in the app store
  • - Learn what tools to use, what SDK's to use, and more

    Subscribe here



Stay Updated

Sign up for our newsletter for the headlines delivered to you

SuccessFull SignUp

Featured Stories


FTC AI accuracy policy puts chatbot trust under review
FTC AI accuracy policy puts chatbot trust under review Tuesday, July 21, 2026


Human-Made Video Ads Outperform AI-Generated Creativity
Human-Made Video Ads Outperform AI-Generated Creativity Monday, July 20, 2026




SpaceX accelerates AI push with new hires
SpaceX accelerates AI push with new hires Monday, July 20, 2026


NearLens: Smart Glasses Privacy Taken Seriously
NearLens: Smart Glasses Privacy Taken Seriously Wednesday, July 15, 2026


Agentic Commerce Grows Cequence Unveils AI-Era Bot Defense
Agentic Commerce Grows Cequence Unveils AI-Era Bot Defense Wednesday, July 15, 2026


Nearly all developers use AI but few secure the code it generates
Nearly all developers use AI but few secure the code it generates Monday, July 13, 2026


Enviromates new browser launches
Enviromates new browser launches Monday, July 6, 2026


AI Executive Order aims to balance security and innovation
AI Executive Order aims to balance security and innovation Monday, June 29, 2026


Top manufacturing trends for 2026
Top manufacturing trends for 2026 Tuesday, June 23, 2026


API scoring tool shows if your API is ready for AI
API scoring tool shows if your API is ready for AI Monday, June 22, 2026


Get More App News