Welcome!

Mobile IoT Authors: Carmen Gonzalez, Pat Romanski, Zakia Bouachraoui, Yeshim Deniz, Liz McMillan

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
Every organization is facing their own Digital Transformation as they attempt to stay ahead of the competition, or worse, just keep up. Each new opportunity, whether embracing machine learning, IoT, or a cloud migration, seems to bring new development, deployment, and management models. The results are more diverse and federated computing models than any time in our history.
At CloudEXPO Silicon Valley, June 24-26, 2019, Digital Transformation (DX) is a major focus with expanded DevOpsSUMMIT and FinTechEXPO programs within the DXWorldEXPO agenda. Successful transformation requires a laser focus on being data-driven and on using all the tools available that enable transformation if they plan to survive over the long term. A total of 88% of Fortune 500 companies from a generation ago are now out of business. Only 12% still survive. Similar percentages are found throug...
At CloudEXPO Silicon Valley, June 24-26, 2019, Digital Transformation (DX) is a major focus with expanded DevOpsSUMMIT and FinTechEXPO programs within the DXWorldEXPO agenda. Successful transformation requires a laser focus on being data-driven and on using all the tools available that enable transformation if they plan to survive over the long term. A total of 88% of Fortune 500 companies from a generation ago are now out of business. Only 12% still survive. Similar percentages are found throug...
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.
Digital Transformation is much more than a buzzword. The radical shift to digital mechanisms for almost every process is evident across all industries and verticals. This is often especially true in financial services, where the legacy environment is many times unable to keep up with the rapidly shifting demands of the consumer. The constant pressure to provide complete, omnichannel delivery of customer-facing solutions to meet both regulatory and customer demands is putting enormous pressure on...
IoT is rapidly becoming mainstream as more and more investments are made into the platforms and technology. As this movement continues to expand and gain momentum it creates a massive wall of noise that can be difficult to sift through. Unfortunately, this inevitably makes IoT less approachable for people to get started with and can hamper efforts to integrate this key technology into your own portfolio. There are so many connected products already in place today with many hundreds more on the h...
The standardization of container runtimes and images has sparked the creation of an almost overwhelming number of new open source projects that build on and otherwise work with these specifications. Of course, there's Kubernetes, which orchestrates and manages collections of containers. It was one of the first and best-known examples of projects that make containers truly useful for production use. However, more recently, the container ecosystem has truly exploded. A service mesh like Istio addr...
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...
Charles Araujo is an industry analyst, internationally recognized authority on the Digital Enterprise and author of The Quantum Age of IT: Why Everything You Know About IT is About to Change. As Principal Analyst with Intellyx, he writes, speaks and advises organizations on how to navigate through this time of disruption. He is also the founder of The Institute for Digital Transformation and a sought after keynote speaker. He has been a regular contributor to both InformationWeek and CIO Insight...
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...