We can all agree that ‘everyone is on their phone all the time’, but what does this actually look like? And, how does it impact your mobile application testing strategy?
Let’s take a look at the numbers:
• As of August 2017, there are over 3.5 billion unique mobile internet users. (source)
• 2018 mobile usage in the US is predicted to reach 203 minutes, or 3 hours and 23 minutes daily. (source)
• Over 80% of mobile minutes in all markets are spent in apps. (source)
• 15% of app time is spent in Facebook, the largest percentage for a single app maker. (source)
• 79% of consumers would retry a mobile app once or twice if it failed to work the first time. (source)
• Only 16% would give a failed app more than two attempts. (source)
The twin takeaways from these statistics are: Consumers spend almost 3 hours per day in mobile apps, and a poor app experience is almost certain to discourage your user from using your app again. Pretty important stuff to consider when devising your mobile app testing strategy.
Is a Mobile App Right For Your Business?
So why build an app in the first place? Typically, when a company decides to build a mobile app, they are either playing catch up with their competitors or have identified a previously untapped business opportunity. It’s the untapped business opportunities, in the form of mobile sales, that are truly mind-boggling. Or maybe not. Given the 3.5B mobile users on the planet, it might be no surprise to you that during Black Friday 2017, mobile app generated sales exceeded $3 Billion dollars.
Other reasons to launch an app are brand building and connecting with customers while also providing value. Think about the Starbucks loyalty app. Starbucks leveraged a personalized digital connection offering value through convenience in ordering and paying (or discovering new music in-store) with a loyalty program — only for app users — that transacted 30% of the company’s $5.66 Billion 3QTR revenue last year. Clearly, companies across diverse markets can benefit from launching mobile apps.
So, you’re sold on building an app. Great! The first thing to decide is what type of app you want to build. Here, “type” refers to the three ways an app can be coded.
Types of Mobile Apps: Web, Native, and Hybrid
A mobile app can be a native app, a web app or a hybrid of both. Your test strategy will differ depending on what type of mobile app you decide to build, because each of these types are built differently and therefore tested differently.
Web mobile apps are basically just a paired down version of a website. They are viewed with a smartphones browser and they’re not downloaded, so device configuration and integration aren’t a consideration. The drawback? They can’t utilize native smartphone functions such as cameras, GPS, or phone dialing, and can be virtually worthless if your user is offline. The upside? They’re quick and cheap.
Native mobile apps are coded in programming language specific to the OS, like Objective C for iOS or Java for Android. Native apps are fast and reliable and can access a phone’s functions and devices, like the camera or GPS. In addition, many native apps can be used while offline. Typically, native apps offer the best user experience through their integration and personalization capabilities. The drawback? Native apps are more expensive to develop because they are coded for one type of operating system, which forces development of multiple versions to work on other platforms.
Hybrid mobile apps use one code base for cross-platform compatibility but can still access some of a phone’s native hardware. They’re a web app wrapped in a native container. Since hybrids don’t have to be re-coded for each platform, they’re quicker and cheaper than natives, but lack the performance, reliability, and UX of a native app.
From the above statistics, we can see user experience trumps all else when it comes to interacting with your company. Users expect responsive and reliable apps, and don’t care what path you took to get there! Getting your app to market just to have presence isn’t the same thing as getting your app adopted and used by millions. Sure, there are other factors to consider when making your build choice, such as time-to-market and budget, but factoring your users into the equation is a must. Given the numbers above, it pays to consider your user not only during build decisions, but during testing as well.
Mobile App Testing Challenges
1. Device Fragmentation
The single largest challenge in testing mobile apps is device fragmentation. Fragmentation isn’t when you drop your device and the screen cracks, either. Fragmentation is the wide variety of different devices your app must play well with. The range of handsets to smartphones, tablets, pads and wearable tech provides a huge diversity of environments faced by your mobile app. Fragmentation can also refer to sub-issues, like different screen-sizes, or different manufacturer specs. In the Android ecosystem, you also must factor in individual manufacturer UI’s. Each has its own, often as an overlay of the core Android OS, as in the TouchWiz UI for Samsung. The number of possible Android permutations is intimidating, and it looks like this:
Fragmentation may be intimidating, but it has a definite positive side. The availability of cheap Android phones, usually running older versions of the OS, means Android has a far larger global audience than iOS. For users, fragmentation means that they can get exactly the phone they want, with the features they want, at a price point that fits their budget. This means Android’s fragmentation is THE driver of the increase in global mobile usage, and a profitable market to develop for. The test solution for fragmentation is choosing the right testing methodologies and the right test tools.
2. Simulators, Emulators, or Real Device Testing
You can test your app with a variety of simulator and emulator tools, and knowing which tool is best for what and when in the dev process is tricky. You can read more about test tools in our recent post here, but remember, your app will be used in the real world. Testing in an emulated or simulated environment will never match testing ‘in the wild’.
3. Mobile App Localization
Device fragmentation is driving mobile adoption rates globally. But how do you design your app to be used by different cultures, with different ways-of-being, and different languages? The answer is localization.
Localization is tailoring your app to meet the needs of different markets, and it’s another one of the big challenges in mobile app development. Localization starts with translation, but it’s more than converting source vocabulary to something else. It’s not simply that the language of the app that can be changed, but it’s how the app interacts with the rest of the mobile device, and how the user perceives the experience based on their cultural expectations.
There are 260 million Android users in the US—but there are ten times as many around the world, making localization another rewarding challenge. It’s daunting to think of every language you might want to add to your app, but each one is an opportunity to penetrate a new market. The key to localizing your interface and content for target markets includes selecting a translation service, researching workflow best practices, and devising appropriate test strategies.
Mobile Application Testing Takeaways
Mobile apps are rapidly becoming the primary customer interface for millions of users, and these users expect responsive and reliable service. Issues like laggy load-times, quirky interfaces, and sub-par performance will only serve to drive your user to adopt another app and create a negative consumer image.
The adage “You get what you pay for” is a good one to remember as you build your mobile app. Do you want a quick-and-dirty release just to get market presence? Or, will you spend the time (and a bit more money) to deliver a quality experience? As with all things software, investing a little more in the process nets large rewards.