In the mobile world, many challenges are uncommon or uncritical in desktop or server software. Testers must be aware of these challenges and how they might impact the success of the application.

Typical challenges in the mobile world include:

  • Multiple platforms and device fragmentation: Multiple OS types and versions, screen sizes, and display quality. 
  • Hardware differences in certain devices: several sensor types and difficulty in simulating test conditions for constrained CPU and RAM resources.
  • Different UI designs and UX expectations from the platforms.
  • High feedback visibility resulting from bugs that have a high impact on users. This may easily result in them publishing feedback on online market places.
  • Market place publishing – requires additional approval cycles for publishing by market place owners such as Google Play or Apple App Store. 
  • Unavailability of newly launched devices requiring the use of mobile emulators/simulators 

The impact of these challenges includes: 

  • A large number of combinations that need to be tested. 
  • A large number of devices is required for testing, which drives up the cost. 
  • New features are released in every version of the underlying operating system. 
  • Guidelines to be considered for various platforms. 
  • Resource-starved CPUs, as well as a limited amount of memory and storage space. 
  • Varying bandwidth and jitter of various networks. 
  • Changes in the available upload and download speeds based on data plans. 
  • The need for backward compatibility to run the application on older versions of the platform. 

The following two examples illustrate typical challenges and their potential impact:  

  • Different devices have different types of sensors and tests need to account for them. Every new sensor added to the hardware may require additional backward compatibility testing. 
  • Some of the network challenges can be dealt with appropriately, even under varying network conditions, by using appropriate caching and prefetching strategies. However, this comes at a cost; a large number of open connections can impact the server-side performance as most apps keep the user logged-in on the server. 

Let’s talk more about the challenges of mobile application testing and business here: