Mobile App Testing – Gotchas to be aware of!

Image from Flickr | FluentInteraction

So you have a mobile app in place, and you’re all set to take it out to the masses. In a rush to take your app live, you might end up slacking a bit on testing. Here are some ‘must-test’ scenarios that you need to check off before a launch.

A word of caution: This is a ‘must-do’ list and not a comprehensive test coverage check-list. Use it as an ‘anti-embarrassment’ test list.

Test the hardware: When your app makes use of hardware of any kind, make sure to test it in depth. For camera applications, there should be a functional and dedicated camera button. For apps that involve themselves in task and event manager applications, media players, volume keys and other keys, and other keys that take on an additional role in the app, it is important to ensure that the hardware is responsive. If your app is going to make use of sensors, accelerometers, and GPS, the integration of these elements into the app need to be tested.

Test the connectivity and the alternatives in the absence of connectivity: In the course of developing an app, it is a common thing to use a strong WiFi connection in the process of development. However, in the real world, the app you develop can be used with WiFi or specific kinds of network – GPRS, 2G or 3G, make sure to test the app and its functionality. In the absence of these connections, or in the event that there is intermittent or no connectivity, the user is not likely to find use for the app if it cannot function on the available connections. Since users pay for an app, it should be useful to them in all situations, including the need for offline sync.. Test the app in all networks, and identify its adaptability to various kinds of network strengths.

As a part of this stage, test the hardware connectivity also through Bluetooth, NFC (if it calls for NFC) and USB. If your app makes use of these connectivity options for transferring files, or sharing and integrating content across different platforms, it is important to test and see how they handle the connectivity, and how responsive the hardware is.

Test the updates and the medium for these updates: If the mobile app has a server side component, or a web service, it is usually updated from these sides. Whenever it is updated on the server side, there may be a need for a corresponding update in the app itself. Test this to ensure that there are no slips between the cup and lip.

Test interruptions and obstructions to the smooth flow of the mobile app and its functioning: Using an app need not be a smooth experience. There are a lot of interruptions in a smart phone, in the form of incoming calls, text messages and other app notifications, battery low notifications, no storage notifications, weak connectivity or even home screen jumps. The app should be capable of dealing with these interruptions and have appropriate strategies to resume after, ideally from wherever the user last left the session

Test user security and privacy: This is one of the most important elements in an app. A user buys an app and houses it in his mobile phone and tablet with a certain degree of trust, to the effect that there is no violation or threat to their privacy and security. To this end, it is vital to see how the app measures up to these requirements. Identify if there is payment information required, if the app uses secure network protocols and whether or not they can switch to insecure ones, or if it must ask for permissions at different stages, if it uses certificates, if it uses a device ID as an identifier, or if it requires authentication before its data can be used, and if there are maximum number of log in attempts. The app should safeguard security and privacy, and prioritise the encryption of all secure data to ensure that there is no violation whatsoever.

Test payments within the app, advertisement hosting and integration of payment gateways: if the app requires in-app payments, or hosts advertisements and integrates an e-commerce platform, test the functionality of every stage in the process. Test the payment gateway, identify the way accounts are to be created, and how the advertisement servers operate.

Test for storage adequacy: When an app is used in any instrument, there is a chance that it competes for space with heavy storage, increased mailbox sizes, albums, text messages and other content on the platform that may have a bearing on the app. It is important to test the app in all circumstances, and identify if there is a real need to store content. If there is, you’d need to have the most optimal way to add & store content to the local storage.

Test integration with social networks: Many apps come with the option of sharing on social media platforms of different kinds. However, not many users are necessarily comfortable with an automatic sharing across platforms. Prompting a request prior to sharing and publishing the content on social networks is an ideal way to get this out of the way. Test your application to see if it fits the bill on these parameters.  

We’ve given you a few gotchas that are easily overlooked and these are aspects that make for bad first impressions. Square them off, even if you are launching just a minimum viable product!