Mobile QA and Test

Wait! Don’t click the launch button just yet. Are you sure that your mobile app is ready? As the saying goes, ‘you’ll never get another chance to make a first impression’. And this is especially true in a world where users are quick to delete apps that don’t meet their standards. If you’re like most users it won’t take you long to quit using an app that doesn’t deliver a positive experience. In fact, recent studies by firms like Localytics show that up to 23 percent of users will abandon an app after using it just once!

Bugs, performance issues and other problems are always a possibility when launching a new mobile app. At best, an App Store’s pre-launch reviewer might catch the issue and reject your app so that it can be touched up. At worst, your app will launch, users will download it and discover that it’s buggy. Negative reviews will start to pour in like a flood and you’ll be left with a mess to clean up.

The Challenges of Quality Assurance in Mobile

Delivering a consistent, quality user experience across the thousands of device/screen size/operating system/wireless network combinations that exist is a daunting challenge. Implementing an effective quality assurance process that addresses the challenges presented by the mobile environment is critical to the success of your app. To ensure the quality and performance of your app meets expectations at launch, here are some key areas to consider:

Fragmentation of Operating Systems — Fragmentation of the Android operating system is widely considered a barrier to a consistent user experience, a potential security risk, and a persistent challenge for app developers. And given its dominance in the market, this is a large issue. Android holds a 68.67% worldwide share of the mobile and tablet OS market (NetMarketShare) and with 87.6% of global sales in Q2 of 2016 (IDCAndroid developer site). This is frequently compared to iOS, where Apple says 63% of users are on iOS 10, 29% on iOS 9, and just 8% on earlier versions.

Thousands of Device Types & Screen Sizes — In addition to all the different versions of Android, there is a multitude of different devices, with different screen sizes, and manufacturer skins that sit on top. Android phone manufacturers attempt to differentiate their devices by adding custom user interfaces and this additional layer of software on top of one of the variations of Android means an extra round of testing before a new version can be released. The telecommunications companies can also have their own demands about how updates should be tested and rolled out. This HTC infographic provides some good insights into how this process works.

Given the number of devices and platforms supported across the various carrier networks, it is simply too expensive for most companies to purchase and maintain a comprehensive in-house device library for testing. Thankfully there are physical device libraries, emulators and cloud-based mobile testing suites connected to many global operators that can enable you to optimize your testing time and resources.

Performance and Battery Use —Rest assured that users will gripe about anything from slow menus to button speeds. Screen drawing, refreshing and any motion will need to be fluid. Battery drain will also need to be tested under many different environments. Different types of Wi-Fi, different levels of cellular signal, memory access, CPU use and different brightness settings can all impact how much battery your app uses. If your app consumes too much battery, users will quickly abandon it. Apple and Android both provide tools to monitor for energy impact during your testing process.

Other Languages or Countries — If you’re launching your mobile app in multiple languages or countries you’ll want to consider testing for these as well. Each country has its own screen sizes, mobile networks, data speeds, payment systems and more. When it comes to translations, it’s always worth using professionals and having a second round of edits to ensure nothing was missed.

Security Considerations — How secure is your mobile app? If you’re collecting or storing any kind of data that contains personal information, you’ll need to ensure this is encrypted and not available to intruders. You’ll also want to determine what is accessible to power users who have “jailbroken” or “rooted” their smartphone, which will allow access to the core filesystem and to all of the files your mobile app stores on their device.

Cross-Platform Consistency — If your app is being developed for multiple platforms like iOS and Android, you’ll need to ensure a consistent experience. While the majority of users on each platform tend to stay within it, some will own an Android smartphone and an iPad tablet, or vice versa. These cross-platform users will expect your mobile app to function the same everywhere that they use it.

Remember — these are just some of the major areas to look into. Every single aspect of your app should have a proper round of functional testing by a trained professional to ensure that it looks, feels and works as intended.

Testing Methods and Timing

When does testing occur? Well, testing is not something that happens when your app is fully developed. The process starts shortly after project kick off with a review of the initial wireframes to determine if each user story is testable.

When coding of the app starts, testing is an iterative process that occurs throughout the development lifecycle. Each company approaches this differently — some are accelerating development and testing cycles within the confines of the traditional waterfall approach while others are fully adopting test into their agile methodology by leaning heavily on test automation.

Depending on the size and scope of your mobile app, you may want to consider beta testing with a pool of real users. This allows your development team to evaluate the app’s usability, fix any bugs that were missed during the QA rounds and solicit user feedback. Each mobile app development platform has its own beta testing mechanisms and requirements for running a test.

Note that while beta testing can be beneficial, it can also be costly and time-consuming. For example, if you don’t already have a community of beta testers you’ll either need to build or buy one. You’ll also need to determine how much feedback is going to be digested and incorporated into the app before launch. The more beta testers you work with, the more feedback you’ll receive. It’s critical that this feedback doesn’t turn into additional “scope creep” which can significantly delay your launch.

Ensure Usability is Part of the Plan

When development and functional testing are done, you may want to consider a final set of testing to assess the app’s user experience. Usability tests assess how intuitive your app is for users. If you launch an app that is confusing, you’ll lose users and suffer negative reviews which may be very difficult to recover from. And once your users have moved on, they may not give you a second chance.

While the navigation and use of your app might be perfectly logical to you, there’s a chance it might not be for your users. To ensure they don’t discard your app in a fit of frustration, you have the option to hire an expert in heuristic evaluations or to conduct a full usability study. Either way, direct feedback from experts and test groups on usability can have a profound impact on the success of your app.

Quality assurance integrated into each step of your mobile app development project is one of the best ways to ensure that your app delivers the positive experience users expect when they download and launch it. Professional mobile app development firms like ours have dedicated QA and testing professionals on hand to work out the wrinkles for clients. We take this piece so seriously that we guarantee the quality of our code.

Delivering the “perfect” app is rarely easy. But proper quality assurance will at least ensure that the mobile app you launch is one that you’re proud to place in the hands of your users.

Dynamic Leap

Written by Dynamic Leap

Dynamic Leap is a Vancouver based software development company building high quality native mobile applications for iOS and Android, responsive HTML 5 mobile web apps, and hybrid native/HTML 5 apps.

Tags: , , ,