Welcome!

Related Topics: @DevOpsSummit, Java IoT, Microservices Expo, Linux Containers, @CloudExpo, SDN Journal

@DevOpsSummit: Article

What to Look for in an Agile Load Testing Solution

You should aim to use tools that enable you to do the process that works best for your team

While any load testing solution will enable you to do some sort of load testing in your Agile environment, comparatively few enable you to follow recommended best practices and overcome the challenges many teams face with load and performance testing on an Agile project.

When considering an Agile load testing solution, you want to ask the following questions:

  1. How quickly can tests be designed in the tool by any tester or developer (not just your performance testing gurus)?
  2. Will my teams be able to share test scenarios and test results?
  3. To what extent does the tool integrate with Continuous Integration Servers to automate the testing process?
  4. Will everyone on my teams be able to create and understand the test reports and be able to act on them?
  5. Will test conditions be able to replicate what happens in production?
  6. Does the solution support the technologies we used to build the application and the technologies we will plan to use in the future?

Simple Test Design with Automation
Agile teams rarely have a dedicated performance engineer who shows up on demand to script up a new test when changes to an application causes errors in the old test. You may have one or two testers on your team, but they're rarely performance experts. In some cases, you may have developers writing their own tests. In any of these scenarios, these team members are going to be pressed for time, and this is no place for a tool that is difficult to use and configure.

In developing and executing performance tests, several key features go a long way in improving test productivity, including support for:

  • Easily launching the recording of a virtual user profile (preferably in one click)
  • Defining advanced behaviors (with structures such as conditions and loops) via a graphical interface
  • Automatic handling of dynamic parameters. This includes a set of correlation rules for well-known server frameworks. Ideally, the solution will dynamically detect and handle custom parameters specific to your application
  • Sharing common script parts, such as login or logout transactions, between multiple virtual user profiles

This is not an exhaustive list of usability features that can help team members work more efficiently; rather it should be considered as a baseline of minimum required capabilities for an efficient load testing solution.

Collaboration Capabilities
Working on an Agile team is all about collaborating, and you'll likely want to share things like virtual user profiles, groups, monitoring configurations, load profiles, and test results with team members. You should look at load testing solutions that allow several team members to be involved in the creation and analysis of test cases and enable testers to quickly share results with developers to help them understand what went wrong and what needs to be fixed.

Integration with Continuous Integration Servers
You should consider a load testing solution that integrates with Continuous Integration servers so that you can both automate the triggering of a performance test with every build and also quickly see the results of those tests along with the other tests kicked off during the build to provide instant feedback to development. The ability to the see performance trends over several builds is crucial for performance regression testing. Testers need to be able to pinpoint exactly which build and code changes started a trend of performance degradation.

Automating the interaction between the CIS and the load testing is crucial to ensuring that performance becomes a regular goal for every iteration. When load tests are only done manually on Agile teams, it becomes easy for them to become tasks that are put off until the next sprint.

Reports that Are Easy to Build and Understand
Because not every member of your team is a performance guru, you should look for load testing solutions that provide results that are easy to create, understand, and act on. This includes reports developers can interpret to make important code changes, ops teams can use to change infrastructure configurations, and management can read to get a view of overall performance metrics. Functionality like drag-and-drop metrics and filtering will significantly reduce the time needed to build out reports. Because reporting needs change, it is a good idea to keep your options open with a tool that supports multiple formats, including PDF, Word, HTML, and XML for integration with other systems.

Realistic Tests
Most web applications and mobile applications these days are going to be used by a number of users in many locations on different devices with multiple browsers over various network conditions. You should look for a load testing solution that can do the following:

  • Emulate real-world network conditions. When choosing a load testing solution, look for one that provides WAN emulation that can limit bandwidth and simulate latency and packet loss to ensure that the virtual users download the content of the web application at a realistic rate. This capability is particularly important when testing mobile applications, because mobile devices typically operate with less bandwidth than laptops and desktops and are greatly affected by changes in latency and packet loss especially when signal strength is weak.
  • Device and browser support. Similarly, look for a solution that can record from any browser or mobile device and simulate those back during the load tests. Simulating devices is important because you need the appropriate server content and number of parallel connections for realistic response times and server load. In addition, modern browsers have the ability to parallelize HTTP requests as they retrieve a web page's static resources. These parallel requests require more connections with the server and can lengthen response times. Load testing solutions that do not parallelize requests are incapable of producing truly realistic performance tests for web applications.
  • Test from outside the firewall. The overwhelming majority of web and mobile apps are accessed by users from outside the firewall. While it is absolutely crucial to be able to test internally in an Agile environment, in order to truly understand how location will affect the performance for your users, you need to look at a solution that is also capable of generating load from cloud servers around the world. You might also consider a solution that offers the ability to generate load from multiple cloud providers to reduce the risk of relying upon a single source of cloud load generation.

Support for Your App's Technologies
To test applications built with Adobe Flex, Microsoft Silverlight, Real-Time Messaging Protocol (RTMP), AJAX Push, HTML5 or WebSocket technologies, you need a load testing tool with built-in support for the technologies you're using. Without this specialized support it can be very difficult, if not impossible, to effectively test the performance of your applications.

This can be especially problematic for Agile teams that are adding new features and functionality at a rapid pace since developers often want to use the newest technologies available to them. One minute your developers could be experimenting with Google SPDY and another minute they are adding streaming video to an app; you need to know that your load testing solution will be able to test how these changes affect performance.

