Welcome!

Mobile IoT Authors: Liz McMillan, Zakia Bouachraoui, Elizabeth White, Yeshim Deniz, Dana Gardner

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
Dion Hinchcliffe is an internationally recognized digital expert, bestselling book author, frequent keynote speaker, analyst, futurist, and transformation expert based in Washington, DC. He is currently Chief Strategy Officer at the industry-leading digital strategy and online community solutions firm, 7Summits.
The explosion of new web/cloud/IoT-based applications and the data they generate are transforming our world right before our eyes. In this rush to adopt these new technologies, organizations are often ignoring fundamental questions concerning who owns the data and failing to ask for permission to conduct invasive surveillance of their customers. Organizations that are not transparent about how their systems gather data telemetry without offering shared data ownership risk product rejection, regu...
Bill Schmarzo, author of "Big Data: Understanding How Data Powers Big Business" and "Big Data MBA: Driving Business Strategies with Data Science," is responsible for setting the strategy and defining the Big Data service offerings and capabilities for EMC Global Services Big Data Practice. As the CTO for the Big Data Practice, he is responsible for working with organizations to help them identify where and how to start their big data journeys. He's written several white papers, is an avid blogge...
When talking IoT we often focus on the devices, the sensors, the hardware itself. The new smart appliances, the new smart or self-driving cars (which are amalgamations of many ‘things'). When we are looking at the world of IoT, we should take a step back, look at the big picture. What value are these devices providing. IoT is not about the devices, its about the data consumed and generated. The devices are tools, mechanisms, conduits. This paper discusses the considerations when dealing with the...
Machine learning has taken residence at our cities' cores and now we can finally have "smart cities." Cities are a collection of buildings made to provide the structure and safety necessary for people to function, create and survive. Buildings are a pool of ever-changing performance data from large automated systems such as heating and cooling to the people that live and work within them. Through machine learning, buildings can optimize performance, reduce costs, and improve occupant comfort by ...
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...
Business professionals no longer wonder if they'll migrate to the cloud; it's now a matter of when. The cloud environment has proved to be a major force in transitioning to an agile business model that enables quick decisions and fast implementation that solidify customer relationships. And when the cloud is combined with the power of cognitive computing, it drives innovation and transformation that achieves astounding competitive advantage.
Poor data quality and analytics drive down business value. In fact, Gartner estimated that the average financial impact of poor data quality on organizations is $9.7 million per year. But bad data is much more than a cost center. By eroding trust in information, analytics and the business decisions based on these, it is a serious impediment to digital transformation.
In his keynote at 19th Cloud Expo, Sheng Liang, co-founder and CEO of Rancher Labs, discussed the technological advances and new business opportunities created by the rapid adoption of containers. With the success of Amazon Web Services (AWS) and various open source technologies used to build private clouds, cloud computing has become an essential component of IT strategy. However, users continue to face challenges in implementing clouds, as older technologies evolve and newer ones like Docker c...
Digital Transformation: Preparing Cloud & IoT Security for the Age of Artificial Intelligence. As automation and artificial intelligence (AI) power solution development and delivery, many businesses need to build backend cloud capabilities. Well-poised organizations, marketing smart devices with AI and BlockChain capabilities prepare to refine compliance and regulatory capabilities in 2018. Volumes of health, financial, technical and privacy data, along with tightening compliance requirements by...