In an economy where apps have become the very heart and soul of almost any customer centric business, we will not have more than one attempt to ensure the quality of your customer’s digital experience and set a desired customer loyalty.
If we want to the main activities to achieve the above, you might want to look at the below distilled list of must do’s.
1. Test Functional Scenarios with Different Connection Qualities/ Virtual Networks Simulation
Sending traffic over different Internet backbones and testing your app with different connection qualities and types, cellular operators and locations, will give you the confidence that the application performs consistently and reliably across a spectrum of infrastructures, consider this to how quality of commute is when the road is open and you can cruise freely on the highway, and when the traffic is all jammed, and you wait.
2. Test in Production Environment
Variables such as firewalls, specific load balancing configurations, server’s memory configuration, etc., may have a severe influence on performance.
3. Functional Test while Load is Occurring/The Importance of Hybrid
Load Imagine that a functional defect can only occur under load; it would be difficult to find and reproduce that defect. Functional testing during protocol level load testing (hybrid load) also helps to measure and assess the user experience during different load profiles.
4. Monitor/Investigate App User Patterns
There are multiple solutions today that enable tracking usage patterns in-app:
Some solutions (i.e. multiple open source SDKs or commercial Test Fairy with some enhanced reporting and logging capabilities) can easily collect the above information from the app and aggregate the results from thousands of real users.
5. Conduct On-going Performance Sessions (Continuous Performance Monitoring)
After gaining confidence on the performance of the application through a time restricted performance testing sessions with post-session restarts, test the system from a response times point of view, continuously, collect the data, and compare/correlate it prod data, like google analytics, to assure that the response times and UX/CX is as you predicted it during development and performance testing. This activity is complementary to your backend monitoring tools, here we are testing for CX via actual front end.
6. Master the Beta Testing
Release management is a critical path in deploying new versions of your mobile application, as a final quality task before release. Consider using beta versions and distribute them among a pre-defined population of users. Those users can be a selected group of customers, that will experience the app for the first time and feedback on it, without jeopardizing their CX, after all, they were selected to be the Beta audience, and they know that they are special.
7. Backend Database Testing/Monitoring
If you ignore the performance of the database that handles your application data, your end user’s experience will suffer. Setting and monitoring performance baselines for your database through roll out is absolutely essential. This may include running production system stress tests to ensure your database can handle the new data loads, setting thresholds to avoid inefficient or poorly performing queries, and tracking real user response times to ensure a consistent user experience throughout the roll-out process.
8. Cross-device, Cross-browser Testing
There is a healthy supply of great tools and services that enables us to test our apps and web-sites on different mobile devices, with different OSes, different browsers from different versions, allowing us to gain confidence in our backwards compatibility, helping us to assess the impact of an app upgrade across all of our customer devices and OSes – we know them from google analytics.
9. Use CX Surveys
Customer Experience cannot be properly evaluated by your testers or developers. Their knowledge of the application creates an unintentional blindness that prevents them from noticing fundamental problems. Customer experience is best evaluated by customers, an external user experience expert or a combination of both. Use as many external people (i.e. crowd testing) to gain feedback and review of the app. Use it to determine a benchmark survey (first survey to establish a start point, and then ongoing ones, to determine how well we are doing and what are the implications of forced changes (i.e OS upgrade, new device) and functional changes affects the satisfaction from your app. Be naughty do the same for your competitors, to see how well they are doing, so you can be ahead of the curve.
10. Crowd Testing Crowd
Testing allows you to gain the benefit of multiple customer expectations, mindsets, handsets, geographies, configurations and more. Run load session where you ask several hundreds, or even thousands, of real users to use your application in certain load time slots. Incentivize your customers to report problems you – either by dedicated communities, crowd testing companies or by social media.
Application Economy Growth
App Annie states that a staggering number of 88.3 Billion USDs revenues was produced in 2016 around mobile apps (purchase of, advertising in), this number is expected to reach 190 Billion USDs by 2020.