User Experience Testing For Mobile – 3 Keys to Testing for Real User Conditions

If your company is taking steps to be a more digitally engaged business, congratulations — you’re on the path to innovation and success. But when trying to deliver high quality digital products across mobile, web (mobile web, responsive web, desktop web), and IoT (Internet of things) on a variety of operating systems and networks, remember to stay focused on the all-important user experience and be aware of User Experience Testing.


User Experience Testing

Everything is driven by a winning UX: Business goals, customer satisfaction, positive app store reviews, word-of-mouth uptick and, of course, revenue. But in complex digital environments, testing just basic mobile app features under ideal conditions will fall short of delivering great UX.

starbucks store Miami User Experience Testing starbucks native mobile app User Experience Testing

For instance, above is a recent search for Starbucks stores in Miami using both web search and the Starbucks native mobile app (on the right). Clearly, the mobile app testing team did not test against real conditions in this case.

In today’s world, it’s essential to test for the real user conditions that your customers experience every day. Here are three key tips to keep in mind when making user conditions part of your testing.

Define the right users for your products

Step one is to identify your target users (aka “personas”). While this sounds easy, accurate persona can only be created through market research and data analytics; defining personas relies on consistent communication between engineering and business teams.

The next step is integrating these users and their traits into the test lab. This is usually the toughest task for engineering teams because mimicking real environment conditions is hard and requires ongoing lab maintenance.

Some of the core requirements for sustaining a lab that tests for user conditions:

  • Ability to insert into the lab various network conditions, apps running in the background, phone call interruptions, and more
  • Support for different geographies to cover testing of relevant users in relevant countries
  • Support for any device and any operating system to sustain lab coverage as market matures


Add user conditions to existing functional tests

Once the lab is ready, DevTesters can add the relevant user conditions to existing functional tests in various ways, including manual testing, data-driven testing or through automated test code. We believe the most efficient path is through automation.


Implement user condition testing on top of functional test automation code by adding test code lines that define the target. The test code will automatically inherit user traits such as their name, the platforms and devices they use, their background apps, their location, their network conditions, and more.

Integrating these user traits into an existing continuous integration (CI) workflow and running many scenarios simultaneously will pay off in shorter release cycles, increased test coverage and, ultimately, better UX.

implement test automation code

Use Reports to Find and Fix Issues

Now that your team has defined the target personas and implemented the test code correctly, they’ll now need a detailed and actionable rich media report (see below). This report should include network logs, device and app memory and battery consumption details, and timers showing how long it took certain actions to take place.

Example of a user condition report (Perfecto propietary content)
Example of a user condition report (Perfecto proprietary content)

Such reports should include results for every test scenario and should allow teams to take action and fix the issues. It’s also worth noting that to consistently address bug fixes, the report should compare the specific user condition tests to a “happy path” to show the contrast between real world conditions and ideal conditions.


About The Author

Eran KEran Kinsbruner is the Mobile Evangelist at Perfecto Mobile, one of the leading mobile cloud and automation companies. Formerly CTO for mobile testing and Texas Instruments project manager at Matrix, Eran has been in testing since 1999 with experience that includes managing teams at Qulicke & Soffa, Sun Microsystems, General Electric and NeuStar. The co-inventor of a test exclusion automated mechanism for mobile J2ME testing at Sun Microsystems, Eran has vast experience in the mobile testing world. You can find Eran on Facebook, Twitter @ek121268LinkedIn, and his professional mobile testing blog at

About the Author


Hi everybody! I am part of the marketing team here at TESTHuddle and I look after content generation. I am a big rugby fan and love to watch Munster and Ireland matches. I have a beagler (beagle/king charles cavalier cross) pup called Nelson. I look forward to interacting with you guys!
Find out more about @daraghm