Innopplinc - Blog

Top 61 Mobile App Testing Tips For 2015 – The Ultimate Checklist

TOP 61 Mobile Apps Testing

You have an idea for a mobile app. Great!

You then hire a mobile app development firm or have a friend code it. Super!

You then send it market and it flops. Terrible!

We hear this story at least once a week – from big businesses to funded startups, this story is all to common. And it’s usually because they didn’t test their mobile app for, well, anything.

For your app to be a success, it needs to perform. That means no crashing, no lag, no excuses. To ensure fantastic performance, any app should be tested and retested till every feature and functionality works seamless.

To help you with this, our team of Los Angeles App Developers put together their top 61 mobile app testing tips for 2015. These are the standard testing areas that we do in house every time we release an app. We’ve segmented the list so you can find the most salient tips fast.

Here we go!

Pre-Development Testing

This testing phase is essential to develop a successful app which speaks to users. Testers need to understand what users need from the app and how they will interact with it. Getting into the user’s head is the ultimate goal. UX/UI consulting at this stage is a great idea.

1. Start with paper prototype testing – Even before implementation or design, draw out the User Interface (UI) and the architecture on a piece of paper and analyze if the concept works. A tester’s point of view varies vastly from a developer’s point of view. Listen to the tester.

2. Test competitor’s app – Do this to understand what they have got right and how your app could be better/different/unique. This ground work is essential to build a comprehensive app which covers all essential functionalities.

3. Setup a testing timeline – After the mobile app enters the development phase, it’s better to start testing at least once a week, to check all functionalities and find how everything works together.

Usability Testing

This area focuses on the user’s mobile app usage. If users find it difficult to perform basic functions on your app, then they will uninstall it. These usability tips are aimed at crafting the best user experience possible for mobile app users.

4. Test the basic wireframes of the app – It’s better to initially test the UI of the application and how the navigation works. It helps elucidate if there are any efficient design structures that might help reduce the number of taps and swipes, making navigation simple and desirable.

5. Have a third party test the app – Once the wireframe is finalized, send it to third party tester to understand how well the design works and if it will meet your ends user’s expectations. It is easier to work around the issues at this point of development cycle, than finishing the project and revisiting it.

6. Create Static Comps – Even though it has lost its charm from client’s point of view, it plays an important role in testing. An overview of the interface gives testers an idea on how well users will interact/use the app.

7. Test Clickable Prototypes – If you had initial worries about the UI, this is the best time to talk to your developers about your concerns. Talk about the design structure and navigational issues; come to a conclusion about which will works best for the end users.

8. Always do Pre Release Testing – Before product release, test once again to check if all reported flaws were fixed efficiently. Make sure that the product performs as well as was promised.

9. Always do Third Party Pre Release Testing – Get your app in front of as many people as possible. It ensures an unbiased review of the performance of your product

10. Post-product launch testing  – It’s essential that a run through test is conducted after the product launch to ensure that the app was deployed correctly. Before marketing the product, analyze and fix any issue for efficient performance.

Compatibility Testing

Compatibility Testing

There are many smart devices available in various sizes and platforms. Depending on the requirements, an app will run on iOS, Android, Windows, etc. It should support all screen sizes, OS versions, etc. With wide array of devices, compatibility testing proves to be the most complex amongst all other testing phases.

11. Create checklist or matrix with all device OS version, screen resolution and internet connectivity option. For example: Test Android 2.3 device powered with 3G with a screen resolution of 320x480px, or Android 4.0 device with WiFi and has a screen size of 768x1024px, etc.

12. It’s not necessary to have an exhaustive list, try to target the devices that has maximum market share like Kitkat and above in Android or iOS 7.0 and above in Apple.

13. When you come across a bug in one particular combination, try to replicate it on other devices before creating a bug report. This ensures that it’s not a stray case and helps you and developer get clear idea of the problem.

User-Interface Testing

UI Testing

A mobile app’s user interface is the first thing that captures a user’s attention. It’s essential to have an optimized UI that engages users and captivates them. The various elements to consider during user interface testing are:

Screen Resolution

With a wide range of Smart Devices, it is essential the mobile app is extremely versatile and fits different screen size available.

14. Start testing the app from smaller screen size to bigger ones. There is a high possibility that the app doesn’t fit smaller screens.

15. Check the user interface of the app in both landscape and portrait mode in phones of all sizes. It’s essential to check all the pages of the mobile app in portrait/landscape.

16. Check screen orientation of the virtual keyboard between landscape and orientation. Similarly, it is essential to check all pages for the virtual keyboard placement.

17. Certain pages crash when users open the virtual keyboard, make sure to note when this happens and on what pages.

Touch-Screen & Button Functionality

Every aspect of the app’s navigation depends on touch features. It makes the functionality easy and extremely user friendly.

18. The scroll feature should be seamless with no lag.

19. Pinch to zoom option should be active in an app displaying text. If the text is not visible or extremely distorted, then it should be fixed.

20. The functionality of the buttons should be checked thoroughly, each button should be linked to a mapped destination.

21. Ensure buttons are big enough to accommodate larger fingertips.

22. Some users prefer using stylus; make sure stylus use is tested in detail.

23. Certain models have hard keys associated for the home button, menu and back option. It should work when the app is up and running to get the user out of the app.

