|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.
Large scale deployments present unique planning challenges, system commissioning hurdles between IT and OT and demand careful system hand-off orchestration. In his session at @ThingsExpo, Jeff Smith, Senior Director and a founding member of Incenergy, will discuss some of the key tactics to ensure delivery success based on his experience of the last two years deploying Industrial IoT systems across four continents.
Jul. 27, 2016 04:00 AM EDT Reads: 1,543
With the proliferation of both SQL and NoSQL databases, organizations can now target specific fit-for-purpose database tools for their different application needs regarding scalability, ease of use, ACID support, etc. Platform as a Service offerings make this even easier now, enabling developers to roll out their own database infrastructure in minutes with minimal management overhead. However, this same amount of flexibility also comes with the challenges of picking the right tool, on the right ...
Jul. 27, 2016 03:45 AM EDT Reads: 1,155
With over 720 million Internet users and 40–50% CAGR, the Chinese Cloud Computing market has been booming. When talking about cloud computing, what are the Chinese users of cloud thinking about? What is the most powerful force that can push them to make the buying decision? How to tap into them? In his session at 18th Cloud Expo, Yu Hao, CEO and co-founder of SpeedyCloud, answered these questions and discussed the results of SpeedyCloud’s survey.
Jul. 27, 2016 03:30 AM EDT Reads: 941
Organizations planning enterprise data center consolidation and modernization projects are faced with a challenging, costly reality. Requirements to deploy modern, cloud-native applications simultaneously with traditional client/server applications are almost impossible to achieve with hardware-centric enterprise infrastructure. Compute and network infrastructure are fast moving down a software-defined path, but storage has been a laggard. Until now.
Jul. 27, 2016 03:15 AM EDT Reads: 1,748
DevOps at Cloud Expo – being held November 1-3, 2016, 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. Am...
Jul. 27, 2016 02:45 AM EDT Reads: 2,243
"This week we're really focusing on scalability, asset preservation and how do you back up to the cloud and in the cloud with object storage, which is really a new way of attacking dealing with your file, your blocked data, where you put it and how you access it," stated Jeff Greenwald, Senior Director of Market Development at HGST, in this SYS-CON.tv interview at 18th Cloud Expo, held June 7-9, 2016, at the Javits Center in New York City, NY.
Jul. 27, 2016 02:45 AM EDT Reads: 1,515
The 19th International Cloud Expo has announced that its Call for Papers is open. Cloud Expo, to be held November 1-3, 2016, at the Santa Clara Convention Center in Santa Clara, CA, brings together Cloud Computing, Big Data, Internet of Things, DevOps, Digital Transformation, Microservices and WebRTC to one location. With cloud computing driving a higher percentage of enterprise IT budgets every year, it becomes increasingly important to plant your flag in this fast-expanding business opportuni...
Jul. 27, 2016 02:15 AM EDT Reads: 2,582
The Internet of Things will challenge the status quo of how IT and development organizations operate. Or will it? Certainly the fog layer of IoT requires special insights about data ontology, security and transactional integrity. But the developmental challenges are the same: People, Process and Platform. In his session at @ThingsExpo, Craig Sproule, CEO of Metavine, demonstrated how to move beyond today's coding paradigm and shared the must-have mindsets for removing complexity from the develo...
Jul. 27, 2016 02:15 AM EDT Reads: 1,425
“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.
Jul. 27, 2016 02:00 AM EDT Reads: 1,717
Basho Technologies has announced the latest release of Basho Riak TS, version 1.3. Riak TS is an enterprise-grade NoSQL database optimized for Internet of Things (IoT). The open source version enables developers to download the software for free and use it in production as well as make contributions to the code and develop applications around Riak TS. Enhancements to Riak TS make it quick, easy and cost-effective to spin up an instance to test new ideas and build IoT applications. In addition to...
Jul. 27, 2016 12:00 AM EDT Reads: 1,941
Predictive analytics tools monitor, report, and troubleshoot in order to make proactive decisions about the health, performance, and utilization of storage. Most enterprises combine cloud and on-premise storage, resulting in blended environments of physical, virtual, cloud, and other platforms, which justifies more sophisticated storage analytics. In his session at 18th Cloud Expo, Peter McCallum, Vice President of Datacenter Solutions at FalconStor, discussed using predictive analytics to mon...
Jul. 27, 2016 12:00 AM EDT Reads: 2,001
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 effi...
Jul. 26, 2016 11:00 PM EDT Reads: 2,006
Internet of @ThingsExpo, taking place November 1-3, 2016, at the Santa Clara Convention Center in Santa Clara, CA, is co-located with the 19th International Cloud Expo and will feature technical sessions from a rock star conference faculty and the leading industry players in the world and ThingsExpo Silicon Valley Call for Papers is now open.
Jul. 26, 2016 11:00 PM EDT Reads: 2,581
"We've discovered that after shows 80% if leads that people get, 80% of the conversations end up on the show floor, meaning people forget about it, people forget who they talk to, people forget that there are actual business opportunities to be had here so we try to help out and keep the conversations going," explained Jeff Mesnik, Founder and President of ContentMX, in this SYS-CON.tv interview at 18th Cloud Expo, held June 7-9, 2016, at the Javits Center in New York City, NY.
Jul. 26, 2016 10:45 PM EDT Reads: 1,363
SYS-CON Events announced today that Isomorphic Software will exhibit at DevOps Summit at 19th International Cloud Expo, which will take place on November 1–3, 2016, at the Santa Clara Convention Center in Santa Clara, CA. Isomorphic Software provides the SmartClient HTML5/AJAX platform, the most advanced technology for building rich, cutting-edge enterprise web applications for desktop and mobile. SmartClient combines the productivity and performance of traditional desktop software with the simp...
Jul. 26, 2016 10:45 PM EDT Reads: 1,099