By Vu Pham
The world of mobile apps is incredibly competitive. Besides many companies moving their business applications to mobile platforms, there are also more than 2 million apps in Apple's App Store and Google's Play Store offers more than 2.2 million apps. The average number of submissions per day for the App Store has hovered around 2,000 so far this year, according to PocketGamer. For any app to stand out of the crowd, it needs to be top quality, and that requires thorough design and testing.
Here are 10 practical tips for mobile development teams trying to build a stand-out mobile app:
1. Test the Right Platform
Depending on which platform your app is built for—native, Web-based, or a hybrid of the two—your test strategy will be different. A native app offers the most control over the experience, but it takes a lot more effort to keep it tested on multiple platforms due to the diversity of the device hardware and OS. Web-based app testing has its own challenges. You'll need to deal with various type of browsers (natively built for the device or standard browsers), performance/load testing, and perhaps, most importantly, how the app works with different device screen sizes in the era of responsive and adaptive Web design. Whichever platform you test, you'll need the relevant testing expertise in your team.
2. Know Your End Users
To build a successful mobile app, you need a lot of data about your end users. You can only make informed business decisions, define your support policy, prioritize development, and refine the user experience if you know how the end user engages with your app. Work with your development team to build analytical mechanisms into the app. Measuring end-user data is crucial, not only for identifying relevant test strategy, but also for making business decisions down the line.
3. Functionality First
The core functionality is the main draw for any app and it has to be rock solid. People seek out apps to perform specific functions. Incomplete or inadequate functionality will result in abandonment, so make sure that the main functions are fully implemented and tested before you move on.
4. User Experience Second
Mobile apps have to be accessible and slick. If the user interface is badly designed, or the functionality doesn't flow intuitively, you need to rework it. Testers must consider usability and highlight any issues. Don't wait until the app is ready for testing to evaluate user experience. You can begin testing the user experience early in the development cycle, as soon as the prototype or design mock-up is ready.
5. Don't Forget Emotional Engagement
The recently released mobile game "Pokémon GO" illustrates the importance of emotional engagement for mobile apps. In the mobile era, there are hundreds of apps serving the same business ideas, but only a handful dominate market share. Even if you can get someone to download and install your app, there's no guarantee that they'll use it regularly. Many apps are abandoned after a single use. Building hooks and strategies to encourage people back is important. Test the emotional engagement of your app with a representative group of end users outside the development team.
6. Smart Balanced Testing
Keep a careful balance between script-based testing and exploratory testing. Remember that script-based testing won't help with evaluating emotional engagement, and this type of testing normally takes longer to achieve the desired level of coverage. Session-based testing is more effective for detecting user experience issues, edge case scenarios, and special usage conditions. Get the mix right to ensure that coverage is as complete as possible.
7. Define Your Support Policy
It's impossible to test every combination of browsers, platforms, and devices. Define your support policy early on and revisit it every three months or so to keep up with the pace of the mobile market. Employ end-user data and market research to identify your target devices and platform versions. The most testing should be focused on the combination that represents the greatest number of end users.
8. Use a Cloud Service to Test on More Devices
You can use emulators during development, but eventually your app must be tested on real devices. It's not practical to maintain a full inventory of all mobile devices. Consider using a cloud-based device management platform that will give the whole team easy access to a wide range of devices and platform versions.
9. Refine and Optimize
There are a few specific test types that work very well for mobile apps to refine and optimize them. As usual, consider alpha/beta testing for key delivery milestones. Use A/B testing to find out what end users prefer and base final decisions on the feedback. Use optimization testing for making decisions on small, simple UI and functionality changes. Fake-door testing may also be used to determine which new features end users are most interested in at an early stage of development.
10. Don't Forget Performance Testing
Mobile devices operate in a range of different conditions and this is easily forgotten when testing. Use real devices to find out how your app handles different signal strengths, multitasking with other apps running, switching between core functions of the phone, and running on different carriers. You need to look at a lot of different scenarios to detect all the possible performance issues.
It's not easy to develop a successful mobile app, but with the right strategy for mobile testing, you can really boost your chances.
About the Author
Vu Pham is QA Manager at KMS Technology, a software development and testing services firm based in Atlanta, GA and Ho Chi Minh City, Vietnam. Prior to joining KMS, he was QA Manager at CSC and Altera. Contact him at VuPham@kms-technology.com.
This article was contributed for exclusive use on Developer.com. All rights reserved.