Mobile App Testing – Best Practices – Part I

Hi!

As we were talking about the Mobile Market, I felt that it was important to post another text about it.

This work done by Muhammad Kashif – source here – It is a well-developed information that can guide you through the Mobile App Testing. It talks about the Practices, Functionalities, Graphics, Multiplayer tests and more.

I do recommend and hope you can learn a little more about it as I did while reading. J

MOBILE APP TESTING – BEST PRACTICES

The trend of application development for mobile devices has been increasing at a rapid pace. According to the International Data Corporation (IDC) 182.7 billion mobile apps will be downloaded by 2015, a 1600% rise from the 10.7 billion apps downloaded in 2010.

As such, there is huge demand for high quality mobile apps and games. The operative word here is quality, since quality is the key to user retention. Smartphone & tablet users download hundreds of mobile apps/games every month, but they only keep the ones that offer them a high quality user experience. That is why proper mobile app testing is vital in the development process.

Although there are a variety of factors that must be tested for during the mobile app testing phase, the 3 basic elements that absolutely must be tested for in any mobile app or game include:

 * Ensuring that the app works as it should
 * That it offers rapid response
 * Has no usability issues or bugs which could ruin the user’s experience

As users have no lack of variety when it comes to mobile apps, and if your app does not meet their expectations in terms of quality and usability, they will uninstall it and download one that does. So it’s essential to thoroughly test the developed app or game prior to releasing it into the market.

The following discussion highlights some best practices to use when conducting Quality Assurance and Testing of mobile applications in general and when testing mobile games.

MOBILE APP TESTING BEST PRACTICES

When testing any mobile app, you should always start by assessing the User Interface (UI), as this is the key element that the user will interact with and critical to the overall user experience. But before you start testing the app’s UI, you should first look at some similar apps to get a sense of the key elements you should be looking out for, to use as the benchmarks to judge the app’s UI against, when testing.

These key elements typically include the overall theme of the app – as a rule of thumb it should be similar to the OS’s native apps’ theme, the design of the app’s icons, the progress indicator, the menus and app’s overall responsiveness. If the app is supported on different devices having different screen resolutions, it is best to start the app’s testing with the device having the smallest screen size and then progress to the larger screen sizes, in order to spot any UI layout problems.

Regression testing should also be done after any UI layout changes to ensure that the app looks appealing on all supported screen sizes (both small and large). In case the app supports changes in screen orientation, then UI testing should be done in both portrait and landscape modes, by rotating all the pages of the app to ensure that the display remains consistent and the app does not crash on changing screen orientation.

When testing cross platform apps and/or apps supporting multiple devices and screen resolutions, it is a good practice to test the app on all the targeted OS’ and devices. If however you don’t have access to the different devices needed for testing, you can use an emulator to test the app. Keep in mind though that the overall performance of the app on an emulator might not be the same as its performance on the actual device, so we recommend using a combination of device and emulator based testing in such cases.

The type of generic mobile app testing that you should conduct on all target devices includes:

* Application installation / uninstallation
* Application launching
* Build upgrading
* Receiving text messages, phone calls & social media notifications with the app running in foreground / background

All of the above are practical scenarios from the user’s point of view and must be considered during testing in order to access their impact on the app’s functionality and overall responsiveness during these situations. Depending on the nature of the app developed, you may need to perform additional tests on the app, to ensure that all functionality/features work perfectly. These tests can include:

* Location Based Testing – for apps that offer/use location based services
* Network Connection Switching Impacts (WIFI to EDGE, EDGE to WIFI, WIFI to WIFI) – for apps that utilize a network connection
* Retina / Non-Retina Image Testing – for apps that support both retina & non retina displays
* Memory Leakage Testing – to ensure that the app does not suffer from any programming issues that impact its responsiveness
* Battery Consumption Testing – to ensure that the app is not draining too much of the device’s power
* Security Testing (for enterprise mobile applications) – to ensure that data communication is going through SSL/TLS and data encryption is being done at the application level, etc.

Automated testing can also be conducted on the app if you want to save time, via test automation frameworks such as Robotium. These tools allow you to write automated test cases for function, system and acceptance test scenarios spanning multiple Android activities, and test them on various device emulators.
Advertisements

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s