Five essential types of mobile app testing to help you woo the user

By Patrick Fan

After months of effort in defining requirements, designing and developing our lovely mobile application, we are now prepared to test it. Here are five essential types of testing that are recommended for any mobile enterprise application to make sure the user will love it.

Project management

1. Functional testing

Functional testing is the most basic test for any application to ensure that it is working as per the defined requirements. Similar to other user-interface based applications, mobile applications require a number of human interactions in user scenarios. Considering all of the mobile-specific challenges like the variety of mobile devices and diversity in mobile operating systems, functional testing is an extremely intensive and time-consuming task if it is done manually. With the promotion of agility in mobile projects, smarter teams are investing time in building automated functional tests using tools like IBM Rational Test Workbench. Teams can then combine automated tests with selected manual test scenarios to balance the coverage and efficiency of the functional testing.

2. Performance testing

As mentioned in the first blog post in my series, mobile performance covers client application performance, server performance and network performance. It is important to make sure that the performance test scenarios cover all those areas. With the help of performance testing tools such as IBM Rational Performance Tester, it is not difficult to identify the existing networks, servers and server-side application bottlenecks given the predefined loads and transaction mix. The client-side application performance test will focus more on user experience, such as responsiveness to the user interaction. If the application is a hybrid mobile application, it will be useful for the team to adopt a front-end JavaScript profiling tool such as PageSpeed to identify the front-end bottlenecks. I also recommend that you run the front-end performance test by stubbing back-end services to obtain consistent and comparable results across time.

3. Memory testing

Mobile devices have very limited memory compared to other computers, and mobile operating systems have a default behavior to terminate applications that are using excessive memory and causing a poor user experience. Memory testing is exceptionally important for mobile applications to ensure that each application maintains optimized memory usage throughout the user journey. I recommend that you conduct memory testing on the actual target device since the system architecture is different from an emulator to an actual device. (For iOS applications, you can connect your actual iOS device with your Macbook and run your application with the profiling tool provided by Xcode for the memory test.)

4. Interruption testing

Mobile applications need to handle different interruptions, for example:

  • Incoming calls, notifications or SMS
  • Low memory warning
  • Cable insertion or removal
  • Network outage or recovery
  • The device power cycle, such as low battery notification

The application needs to handle these interruptions properly to meet the user requirements. Some of the interruptions can actually be stimulated through an emulator, while others, like incoming calls, need to be tested on the actual devices. There is no short path for this kind of testing, and I suggest that you adopt it as part of the functional testing scenarios.

5. Usability testing

Usability testing evaluates the application based on three areas for the target audience:

  • Efficiency: The accuracy and completeness with which specified users can achieve specified goals in particular environments
  • Effectiveness: The resources expended in relation to the accuracy and completeness of goals achieved
  • Satisfaction: The comfort and acceptability of the work system to its users and other people affected by its use

The details of actual usability tests are beyond the discussion of this blog post. However, it is very important to get usability testing in place from the early stage of the application design, and it should not be done only when the application is completed. Usability testing requires heavy involvement of users, and the output might affect the application design, which is very difficult to change in the later stages of the project.

Can you think of other essential types of testing for mobile enterprise applications?

Written By

Patrick Fan

CEO / Founder of beNovelty

Patrick is currently co-founding a technology startup in Hong Kong in 2015. Patrick was a Certified IT and UX professional by IBM and HFI with exceptionally strong proven track records in banking, transportation and public sector projects - received over 10 recognition awards including…

Other Articles by Patrick Fan
See All Posts