|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.
WebRTC is the future of browser-to-browser communications, and continues to make inroads into the traditional, difficult, plug-in web communications world. The 6th WebRTC Summit continues our tradition of delivering the latest and greatest presentations within the world of WebRTC. Topics include voice calling, video chat, P2P file sharing, and use cases that have already leveraged the power and convenience of WebRTC.
Dec. 3, 2016 02:15 AM EST Reads: 1,466
Without lifecycle traceability and visibility across the tool chain, stakeholders from Planning-to-Ops have limited insight and answers to who, what, when, why and how across the DevOps lifecycle. This impacts the ability to deliver high quality software at the needed velocity to drive positive business outcomes. In his general session at @DevOpsSummit at 19th Cloud Expo, Phil Hombledal, Solution Architect at CollabNet, discussed how customers are able to achieve a level of transparency that e...
Dec. 3, 2016 02:15 AM EST Reads: 625
"We build IoT infrastructure products - when you have to integrate different devices, different systems and cloud you have to build an application to do that but we eliminate the need to build an application. Our products can integrate any device, any system, any cloud regardless of protocol," explained Peter Jung, Chief Product Officer at Pulzze Systems, in this SYS-CON.tv interview at @ThingsExpo, held November 1-3, 2016, at the Santa Clara Convention Center in Santa Clara, CA.
Dec. 3, 2016 01:45 AM EST Reads: 701
Much of the value of DevOps comes from a (renewed) focus on measurement, sharing, and continuous feedback loops. In increasingly complex DevOps workflows and environments, and especially in larger, regulated, or more crystallized organizations, these core concepts become even more critical. In his session at @DevOpsSummit at 18th Cloud Expo, Andi Mann, Chief Technology Advocate at Splunk, showed how, by focusing on 'metrics that matter,' you can provide objective, transparent, and meaningful f...
Dec. 3, 2016 01:45 AM EST Reads: 4,519
"We are the public cloud providers. We are currently providing 50% of the resources they need for doing e-commerce business in China and we are hosting about 60% of mobile gaming in China," explained Yi Zheng, CPO and VP of Engineering at CDS Global Cloud, in this SYS-CON.tv interview at 19th Cloud Expo, held November 1-3, 2016, at the Santa Clara Convention Center in Santa Clara, CA.
Dec. 3, 2016 01:15 AM EST Reads: 841
Data is the fuel that drives the machine learning algorithmic engines and ultimately provides the business value. In his session at 20th Cloud Expo, Ed Featherston, director/senior enterprise architect at Collaborative Consulting, will discuss the key considerations around quality, volume, timeliness, and pedigree that must be dealt with in order to properly fuel that engine.
Dec. 3, 2016 12:30 AM EST Reads: 1,517
Between 2005 and 2020, data volumes will grow by a factor of 300 – enough data to stack CDs from the earth to the moon 162 times. This has come to be known as the ‘big data’ phenomenon. Unfortunately, traditional approaches to handling, storing and analyzing data aren’t adequate at this scale: they’re too costly, slow and physically cumbersome to keep up. Fortunately, in response a new breed of technology has emerged that is cheaper, faster and more scalable. Yet, in meeting these new needs they...
Dec. 3, 2016 12:15 AM EST Reads: 1,746
"Once customers get a year into their IoT deployments, they start to realize that they may have been shortsighted in the ways they built out their deployment and the key thing I see a lot of people looking at is - how can I take equipment data, pull it back in an IoT solution and show it in a dashboard," stated Dave McCarthy, Director of Products at Bsquare Corporation, in this SYS-CON.tv interview at @ThingsExpo, held November 1-3, 2016, at the Santa Clara Convention Center in Santa Clara, CA.
Dec. 2, 2016 11:15 PM EST Reads: 888
20th Cloud Expo, taking place June 6-8, 2017, at the Javits Center in New York City, NY, will feature technical sessions from a rock star conference faculty and the leading industry players in the world. Cloud computing is now being embraced by a majority of enterprises of all sizes. Yesterday's debate about public vs. private has transformed into the reality of hybrid cloud: a recent survey shows that 74% of enterprises have a hybrid cloud strategy.
Dec. 2, 2016 11:15 PM EST Reads: 1,674
@DevOpsSummit taking place June 6-8, 2017 at Javits Center, New York City, is co-located with the 20th International Cloud Expo and will feature technical sessions from a rock star conference faculty and the leading industry players in the world. @DevOpsSummit at Cloud Expo New York Call for Papers is now open.
Dec. 2, 2016 10:30 PM EST Reads: 1,723
IoT is rapidly changing the way enterprises are using data to improve business decision-making. In order to derive business value, organizations must unlock insights from the data gathered and then act on these. In their session at @ThingsExpo, Eric Hoffman, Vice President at EastBanc Technologies, and Peter Shashkin, Head of Development Department at EastBanc Technologies, discussed how one organization leveraged IoT, cloud technology and data analysis to improve customer experiences and effici...
Dec. 2, 2016 08:30 PM EST Reads: 4,973
"We are an all-flash array storage provider but our focus has been on VM-aware storage specifically for virtualized applications," stated Dhiraj Sehgal of Tintri in this SYS-CON.tv interview at 19th Cloud Expo, held November 1-3, 2016, at the Santa Clara Convention Center in Santa Clara, CA.
Dec. 2, 2016 08:30 PM EST Reads: 365
Fact is, enterprises have significant legacy voice infrastructure that’s costly to replace with pure IP solutions. How can we bring this analog infrastructure into our shiny new cloud applications? There are proven methods to bind both legacy voice applications and traditional PSTN audio into cloud-based applications and services at a carrier scale. Some of the most successful implementations leverage WebRTC, WebSockets, SIP and other open source technologies. In his session at @ThingsExpo, Da...
Dec. 2, 2016 08:15 PM EST Reads: 1,558
The cloud competition for database hosts is fierce. How do you evaluate a cloud provider for your database platform? In his session at 18th Cloud Expo, Chris Presley, a Solutions Architect at Pythian, gave users a checklist of considerations when choosing a provider. Chris Presley is a Solutions Architect at Pythian. He loves order – making him a premier Microsoft SQL Server expert. Not only has he programmed and administered SQL Server, but he has also shared his expertise and passion with b...
Dec. 2, 2016 07:00 PM EST Reads: 3,918
"IoT is going to be a huge industry with a lot of value for end users, for industries, for consumers, for manufacturers. How can we use cloud to effectively manage IoT applications," stated Ian Khan, Innovation & Marketing Manager at Solgeniakhela, in this SYS-CON.tv interview at @ThingsExpo, held November 3-5, 2015, at the Santa Clara Convention Center in Santa Clara, CA.
Dec. 2, 2016 06:45 PM EST Reads: 3,985