|By Tim Hinds||
|March 3, 2014 10:45 AM EST||
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:
- How quickly can tests be designed in the tool by any tester or developer (not just your performance testing gurus)?
- Will my teams be able to share test scenarios and test results?
- To what extent does the tool integrate with Continuous Integration Servers to automate the testing process?
- Will everyone on my teams be able to create and understand the test reports and be able to act on them?
- Will test conditions be able to replicate what happens in production?
- 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.
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.
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.
Whether they’re located in a public, private, or hybrid cloud environment, cloud technologies are constantly evolving. While the innovation is exciting, the end mission of delivering business value and rapidly producing incremental product features is paramount. In his session at @DevOpsSummit at 19th Cloud Expo, Kiran Chitturi, CTO Architect at Sungard AS, will discuss DevOps culture, its evolution of frameworks and technologies, and how it is achieving maturity. He will also cover various st...
Oct. 1, 2016 05:00 PM EDT Reads: 2,042
Information technology is an industry that has always experienced change, and the dramatic change sweeping across the industry today could not be truthfully described as the first time we've seen such widespread change impacting customer investments. However, the rate of the change, and the potential outcomes from today's digital transformation has the distinct potential to separate the industry into two camps: Organizations that see the change coming, embrace it, and successful leverage it; and...
Oct. 1, 2016 04:30 PM EDT Reads: 1,320
In his keynote at 18th Cloud Expo, Andrew Keys, Co-Founder of ConsenSys Enterprise, provided an overview of the evolution of the Internet and the Database and the future of their combination – the Blockchain. 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 sett...
Oct. 1, 2016 04:00 PM EDT Reads: 3,733
Video experiences should be unique and exciting! But that doesn’t mean you need to patch all the pieces yourself. Users demand rich and engaging experiences and new ways to connect with you. But creating robust video applications at scale can be complicated, time-consuming and expensive. In his session at @ThingsExpo, Zohar Babin, Vice President of Platform, Ecosystem and Community at Kaltura, will discuss how VPaaS enables you to move fast, creating scalable video experiences that reach your ...
Oct. 1, 2016 04:00 PM EDT Reads: 1,307
One of biggest questions about Big Data is “How do we harness all that information for business use quickly and effectively?” Geographic Information Systems (GIS) or spatial technology is about more than making maps, but adding critical context and meaning to data of all types, coming from all different channels – even sensors. In his session at @ThingsExpo, William (Bill) Meehan, director of utility solutions for Esri, will take a closer look at the current state of spatial technology and ar...
Oct. 1, 2016 03:45 PM EDT Reads: 610
The vision of a connected smart home is becoming reality with the application of integrated wireless technologies in devices and appliances. The use of standardized and TCP/IP networked wireless technologies in line-powered and battery operated sensors and controls has led to the adoption of radios in the 2.4GHz band, including Wi-Fi, BT/BLE and 802.15.4 applied ZigBee and Thread. This is driving the need for robust wireless coexistence for multiple radios to ensure throughput performance and th...
Oct. 1, 2016 03:30 PM EDT Reads: 1,765
SYS-CON Events announced today that SoftLayer, an IBM Company, has been named “Gold Sponsor” of SYS-CON's 18th Cloud Expo, which will take place on June 7-9, 2016, at the Javits Center in New York, New York. SoftLayer, an IBM Company, provides cloud infrastructure as a service from a growing number of data centers and network points of presence around the world. SoftLayer’s customers range from Web startups to global enterprises.
Oct. 1, 2016 03:30 PM EDT Reads: 1,199
In his General Session at DevOps Summit, Asaf Yigal, Co-Founder & VP of Product at Logz.io, will explore the value of Kibana 4 for log analysis and will give a real live, hands-on tutorial on how to set up Kibana 4 and get the most out of Apache log files. He will examine three use cases: IT operations, business intelligence, and security and compliance. This is a hands-on session that will require participants to bring their own laptops, and we will provide the rest.
Oct. 1, 2016 03:15 PM EDT Reads: 2,535
SYS-CON Events announced today that Bsquare has been named “Silver Sponsor” of SYS-CON's @ThingsExpo, which will take place on November 1–3, 2016, at the Santa Clara Convention Center in Santa Clara, CA. For more than two decades, Bsquare has helped its customers extract business value from a broad array of physical assets by making them intelligent, connecting them, and using the data they generate to optimize business processes.
Oct. 1, 2016 03:00 PM EDT Reads: 3,070
In this strange new world where more and more power is drawn from business technology, companies are effectively straddling two paths on the road to innovation and transformation into digital enterprises. The first path is the heritage trail – with “legacy” technology forming the background. Here, extant technologies are transformed by core IT teams to provide more API-driven approaches. Legacy systems can restrict companies that are transitioning into digital enterprises. To truly become a lea...
Oct. 1, 2016 01:30 PM EDT Reads: 872
Internet of @ThingsExpo, taking place November 1-3, 2016, at the Santa Clara Convention Center in Santa Clara, CA, is co-located with 19th Cloud Expo and will feature technical sessions from a rock star conference faculty and the leading industry players in the world. The Internet of Things (IoT) is the most profound change in personal and enterprise IT since the creation of the Worldwide Web more than 20 years ago. All major researchers estimate there will be tens of billions devices - comp...
Oct. 1, 2016 01:00 PM EDT Reads: 5,193
Why do your mobile transformations need to happen today? Mobile is the strategy that enterprise transformation centers on to drive customer engagement. In his general session at @ThingsExpo, Roger Woods, Director, Mobile Product & Strategy – Adobe Marketing Cloud, covered key IoT and mobile trends that are forcing mobile transformation, key components of a solid mobile strategy and explored how brands are effectively driving mobile change throughout the enterprise.
Oct. 1, 2016 12:30 PM EDT Reads: 2,341
“We're a global managed hosting provider. Our core customer set is a U.S.-based customer that is looking to go global,” explained Adam Rogers, Managing Director at ANEXIA, in this SYS-CON.tv interview at 18th Cloud Expo, held June 7-9, 2016, at the Javits Center in New York City, NY.
Oct. 1, 2016 12:30 PM EDT Reads: 3,277
Adobe is changing the world though digital experiences. Adobe helps customers develop and deliver high-impact experiences that differentiate brands, build loyalty, and drive revenue across every screen, including smartphones, computers, tablets and TVs. Adobe content solutions are used daily by millions of companies worldwide-from publishers and broadcasters, to enterprises, marketing agencies and household-name brands. Building on its established design leadership, Adobe enables customers not o...
Oct. 1, 2016 12:30 PM EDT Reads: 659