App Functionality Testing

Every app is designed to solve a purpose. When the app doesn’t function as mentioned, users uninstall it immediately. The tester must be briefed about the app functionality and its concept. Functionality tests take place in three different processes.

Unscripted Process

24. No test scripts required, testers can run through the functionality seamlessly until they come across a bug.

25. This process must be performed in a single run rather than performing multiple test scenarios.

Scripted Process

26. Create test cases based on each app functionality process.

27. Trace a functionality map with a flow chart and test all features.

Thorough Process Testing

28. Create test cases for all functionalities. Splitting into sub-processes helps testers find even the tiniest bug in the functionalities.

Load Testing

29. When the app size increases due to media storage, additional data, then the app performs slowly. Test to find the maximum threshold data limit for optimum app performance.

30. Similarly, if your app has multiple users running on your server, it is essential to run a load test and check how the app performs. Find the maximum threshold limit to check efficient app performance.

Time Zone Compatibility Issues

31. Work management apps are the ones that have these issues. When a user is travelling across time zones, find how the entry made in the app and ensure it reflects as a sequence and not in a chronological order. Check for such inefficiencies.

App Localization Issue

32. A lot of native apps are multilingual. Test to ensure there are no encoding issues, data truncation issue, or any UI change due to variation in character length.

Social Integration

33. Social integration feature is a must-have option. Many apps allows users to login using their social media accounts, this feature is the most important part. If app doesn’t properly connect with the users social accounts, they’ll uninstall the app immediately. This functionality should perform promptly without any login delay.

34. When users share posts from your app, they should be prompted with an approval window before posting it on their social media account.

External Connectivity Issues

35. Apps are no longer confined to our smart devices. Now we can extend apps by connecting them to external devices. If your app requires such functionality, check the connectivity on all of the following:

Bluetooth

WiFi

USB

NFC

GPS Functionality

36. If there are any navigation features tagged with your app, check what happens when GPS is disabled or crashes abruptly.

37. Check if the GPS hinders the app’s optimum performance.

38. See how the app reacts when users have the GPS option disabled.

Accelerometer

39. Test to check if the readings recorded are accurate and utilized by the app properly. Most gaming apps and 3D visualization apps need accurate values to work correctly.

Additional Sensors

40. If your app requires external sensors or accessories for the functionality of the app, make sure to test compatibility of all the external devices.

Network Connectivity

41. Most apps are developed in a Wi-Fi environment, so you must check the performance in 2G, 3G and 4G LTE connectivity.

42. If your app requires networks like 3G and 4G, check how stable the app performs during the intermittent network changes.

43. Check the performance of app when there is a toggle between WiFi and 3G and vice-versa.

Interruption Testing

44. Smartphones are used for multiple purposes. When you’re working on the app, make sure to test for incoming calls and ensure messages are not blocked. All other services should run behind the app properly.

45. Also appropriate popups or disclaimers regarding battery status, no memory or other notification should occur without disturbing the app performance.

Payment Related Testing

46. In-app payments offered by free apps let users pay within the application. Test to see if the flow of payment process is seamless and doesn’t hinder the app’s functionality.

In-App Payment For Android

47. Test in-app purchases with Google’s reserved product ID. This way you won’t have to choose a payment method or have any need to transfer actual money.

48. Test with your own product ID by creating sub accounts through you developers’ accounts. This way payment transactions can be tested for unpublished applications.

In-App Payment For iOS

49. On iOS devices: Create a test user account in iTunes Connect and on your development iOS device, sign out of the App Store. Then, build and run your app through Xcode. Now make in-app payment through your app by logging onto the App Store using the test account. The text “Environment: Sandbox” ensures you are in the test environment.

Disclaimer: Don’t use the test account in the production environment because the test ID becomes invalid.

In-App Ads

50. Test to see what happens when in-app ads are accessed by a user. Make sure the links work. Test to make sure the ads don’t slow the apps performance in any way or make it crash.

Mobile Application Security Testing

51. Test if the user’s credit card details are stored in a secured database and can withstand brute force techniques of unauthorized users.

52. Test to see only secured network protocols are enforced.

53. When a user has the wrong login credentials, set the limit on and test how many wrong attempts are given to users before they are blocked out of the app.

Operational Testing

54. Test recovery plans in case the app crashes while users are working on it. The app should be able to recover most data, if not all.

55. Test if the app retrieves backed up data after app upgrade or reinstallation.

Installation Test

56. Check if the application gets installed completely and within reasonable amount of time.

57. Check if the app uninstalls without hesitation and prompts users to delete any residual files or folders.

Miscellaneous

58. Test the content of the “Help Section”- It should navigate unfamiliar users through the app efficiently.

59. Regression testing is a must to rerun problem areas and check if the issues are rectified. All other test cases must be tested again to check if the application change did not affect the other functionalities.

60. Check the compatibility of the server-client relationship to ensure optimized app performance.

61. Test the battery usage of the application when the app is running.

Phew! That’s quite the list. We hope it was helpful!

Here at Innoppl, we’ve built custom simulators which help us to test the above 61 points efficiently. Testing is one of the most important parts of app development. Want us to build or test your app? Contact us and let’s start talking!