Welcome!

Mobile IoT Authors: Liz McMillan, Yeshim Deniz, Pat Romanski, Elizabeth White, Kevin Benedict

Related Topics: @DevOpsSummit, Mobile IoT

@DevOpsSummit: Blog Post

Blind Spots: The Top 8 Things You Overlook When Testing Mobile | @DevOpSummit #APM #DevOps

When you test mobile, it's common practice to use a mobile emulation tool

When's the last time you accidentally put milk in the cabinet? Or cereal in the fridge? Have you had to hunt around for your car keys recently, only to find them in a place you already thought you'd looked?

We all miss a thing or two from time to time. When you're doing so much at once, it's easy to overlook the simple things. It's understandable.

However, when it comes to your business, an episode of forgetfulness can be very detrimental. Take performance testing, for example. If you don't approach your performance testing and load testing processes cautiously and diligently, executing the same batch of tests every single time, with the ultimate goal of ensuring your users have the best experience possible no matter what's happening with the infrastructure, you run the risk of opening a vulnerability that could impact your entire application - and your business.

This is especially true with mobile apps, which are no longer considered a secondary means of accessing the Internet. In fact, in many organizations, the knowledge of how to test and monitor mobile applications is lagging behind actual usage. You don't want to overlook anything when it comes to mobile performance testing. So in order to save you from the pain of missing those little things, we've put together a guide highlighting eight testing blind spots. Use it as a checklist - you may even want to print it out and keep it on your fridge.

1. Mobile Network Latency and Packet Loss
When you test mobile, it's common practice to use a mobile emulation tool, which will mimic the network characteristics that mobile devices actually experience. For example, any decent test infrastructure will limit bandwidth to what may be found on a 3G network, instead of what is available in the data center doing the testing.

However, mobile networks have different characteristics than standard wired or Wi-Fi desktop networks that go beyond bandwidth constraints. They don't carry information as reliably. Mobile networks are significantly more prone to problems related to latency and even packet loss. That means your mobile app won't always get the data it needs, when it's expected.

So when you are conducting your mobile testing, be sure to account for these commonly ignored attributes. Real devices experience a certain amount of network burps. Be sure your test systems simulate them realistically.

2. Parallel Connections
Repeat after me: A web app is not the same thing as a mobile app. You can't just change the user agent header on a test script and say it's now testing mobile. Sadly, that's what many test scripts do.

A great example of this is the number of parallel connections allowed for an app to communicate back to the server. Mobile networks, devices and applications all enforce varying policies with respect to how many parallel connections are allowed at a given time. Failing to account for this could have a big impact on test results: both the load on your server environment and the user experience.

3. Testing in Real Environments
You know how bugs can cause sites to crash or payments to fail? This leads to unsatisfied customers and lost revenue for your websites. Sometimes these bugs only reveal themselves in the real world, under actual operation. That's why many modern QA organizations operate a healthy Testing in Production process - to make sure that real bugs in the real world are found and squashed.

Naturally, the same applies for mobile. Don't just test your mobile experience through mobile emulators in staged environments. You need to test mobile apps in real-world production environments too. You'll learn a tremendous amount about how users interact with your product, and that will make your structured testing even more robust. This may require more tools and greater human power than you originally had in mind. But, it's critically important.

4. Automation for Load Testing
Many people start their mobile QA efforts by testing manually on a handful of devices. They don't rely on automation in the mobile world the way they do in the desktop world, because it's a little more complicated and elaborate. Furthermore, with so many devices on the market, mobile testing can seem unwieldy and overwhelming.

However, that's exactly why automation is so important. Manual testing is simply not scalable in mobile. Seek out and implement solutions for mobile test automation. Look for ways to incorporate real devices and emulation into your test strategies. Work performance testing into your functional test automation early, so you can deploy those tests across the many OS combinations you need to address. This is one boat you don't want to miss!

5. User Pathways and Real-Time Behavior
KPIs (Key Performance Indicators) are a critical part of operating a real-world web applications. You look at your metrics every day to see how things are performing, and you make changes when you need to. However, if you become too glued on just those key metrics - like the number of downloads or the session count - you may forget to monitor other important behaviors of the system. For example, it's easy to overlook the actual user-paths within the app.

You have to understand the experience of mobile users to provide them with the services they want. How they flow through the app will give you tremendous insight into their experience along the way and where problems may arise. By monitoring these pathways you can then create synthetic users that follow those same paths, constantly evaluating performance of key flows and reporting issues back to you. That way you'll be able to identify poor experiences before your users do.

6. Background Activity
One of the most important aspects of the mobile user experience is battery life - an attribute that developers comfortable in building for the web may never even consider. However, a poor-performing app that drains a user's battery will quickly find itself removed. Developers must find ways to reduce background activity, especially for apps that spend a lot of energy fetching notifications and downloading data.

To start, consider how users interact with applications over the course of weeks and months - the app's shelf life. If a user has not interacted with an app for a month or two, don't try to engage the user as frequently. Check for notifications on a daily basis instead of a real-time basis, and consider turning off data refreshes until the user opens the app again. Background activity has a negative effect on the user interface, and it is a huge energy sucker.

7. Updates
Application updates are a much bigger deal for mobile apps (especially native ones) as compared to web apps. Many users have their devices configured to occur automatically update their apps - meaning these users won't know when they have downloaded an update. But there are many people who have configured their updates to occur manually, so you have one chance to get this right. If there is a performance or usage problem that you didn't spot, you can't fix it until they have installed another update.

That's completely different than a web app, where you can just roll back the application and fix it with a snap. With the mobile app, on the other hand, the user needs to perform the update themselves. You can try to push a hotfix release to your users as quickly as possible, but you have no control over when they install the update.

