Welcome!

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

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

@DevOpsSummit: Blog Post

Mobile Stress Testing | @DevOpsSummit #DevOps #ContinuousDelivery

While extreme load conditions rarely appear in production, never underestimate the potential for their occurrence

Falling beneath the umbrella of performance testing, both load and stress testing play an important role in assessing the availability and performance of your web or mobile applications under expected and extreme load.

While the terms "stress testing" and "load testing" may be used interchangeably within a testing team or organization, the two differ when it comes to their definitions and purpose.

Stress Testing vs. Load Testing
Load Testing
: A performance-related testing process that places simulated demand on software, web or mobile applications in order to measure responses and systems' behavior under both normal and anticipated peak load conditions.

Its purpose: Providing insight into your application and system's behavior under expected load conditions.

Stress Testing: A testing process designed to push an application's environment to its breaking point so that QA teams can gain an understanding of the upper limits of capacity within the system.

Its purpose: Stress testing exposes issues that may not appear under normal or even expected conditions. It allows testers to determine the software's robustness and ensure that the system fails and recovers in an acceptable manner.

Stress Testing: When, Why and How
When to conduct stress tests
Typically during the software development lifecycle, smaller load tests can be run before a big release or after each sprint/iteration. This allows for the detection of issues that may cause larger performance problems during full scale stress testing.

While some Agile organizations are able to run stress tests at the end of sprints before they release to integration or deploy to production, this strategy is NOT recommended for business critical applications.

When your application absolutely needs to perform for end users, you'll need to run longer peak tests and stress tests during a hardening sprint (or before the release of a new application/update if you're working in a traditional environment) to truly ensure application performance in production. This becomes especially important for eCommerce apps around big holiday seasons, online tax filing services during tax season, universities during class registration periods, etc.

The biggest takeaway here is that stress testing during a hardening sprint or right before a release is absolutely necessary to ensure that your application's performance level meets end user expectations.

Benefits of stress testing
Extreme load conditions are rarely seen in production. Therefore, stress testing benefits organizations by revealing application issues that only become apparent under these extreme conditions. Proper stress tests can also help you uncover the following:

  • Synchronization and timing bugs
  • Interlock problems
  • Priority problems
  • Resource loss bugs
  • Memory leaks
  • Data loss & corruption

Utilizing stress testing tools
When approaching stress testing, you'll want first identify test objectives, key scenarios, the workload you want to apply, and the metrics you'll be tracking. After you've created your test cases, work with a stress testing tool to simulate the required load for each test case and capture performance metrics.

A truly effective stress testing tool will realistically simulate thousands+ of users, analyze your application's performance and monitor your servers under load.

Reaching the Breaking Point
Stress testing is an essential and beneficial process that provides otherwise unattainable insight into the performance of your web and mobile applications under extreme load. Identifying the potential breaking points in your application will allow you to correct them before they become expensive issues in production.

While extreme load conditions rarely appear in production, never underestimate the potential for their occurrence. To learn more about how you can stress test your web or mobile applications in preparation for peak load conditions, check out our Holiday Readiness Case Study here.

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
@CloudEXPO and @ExpoDX, two of the most influential technology events in the world, have hosted hundreds of sponsors and exhibitors since our launch 10 years ago. @CloudEXPO and @ExpoDX New York and Silicon Valley provide a full year of face-to-face marketing opportunities for your company. Each sponsorship and exhibit package comes with pre and post-show marketing programs. By sponsoring and exhibiting in New York and Silicon Valley, you reach a full complement of decision makers and buyers in multiple vertical markets. Our delegate profiles can be located in our show prospectus.
There are many examples of disruption in consumer space – Uber disrupting the cab industry, Airbnb disrupting the hospitality industry and so on; but have you wondered who is disrupting support and operations? AISERA helps make businesses and customers successful by offering consumer-like user experience for support and operations. We have built the world’s first AI-driven IT / HR / Cloud / Customer Support and Operations solution.
Data Theorem is a leading provider of modern application security. Its core mission is to analyze and secure any modern application anytime, anywhere. The Data Theorem Analyzer Engine continuously scans APIs and mobile applications in search of security flaws and data privacy gaps. Data Theorem products help organizations build safer applications that maximize data security and brand protection. The company has detected more than 300 million application eavesdropping incidents and currently secures more than 4,000 modern applications for its Enterprise customers around the world.
Rafay enables developers to automate the distribution, operations, cross-region scaling and lifecycle management of containerized microservices across public and private clouds, and service provider networks. Rafay's platform is built around foundational elements that together deliver an optimal abstraction layer across disparate infrastructure, making it easy for developers to scale and operate applications across any number of locations or regions. Consumed as a service, Rafay's platform eliminates the need to build an in-house platform or developing any specialized compute distribution capabilities. The platform significantly simplifies the deployment of containerized apps anywhere. Organizations can now achieve their desired levels of reliability, availability and performance with any combination of public cloud environments through a developer-friendly SaaS offering. From deploying ...
Kubernetes is a new and revolutionary open-sourced system for managing containers across multiple hosts in a cluster. Ansible is a simple IT automation tool for just about any requirement for reproducible environments. In his session at @DevOpsSummit at 18th Cloud Expo, Patrick Galbraith, a principal engineer at HPE, discussed how to build a fully functional Kubernetes cluster on a number of virtual machines or bare-metal hosts. Also included will be a brief demonstration of running a Galera MySQL cluster as a Kubernetes application.