Over a million developers have joined DZone.

Get Ready for Black Friday Now

Well, summer's over, so it's time to get ready for Thanksgiving? What?! Well, it is if you're selling online. Read on to find out how.

· Performance Zone

Download Forrester’s “Vendor Landscape, Application Performance Management” report that examines the evolving role of APM as a key driver of customer satisfaction and business success, brought to you in partnership with BMC.

Black Friday is just under 3 months away, making this the perfect time to start preparing your website and application for the expected crowds. 

To make sure you are ready for November 25th, here are 8 Best Practices for making sure you are ready.

black friday, application, site, load testing

1. Define Your Load Goals From a Business Perspective

To ensure your website can handle the load, you first need to determine what your loads are. You will need to define the number of concurrent users, the hold time or times,  traffic spikes and complex user scenarios. Take into consideration your traffic from last year, the changes in your traffic over the past months, your marketing efforts for Black Friday, any special offers you have that might spike your traffic and your users’ behaviour.

2. Involve the Whole Technical Team

After deciding what you want, you now need to plan how it can be done. Get your technical team together: developers, QA engineers, DevOps, product managers, etc. Get them involved in the Black Friday spirit and share your business goals with them. They are the ones that will be running the tests and preparing your infrastructure, application and site for Black Friday. Get an overview of the current performance status, so you can prepare for the next step — planning the tests.

3. Plan the Tests

Now you can plan how to execute your business goals. Together with your team, determine which tests you need.

Here are the types of tests you can run:

  • Load Tests — For understanding system behavior under an expected load.

  • Stress Tests — For understanding the system’s capacity limits.

  • Soak Tests — For examining the system’s abilities to hold a continuous expected load.

  • Spike Tests — For examining the system’s abilities to hold a heavy load that was abruptly and quickly generated.

  • Isolation Tests — A repeated test for examining if a known and detected system error or issue previously detected by the same test, was fixed.

Take your business goals as well as your knowledge of where your product performs better and not-so-well, and fit the right tests to them.

4. Choose Your Load Testing Tools

There are different open source tools you can use for load testing, such as JMeter, Gatling, Locust, The Grinder and Selenium (for low-scale browser loads). For a quick guide on the similarities and differences between them, see here. BlazeMeter offers additional advantages, such as larger scalability from multiple geo-locations, it’s a cloud service, it has sophisticated and elegant reporting abilities and it enables work collaboration.

5. Run the Tests

You are now ready to run the tests! Go for it. We recommend that if your system successfully handles your goals - go farther. Know when your system breaks. This could come in handy for unexpected real-time traffic spikes. If you know what your system can do, you also know how to manage it in real-time.

6. Analyze the Results 

Identify bottlenecks and errors and determine which solutions are needed to fix them, and fix them. Set aside dedicated technical resources for this. Look at KPIs like response time, throughput,  latency and connect time; and also at the correlations between them.

7. Run Your Tests Again

After committing changes, fixing bugs, servers are ready, etc., calibrate your tests and run them again to see if the changes improved your system’s abilities.

8. Plan and Implement Continuous Delivery (CD), Continuous Testing, and Continuous Integration (CI) Methodologies

Load testing doesn’t start and end before special events. Implement Continuous Testing into your development strategy. Ensure any changes in your code don’t affect other parts of your product, and make sure you are always prepared. Jenkins is an open source tool for automating tests and Continuous Integration, which enables load testing as part of its process. 

Black Friday is a great opportunity for many businesses. With proper preparation, you can ensure you will be prepared.

See Forrester’s Report, “Vendor Landscape, Application Performance Management” to identify the right vendor to help IT deliver better service at a lower cost, brought to you in partnership with BMC.


Published at DZone with permission of Noga Cohen, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

The best of DZone straight to your inbox.

Please provide a valid email address.

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}