Keep this example in mind: Tinder (the popular dating app) recently released an update that left users in a loop while trying to authenticate their accounts. The app was rendered useless. It ended up taking Tinder a week to update the app, asking users to delete and reinstall in the meantime. In all, they lost a week's worth of activity on the site due to this error, whereas with a web app they could've recovered immediately. Plus, for a week, their users couldn't get dates. So everyone suffered.

8. Continuous Learning
As performance testing becomes more important, you'll find that you are doing a lot more testing. That means you'll be constantly discovering new things, and fixing new problems. You'll also make some mistakes - a normal and healthy part of the testing process.

Don't sweep mistakes under the rug. And don't just fix the symptom and move on. You've got a prime opportunity to learn from your errors and improve your process. Be interactive with your team and make a positive change. You'll find that your productivity will grow exponentially.

Lead The Way With Clear Vision
Keep your vision at 20/20 status with these mobile testing tips. Even if you don't have a mobile app just yet, you still need a testing strategy to keep the growing number of users happy. Check out how to get a jumpstart on your strategy in our recent blog post.

Hopefully this post helps you remember some commonly forgotten aspects of your mobile performance testing strategy... Now, if only I can remember where I put my car keys!

Photo Credit: crimsong19

More Stories By Tim Hinds

Tim Hinds is the Product Marketing Manager for NeoLoad at Neotys. He has a background in Agile software development, Scrum, Kanban, Continuous Integration, Continuous Delivery, and Continuous Testing practices.

Previously, Tim was Product Marketing Manager at AccuRev, a company acquired by Micro Focus, where he worked with software configuration management, issue tracking, Agile project management, continuous integration, workflow automation, and distributed version control systems.

IoT & Smart Cities Stories
Early Bird Registration Discount Expires on August 31, 2018 Conference Registration Link ▸ HERE. Pick from all 200 sessions in all 10 tracks, plus 22 Keynotes & General Sessions! Lunch is served two days. EXPIRES AUGUST 31, 2018. Ticket prices: ($1,295-Aug 31) ($1,495-Oct 31) ($1,995-Nov 12) ($2,500-Walk-in)
Andrew Keys is Co-Founder of ConsenSys Enterprise. He comes to ConsenSys Enterprise with capital markets, technology and entrepreneurial experience. Previously, he worked for UBS investment bank in equities analysis. Later, he was responsible for the creation and distribution of life settlement products to hedge funds and investment banks. After, he co-founded a revenue cycle management company where he learned about Bitcoin and eventually Ethereal. Andrew's role at ConsenSys Enterprise is a mul...
Nicolas Fierro is CEO of MIMIR Blockchain Solutions. He is a programmer, technologist, and operations dev who has worked with Ethereum and blockchain since 2014. His knowledge in blockchain dates to when he performed dev ops services to the Ethereum Foundation as one the privileged few developers to work with the original core team in Switzerland.
René Bostic is the Technical VP of the IBM Cloud Unit in North America. Enjoying her career with IBM during the modern millennial technological era, she is an expert in cloud computing, DevOps and emerging cloud technologies such as Blockchain. Her strengths and core competencies include a proven record of accomplishments in consensus building at all levels to assess, plan, and implement enterprise and cloud computing solutions. René is a member of the Society of Women Engineers (SWE) and a m...
Digital Transformation and Disruption, Amazon Style - What You Can Learn. Chris Kocher is a co-founder of Grey Heron, a management and strategic marketing consulting firm. He has 25+ years in both strategic and hands-on operating experience helping executives and investors build revenues and shareholder value. He has consulted with over 130 companies on innovating with new business models, product strategies and monetization. Chris has held management positions at HP and Symantec in addition to ...
The challenges of aggregating data from consumer-oriented devices, such as wearable technologies and smart thermostats, are fairly well-understood. However, there are a new set of challenges for IoT devices that generate megabytes or gigabytes of data per second. Certainly, the infrastructure will have to change, as those volumes of data will likely overwhelm the available bandwidth for aggregating the data into a central repository. Ochandarena discusses a whole new way to think about your next...
CloudEXPO | DevOpsSUMMIT | DXWorldEXPO are the world's most influential, independent events where Cloud Computing was coined and where technology buyers and vendors meet to experience and discuss the big picture of Digital Transformation and all of the strategies, tactics, and tools they need to realize their goals. Sponsors of DXWorldEXPO | CloudEXPO benefit from unmatched branding, profile building and lead generation opportunities.
Dynatrace is an application performance management software company with products for the information technology departments and digital business owners of medium and large businesses. Building the Future of Monitoring with Artificial Intelligence. Today we can collect lots and lots of performance data. We build beautiful dashboards and even have fancy query languages to access and transform the data. Still performance data is a secret language only a couple of people understand. The more busine...
All in Mobile is a place where we continually maximize their impact by fostering understanding, empathy, insights, creativity and joy. They believe that a truly useful and desirable mobile app doesn't need the brightest idea or the most advanced technology. A great product begins with understanding people. It's easy to think that customers will love your app, but can you justify it? They make sure your final app is something that users truly want and need. The only way to do this is by ...
DXWorldEXPO LLC announced today that Big Data Federation to Exhibit at the 22nd International CloudEXPO, colocated with DevOpsSUMMIT and DXWorldEXPO, November 12-13, 2018 in New York City. Big Data Federation, Inc. develops and applies artificial intelligence to predict financial and economic events that matter. The company uncovers patterns and precise drivers of performance and outcomes with the aid of machine-learning algorithms, big data, and fundamental analysis. Their products are deployed...