Welcome!

@DevOpsSummit Authors: Liz McMillan, Zakia Bouachraoui, Pat Romanski, Elizabeth White, Yeshim Deniz

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.

@DevOpsSummit Stories
"DevOps is set to be one of the most profound disruptions to hit IT in decades," said Andi Mann. "It is a natural extension of cloud computing, and I have seen both firsthand and in independent research the fantastic results DevOps delivers. So I am excited to help the great team at @DevOpsSUMMIT and CloudEXPO tell the world how they can leverage this emerging disruptive trend."
Digital transformation is about embracing digital technologies into a company's culture to better connect with its customers, automate processes, create better tools, enter new markets, etc. Such a transformation requires continuous orchestration across teams and an environment based on open collaboration and daily experiments. In his session at 21st Cloud Expo, Alex Casalboni, Technical (Cloud) Evangelist at Cloud Academy, explored and discussed the most urgent unsolved challenges to achieve full cloud literacy in the enterprise world.
CloudEXPO | DevOpsSUMMIT | DXWorldEXPO Silicon Valley 2019 will cover all of these tools, with the most comprehensive program and with 222 rockstar speakers throughout our industry presenting 22 Keynotes and General Sessions, 250 Breakout Sessions along 10 Tracks, as well as our signature Power Panels. Our Expo Floor will bring together the leading global 200 companies throughout the world of Cloud Computing, DevOps, IoT, Smart Cities, FinTech, Digital Transformation, and all they entail. As your enterprise creates a vision and strategy that enables you to create your own unique, long-term success, learning about all the technologies involved is essential. Companies today not only form multi-cloud and hybrid cloud architectures, but create them with built-in cognitive capabilities.
DevOpsSUMMIT at CloudEXPO, to be held June 25-26, 2019 at the Santa Clara Convention Center in Santa Clara, CA – announces that its Call for Papers is open. Born out of proven success in agile development, cloud computing, and process automation, DevOps is a macro trend you cannot afford to miss. From showcase success stories from early adopters and web-scale businesses, DevOps is expanding to organizations of all sizes, including the world's largest enterprises – and delivering real results. Among the proven benefits, DevOps is correlated with 20% faster time-to-market, 22% improvement in quality, and 18% reduction in dev and ops costs, according to research firm Vanson-Bourne. It is changing the way IT works, how businesses interact with customers, and how organizations are buying, building, and delivering software.
The benefits of automated cloud deployments for speed, reliability and security are undeniable. The cornerstone of this approach, immutable deployment, promotes the idea of continuously rolling safe, stable images instead of trying to keep up with managing a fixed pool of virtual or physical machines. In this talk, we'll explore the immutable infrastructure pattern and how to use continuous deployment and continuous integration (CI/CD) process to build and manage server images for any platform. Then we'll show how automate deploying these images quickly and reliability with open DevOps tools like Terraform and Digital Rebar. Not only is this approach fast, it's also more secure and robust for operators. If you are running infrastructure, this talk will change how you think about your job in profound ways.