How to Get Your Website Ready for Open Enrollment
It's easy to use BlazeMeter to get your website ready for Open Enrollment and any other predicted traffic spikes with these load testing methods.
Join the DZone community and get the full member experience.Join For Free
Every year, come fall, Americans can enroll in health insurance programs for the upcoming year. As this is no decision to take lightly, people take time in advance to research plans, gather information and study the topic. This is also an opportunity for health insurance companies to draw crowds to their websites, to read about their offerings. Therefore, health insurance companies and government websites should expect traffic spikes way before Nov. 1st, the day open enrollment begins, and up until the sign-up period ends.
To ensure people seeking insurance can access the different plans and services, health insurance companies and agencies should test their websites, apps, and APIs. These tests should check the performance of the systems under different loads, to make sure they don't crash, there are no memory leaks, response time stays low, etc. Otherwise, customers will choose different plans, and express their anger at the companies and the government across social media (you can learn more and view a demo from our free webinar about preparing your website for peak traffic on Open Enrollment).
You might ask, "When do I start preparing for Open Enrollment?" The answer is: you should always plan ahead, the earlier the better. Tests are not run just so you can say you've run them. You are testing because you need to find bugs and bottlenecks you need to fix. Therefore, you should set aside enough time to make improvements. Then, you need time to run the tests again to check the fixes make the system perform like you need it to.
If you're in a rush to test a large number of users, you might miss the load level you're currently facing problems in, because you'd passed through so many load levels at once. Start your ramps gradually, and then build up your tests more and more. At each test, stop to monitor the results and make sure you're satisfied with them, before moving on to the next level.
In BlazeMeter, we start out with sandbox testing, which is run as a functional test, just to ensure the test accomplishes what you want it to accomplish. Then, we perform calibration testing. This testing is run to make sure the testing platform that is running the test is not actually becoming the bottleneck. Now, we can move on to the main attraction: performance testing. Start the test at 10% of your target load, and ramp up slowly to your target load. Make sure the ramp is gradual, so you can monitor the symptoms.
You can also run a spike test, for testing how your system reacts to a sudden jump in the number of users and also how it recovers. We also recommend taking your system to its maximum limit, even if that's beyond your target number of users, so you become familiar with how your system reacts.
Here's what a bottleneck can look like. The number of hits/s drops while the response time goes up abruptly:
Create funnels that simulate your real user scenarios. You can use your system logs and tools like Google Analytics to get that information. Also, take into consideration that during Open Enrollment users will stay longer on certain pages or click on certain buttons more than usual. By following what your users really do, and not just what you want them to do, you can ensure you will test the correct parts of your system, and provide a flawless service.
To easily create scripts, record your scenarios with the free Chrome Extension recorder.
Is your system's response time quick enough? Is the percentage of errors low enough? Is the throughput high enough? You can determine the answers to these questions only if you decide on your system requirements and then set failure criteria in the test. Failure criteria provide a straightforward answer to managers who want to know if the system failed, from a business or SLA perspective.
BlazeMeter makes it very easy to set criteria that your test should not breach:
There are many performance testing tools available for you to choose from. Open source tools provide the most advanced technology, they are free of charge and they have wide community support. By using open source tools, you can incorporate a few of them in your R&D department, so that each developer or team can choose the tool that suits them the best.
If you need to scale to thousands, millions or even tens of millions of users, from different locations you can run them in the cloud or from behind the firewall in BlazeMeter. BlazeMeter also enables you to collaborate on tests and reports and integrate with CI tools like Jenkins or Bamboo, so you can automate your testing. But what about the open source? Don't worry, BlazeMeter runs more than 20 open source tools, including Apache JMeter™, Gatling, Taurus, and Selenium.
Published at DZone with permission of Noga Cohen, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.