Welcome!

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

Related Topics: @DevOpsSummit, Linux Containers, Containers Expo Blog

@DevOpsSummit: Blog Post

Why Software Testers Should Strive to Go Unnoticed | @DevOpsSummit #DevOps

Flying under the radar

Ah, the plight of software testers - destined to crank away behind the scenes ensuring all runs smoothly. Unlike musical conductors who command the spotlight while overseeing the performance of a piece, testers only seem to attract attention when things go terribly wrong.

The same can be said for most IT professionals, at least according to Reddit. In December, this question was posed to the AskReddit community:

"What is a job when done right no one notices, but the moment its [sic] done wrong all eyes are on you?"

Second only to a response about bass players, a comment citing IT professionals ranked highest with more than 5,500 upvotes. I'm sure many testers can lament with the commenter, who added, "When things work well, it's because of the glorious vision of Operations and Marketing. When things don't, it's because we're plagued by IT glitches that hold back the glorious vision of Operations and Marketing."

Okay, so life isn't fair and software testers seem to have drawn the short stick, at least in regards to the blame game. When users notice application performance issues, the fallout may prove detrimental to the success of not only the application, but also the organization as a whole. To prevent reoccurring performance problems, understanding what went wrong and why is critical. Failing to adjust testing strategies accordingly will only lead to unhappy users, unhappy managers, and ultimately an unhappy you.

When Users Notice
Slowly but surely, organizations are realizing the monumental importance of validating application performance. In the same vein, web and mobile application users are becoming less patient, opting to visit a competing site if pages either fail to load or take too long to load. How long is too long?

According to surveys of online shopping behavior, 47% of consumers expect a web page to load in two seconds or less and 40% will abandon a website that takes more than three seconds to load.

Three seconds.

A lot could happen in three seconds, or nothing could happen in three seconds – it simply depends on how long it takes your application to load. BUT WAIT, THERE'S MORE! Think three seconds is nothing? Check out what can happen in one or less:

  • For Bing, a one-second delay results in a 2.8% drop in revenue
  • For the Aberdeen Group, a one-second delay resulted in 11% fewer page views, a 16% decrease in customer satisfaction, and 7% loss in conversions
  • For Amazon, every 100ms increase in load time results in a 1% decrease in revenue

When a company faces site outages and poor performance, the finger pointing begins - usually at software testers - whom many believe to be at fault. After the QA team is forcibly dragged into the spotlight, testers must then turn to the task at hand: discovering what went wrong and why.

What Went Wrong?
Application crashes and slow load times can be attributed to a number of factors including but not limited to software configuration issues for web servers, databases, or load balancers, poor network configuration, poorly optimized software code, for example, code that does not allow for concurrent access, and insufficient hardware resources or lack of auto-scaling elastic computing. Obviously, these areas should receive immediate attention after end users experience poor performance.

If a thorough analysis of all of the above returns no red flags, you may be faced with one of several other common performance problems that you can explore in detail here.

If your team is utilizing a synthetic user monitoring tool, it should be able to access all the synthetic user data inside a browser to provide you with a rich set of dashboards. A deep dive into this data should yield insight into common and/or complicated user paths and the experiences synthetic users are having within said paths. With a synthetic monitoring system, you'll be able to identify performance issues before real users encounter them on your production environment - the ultimate safeguard against spotlight-inducing performance problems.

Preventative Measures
It's not enough to merely identify and fix a performance issue after the fact. Software testers should use this information to create a list of action items designed to prevent future crashes and/or poor application performance.

After you understand the core issue, it may be tempting to stop at the initial, immediate solution. However, installing more storage after determining the problem was disk space still won't explain why you incorrectly estimated how much you needed in the first place. Keep this thought process in mind and you'll be more likely to discover the precise solution.

After determining the solution, look for ways to recreate the issue in a controlled way. For example, use a load testing tool to simulate a large number of users stressing the system through a variety of realistic testing scenarios. Focus on scenarios that have been known to cause problems in the past, are new and untested, are likely to produce bottlenecks, involve complex transactions, and/or are critical paths for users.

Scenarios like these are crucial for discovering how your application reacts with abnormal amounts of load. By simulating user performance, you'll be able to understand how tasks and transactions will function for your real users.

Flying Under Users' Radar
If testers are able to successfully ensure the performance of a web or mobile application, users should remain unaware of their involvement. Sure, software testers may never be famous in the eyes of the public, but when it comes working in QA, going unnoticed is, more often than not, a good thing.

Testers that go unnoticed deliver high quality applications designed to provide exceptional performance across different browsers, devices, locations and more. Throughout a career, most testers will have to face the spotlight in the aftermath of application crashes or performance problems - but if you can learn from mistakes, invest in the right tools and initiate preventative measures, you'll be able to not only, for the most part, remain out of the spotlight, but you'll also be able to handle the heat when the spotlight becomes unavoidable.

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.
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...
To Really Work for Enterprises, MultiCloud Adoption Requires Far Better and Inclusive Cloud Monitoring and Cost Management … But How? Overwhelmingly, even as enterprises have adopted cloud computing and are expanding to multi-cloud computing, IT leaders remain concerned about how to monitor, manage and control costs across hybrid and multi-cloud deployments. It’s clear that traditional IT monitoring and management approaches, designed after all for on-premises data centers, are falling short in ...
In his general session at 19th Cloud Expo, Manish Dixit, VP of Product and Engineering at Dice, discussed how Dice leverages data insights and tools to help both tech professionals and recruiters better understand how skills relate to each other and which skills are in high demand using interactive visualizations and salary indicator tools to maximize earning potential. Manish Dixit is VP of Product and Engineering at Dice. As the leader of the Product, Engineering and Data Sciences team at D...
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...