No matter what load testing solution you choose, you want to make sure it's the right fit for your team and your application. To quote the Agile Manifesto, "Individuals and interactions over processes and tools." You should aim to use tools that enable you to do the process that works best for your team - not change how your team interacts based upon the limitations of the tools you use.

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.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


Latest Stories
"Infoblox does DNS, DHCP and IP address management for not only enterprise networks but cloud networks as well. Customers are looking for a single platform that can extend not only in their private enterprise environment but private cloud, public cloud, tracking all the IP space and everything that is going on in that environment," explained Steve Salo, Principal Systems Engineer at Infoblox, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Conventio...
"Cloud Academy is an enterprise training platform for the cloud, specifically public clouds. We offer guided learning experiences on AWS, Azure, Google Cloud and all the surrounding methodologies and technologies that you need to know and your teams need to know in order to leverage the full benefits of the cloud," explained Alex Brower, VP of Marketing at Cloud Academy, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clar...
In his session at 21st Cloud Expo, Carl J. Levine, Senior Technical Evangelist for NS1, will objectively discuss how DNS is used to solve Digital Transformation challenges in large SaaS applications, CDNs, AdTech platforms, and other demanding use cases. Carl J. Levine is the Senior Technical Evangelist for NS1. A veteran of the Internet Infrastructure space, he has over a decade of experience with startups, networking protocols and Internet infrastructure, combined with the unique ability to it...
The question before companies today is not whether to become intelligent, it’s a question of how and how fast. The key is to adopt and deploy an intelligent application strategy while simultaneously preparing to scale that intelligence. In her session at 21st Cloud Expo, Sangeeta Chakraborty, Chief Customer Officer at Ayasdi, provided a tactical framework to become a truly intelligent enterprise, including how to identify the right applications for AI, how to build a Center of Excellence to oper...
"IBM is really all in on blockchain. We take a look at sort of the history of blockchain ledger technologies. It started out with bitcoin, Ethereum, and IBM evaluated these particular blockchain technologies and found they were anonymous and permissionless and that many companies were looking for permissioned blockchain," stated René Bostic, Technical VP of the IBM Cloud Unit in North America, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Conventi...
Gemini is Yahoo’s native and search advertising platform. To ensure the quality of a complex distributed system that spans multiple products and components and across various desktop websites and mobile app and web experiences – both Yahoo owned and operated and third-party syndication (supply), with complex interaction with more than a billion users and numerous advertisers globally (demand) – it becomes imperative to automate a set of end-to-end tests 24x7 to detect bugs and regression. In th...
In his session at 21st Cloud Expo, James Henry, Co-CEO/CTO of Calgary Scientific Inc., introduced you to the challenges, solutions and benefits of training AI systems to solve visual problems with an emphasis on improving AIs with continuous training in the field. He explored applications in several industries and discussed technologies that allow the deployment of advanced visualization solutions to the cloud.
Widespread fragmentation is stalling the growth of the IIoT and making it difficult for partners to work together. The number of software platforms, apps, hardware and connectivity standards is creating paralysis among businesses that are afraid of being locked into a solution. EdgeX Foundry is unifying the community around a common IoT edge framework and an ecosystem of interoperable components.
Agile has finally jumped the technology shark, expanding outside the software world. Enterprises are now increasingly adopting Agile practices across their organizations in order to successfully navigate the disruptive waters that threaten to drown them. In our quest for establishing change as a core competency in our organizations, this business-centric notion of Agile is an essential component of Agile Digital Transformation. In the years since the publication of the Agile Manifesto, the conn...
"MobiDev is a software development company and we do complex, custom software development for everybody from entrepreneurs to large enterprises," explained Alan Winters, U.S. Head of Business Development at MobiDev, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
Large industrial manufacturing organizations are adopting the agile principles of cloud software companies. The industrial manufacturing development process has not scaled over time. Now that design CAD teams are geographically distributed, centralizing their work is key. With large multi-gigabyte projects, outdated tools have stifled industrial team agility, time-to-market milestones, and impacted P&L stakeholders.
"ZeroStack is a startup in Silicon Valley. We're solving a very interesting problem around bringing public cloud convenience with private cloud control for enterprises and mid-size companies," explained Kamesh Pemmaraju, VP of Product Management at ZeroStack, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
Enterprises are adopting Kubernetes to accelerate the development and the delivery of cloud-native applications. However, sharing a Kubernetes cluster between members of the same team can be challenging. And, sharing clusters across multiple teams is even harder. Kubernetes offers several constructs to help implement segmentation and isolation. However, these primitives can be complex to understand and apply. As a result, it’s becoming common for enterprises to end up with several clusters. Thi...
"Akvelon is a software development company and we also provide consultancy services to folks who are looking to scale or accelerate their engineering roadmaps," explained Jeremiah Mothersell, Marketing Manager at Akvelon, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
"Space Monkey by Vivent Smart Home is a product that is a distributed cloud-based edge storage network. Vivent Smart Home, our parent company, is a smart home provider that places a lot of hard drives across homes in North America," explained JT Olds, Director of Engineering, and Brandon Crowfeather, Product Manager, at Vivint Smart Home, in this SYS-CON.tv interview at @ThingsExpo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.