Expanding mobile applications into new markets is challenging in a number of ways. Your marketing team has to learn to engage with different cultures. You may need to expand your IT infrastructure to new regions. Your applications might have to be adapted to support new languages and localizations.
For these reasons and more, testing mobile applications effectively as you release them into new international markets is crucial. This article explains the role that mobile app testing plays in effective international expansion.
Why Expand Internationally?
Is your mobile phone app sales strategy global, or are you focused only in the US? According to growth figures, you should consider expanding your global footprint. For example, in this 2017 study by Statista, over one third of humans globally are projected to own a smartphone by the end of 2018. This represents almost 2.53 billion smartphone users worldwide, which is a sizable potential market for any mobile app.
Figure 1 – Statista data compares mobile phone market size and growth by year (Image courtesy Statista 2018)
Before you begin expanding your marketing into global regions such as China, carefully consider what this means to your testing strategy. Details such as screen size, regulatory requirements, connectivity quality and speed, and varying device type popularity per region (see Figure 2) will impact how you test and roll out your app to a wider audience.
Figure 2 – Breakdown of mobile device by country, from a 2017 Kantar US study (Image courtesy Kantar US, 2017)
Mobile Devices by Global Region
The number of mobile devices in use grows each year, with an even greater variation in device size, capability, and network communication speed. This means international testing of mobile apps is growing more complex all the time. It’s also not as simple as choosing Android or iOS, as the permutations of available mobile OS versions and other characteristics like device size require a complicated cross-matrix of mobile tests that vary by country.
For example: your mobile app on an iPhone 6 Plus running iOS 9, or an iPhone SE running iOS 11, or an iPhone X running iOS 11 will look and run differently in each case. International issues such as language text orientation, local network availability, and usage of older devices add to this matrix. As a result, it’s important to choose a test framework, device emulator, or a cloud service that helps to recreate these differences, using real devices where possible.
One of the Biggest Shortfalls: Translation
With almost 1,000 apps being added to app stores every day, there are many reasons why a user might choose one over another. Lack of language translation is one of the simplest issues, but lack of adequate testing of translation when it’s implemented is another. Having a good translation of your app for international markets can increase downloads by almost 130%, but don’t forget other important aspects as well, such as:
- Translating app store description text
- Accounting for fonts and word lengths that vary by country and language
- Improper font size for device sizes that are popular in each country
- Color themes that have subtle meanings per country
- Knowing UI standards per country
With this level of competition, a testing strategy that includes expertise in each of these areas, for each region you plan to target, is crucial to success.
Emulators Versus Real Devices
Device emulators and simulators are powerful tools that not only help developers build and debug mobile apps effectively, they also open the door to early international app testing. The earlier you execute your test strategy, the better off you are in terms of quality. This is especially important because real devices require care and maintenance, and country-specific devices are sometimes hard to get.
However, international issues go beyond devices, and include networks and carriers as well. Multi-network testing is difficult considering global travel may be needed, and a multitude of SIM cards may be required. In-cloud device testing is an alternative to help solve these issues, allowing you to still test according to both emulated networks and devices.
User Acceptance (Pilot Rollouts)
Even after your international mobile app testing effort is complete, it’s best to offer your app to a select subset of users in your target markets to get critical (yet friendly) feedback. This gives you a chance to address potential issues before rolling out to a wider (and less forgiving) international audience. It’s important, however, to provide the tools both for users to submit usage testing feedback, and for your teams to collect and quickly analyze and respond. Test analytics provide this capability, with statistics and real-time dashboards to help you identify and prioritize the most important issues to correct, extending your agile testing process, and helping you stay on schedule.
Ongoing A/B Testing
Once you have a presence internationally, you’ll want to exercise caution launching updates in each international market you target. One approach is a form of beta testing called A/B testing, where you introduce select new features to subsets of users to limit risks and gain valuable feedback before rolling out to a wider international audience. This gives you a chance to address issues while limiting their scope or users affected.
Deep Performance Testing
User behavior will vary by country, and targeting a wider range of time zones may impact back-end services more than you anticipate. As a result, your international app test strategy should include simulated back-end user loads, measuring all aspects of your app, such as:
- App notification times per region, per time zone
- The experience for a single user, end-to-end, including login tests while back-end loads vary (see a detailed list of tests to include, below)
- Multi-user tests: large numbers of users simultaneously execute common transactions
- Mixed scenarios: While bulk transactions take place, execute single-user test scenarios.
- Include battery usage testing, especially with devices popular per region.
- Network performance: 3G, 4G, LTE, and prevalence of Wifi all range per country
The goal is to know precisely when and how performance is affected based on precise measurements in terms of transactions per second, requests per second, and how your end-to-end response times are affected (see Figure 3).
Figure 3 – It’s important to visualize the results of load testing on response time.
Some examples of single-user tests include:
- New user provisioning
- User login
- Data retrieval actions
- Record creation actions
- Actions that cause record updates and deletes
- Large-scale downloads and uploads
- All of the above occurring at the same time
Figure 4 – Understand the impact transaction volumes have on individual users.
All of these tests will require real and simulated loads that can only be safely executed using testing services such as those offered in the cloud, or through specific testing frameworks.
Security, Data Privacy, and GPDR
A test strategy for any application, mobile app or otherwise, would not be complete without specific provisions for security. Automated penetration testing, data injection tests, encryption effectiveness tests, malware analysis, data recovery, and many more, are all critical and possibly required in some countries. Your international test strategy needs to account for global requirements in these areas, regional hacking expertise, the prevalence of jail-broken or counterfeit devices per region, and local network security issues.
In addition to these, the General Data Protection Regulation (GPDR) now requires all mobile app vendors to strengthen their data protection and end-to-end mobile app testing efforts. Failure to demonstrate that the proper security measures and testing are in place can result in large fines, and the inability to do business in these global regions.
Miscellaneous International App Testing
There are a wide range of other use cases that vary by culture that may not be obvious. For example, device interruptions can vary by country, by region-specific apps that behave in unique ways. You need to know how your app will be affected by various notifications and how well it will resume afterwards. Additionally, understand how local device sensors, beaconing that may be in place, and country-specific location services will affect your app.
Leverage a test platform or cloud service that takes environmental issues, social media, communication, or other notification-driven apps that are common in each country into consideration.
Get Started Today
To get started, make sure you combine automated testing with manual testing (carefully organized and tracked) with analytics and visualization tools to help you respond efficiently and effectively. Testing strategies and solutions that leverage both emulated devices and real devices in the cloud can offer you the benefits of early app testing, with the scale needed for confidence when you launch internationally.
Eric Bruno is a writer and editor for multiple online publications, with more than 20 years of experience in the information technology community. He is a highly requested moderator and speaker for a variety of conferences and other events on topics spanning the technology spectrum, from the desktop to the data center. He has written articles, blogs, white papers and books on software architecture and development for more than a decade. He is also an enterprise architect, developer, and industry analyst with expertise in full lifecycle, large-scale software architecture, design, and development for companies all over the globe. His accomplishments span highly distributed system development, multi-tiered web development, real-time development, and transactional software development. See his editorial work online at www.ericbruno.com.