Mobile Testing

Mobile Testing

Mobile devices are considered as one of the basic needs, and hence it is necessary for organizations to consider going mobile, as part of their development strategy.

With this boom in mobile technology, performing mobile testing is also considered a part of quality assurance along with Functional, System, Regression, and Performance testing.

So what are the main factors that needs to be considered, when testing mobile based applications:

  • Mobile infrastructure 
  • Installation testing
  • Compatibility testing
  • Interruption and recovery testing
  • Usability testing
  • Security testing
  • Performance testing

Mobile Infrastructure: 

The need to understand the end user market and the different kinds of digital products that are consumed, helps identify  and prioritize the right devices needed for the test environment.  We also need to consider the growing number of devices and the OS platforms that are released into the market. Verify the requirements to understand if the application will be developed for a specific region or will it be available globally. 

We  also need to consider the different networks that are available, the type of hand-held devices for example: Smartphones with Android, IOS or Windows technology, Tablets, iPads, smart watches , Hand held PC’s etc. Thus increases the need to strategize the test environment correctly. 

Installation Testing:

Test the device using different installation methods i.e from Google store, Apple App store or direct download from websites. We need to consider the different test scenarios, for example: Upgrading the app, custom installation path or default installation path, device with low memory during installation, Interrupts during installation, Installing app with firewall enabled, changing the  network operators during installation, installing for the first time etc to name a few. Similarly we need to account for the uninstallation testing of the app on the similar scenarios as mentioned above. 

Compatibility Testing:

We need to verify that the application is able to run successfully on various platforms against different browsers and OS combinations. We need to test against various screen resolutions,  in landscape and portrait mode .

The application needs to be compatible with other apps, and the integration of the application with other apps also needs to be considered for example : Linking a  youtube video file to an app etc.

Interruption and Recovery Testing:

The application under test needs to handle interruption and recovery of its service and hence various scenarios needs to be considered for example: Low battery notification, SMS/MMS, receiving phone calls, notifications , alarm, force stops etc

Usability Testing:

The application has to cater for different kinds of users and hence the functionality has to be easy to comprehend and intuitive. Hence, some of the major test scenarios to be considered here would be Content, Controls , the app has to adhere to standard protocols, provide tips, default field values, auto- complete options etc.

Security Testing:

Security is one of the major concerns, considering the fact that threats are evolving and increasing at a faster pace than before. The major scenarios to be considered for security testing are storage of payment information, usage of secure network protocols, local data storage, connectivity with various end points and different networks, Authentication and Authorization, inter-process communications with different apps, App permissions, backend service vulnerabilities, data stored in clipboards, usage of device id etc. Testing to ensure that the application follows the Mobile App Security standards is a best practice.

Performance Testing:

If the performance of the mobile application lacks when compared to its competitors, the end users will automatically use the better performing app. Hence, the need to test the applications thoroughly from a performance perspective.

The performance of the Device, Server/API, Network needs to be considered keeping in mind the response time for app startup, battery usage, memory consumption, usage of background resources usage, time taken to load data from server, down time, packet loss, network speed etc should be considered.