QASymphony / Blog / Flood Element: A New Approach to Load Testing with Real Browsers
Flood Element: A New Approach to Load Testing with Real Browsers
Have you struggled with load testing in the past? Ever wondered if there would be an easier way to get real load executed against your application quickly?
If you answered yes, you aren’t alone. At Flood, we find most customers struggle to simulate protocol level users (PLUs) is challenging and time consuming. Furthermore, the results from these tests may be unreliable as they miss out on major elements being rendered on the browser side.
Given these current limitations, we are proud to share the details of our recent release of Flood Element, which is the first open source tool on the market to shift the paradigm of load testing from PLUs to browser level users (BLUs).
The Current State: Testing with Protocol Level Users
Since the inception of load testing, the approach has been mostly the same — simulate the traffic of an application by creating load at the API or protocol level. This approach made sense at the time, as we were constrained by a number of factors:
Hardware was scarce, and expensive to maintain on-premises. Testing with PLUs is extremely hardware efficient, as we are simply making API calls
Load testing was infrequent, and often handled by third parties or a centralized performance center of excellence, so even though test creation was difficult, it was manageable
Applications that needed load testing were mostly thick clients that couldn’t be accessed via browser, so we had few alternatives
Given these limitations, it is no surprise that PLUs have been the de facto standard in the past. However, advances in technology and the shifting requirements of agile teams have begun to change the perception of PLUs in the market.
Headwinds Facing Protocol Level Users
PLUs have long been the industry standard across the industry, primarily due to a lack of easier-to-use solutions. We frequently hear from customers who are struggling with protocol level testing for the following reasons:
Tests break too often, and teams are caught in a constant maintenance cycle and greater test coverage is impossible to achieve
Simulation via API level does not provide an accurate depiction of true browser performance, and may not trigger all of the components of an application
Though most of the incumbent vendors have ignored the problem, at Flood we have heard these concerns over and over again and responded with a better solution for load testing.
Browser Level Users – A New Solution to Today’s Problems
When we began to approach the problem, the first step was to thoroughly evaluate the market shifts that have created this need. Our goal was to build a solution that would not only meet immediate needs, but also deliver distinct value well into the future. Here are some of the biggest market shifts that we considered were:
Cloud adoption, unlocking the ability to get almost unlimited infrastructure on demand at a low cost through providers like AWS and Azure
Agile transformation, promoting the desire for fast feedback into the development cycle and perform shift-left, continuous load testing
DevOps collaboration, shifting the roles of teams towards generalists and increasing the number of potential Flood users with basic software coding skills
Out of the opportunity for change came the birth of Flood Element, which is the first open source solution built specifically to load test with BLUs. This new release brings a wide variety of benefits for companies looking for a more modern load testing solution:
Familiar browser based approach like Selenium
Leverage of cloud infrastructure and headless Chrome browsers to test with real load and measure true user performance