For high trafficked websites, one of the most important steps in the quality assurance process is to see if the new website is ready for peak traffic via a load test (also referred to as a performance test). The goal of the load test is to either a) validate that your website is capable of handling the requests of high volumes of users or b) identify the breakpoints and bottlenecks where the current infrastructure will fail.

Considering the the results of your load test can determine whether your website will make it or break it during the times when you have the most customers on your website (this is often Cyber Monday for most online retailers), creating a quality load test plan is an extremely important aspect of the execution of a successful load test.

Here are the 5 main steps in creating a proper load test plan:

1. Determine if load testing is appropriate for you

The obvious first step in creating a load testing plan is determining if it is necessary for your website. If you answer “yes” to the following questions, than you may want to consider adding load testing to the QA process of your website:

  • Does my website have periods of time where the traffic is much higher than others?
  • Will my visitors tolerate poor performance, or will they leave and go elsewhere?
  • Does my website generate revenue?
  • Has my website experienced performance problems in the past?

2. Identify how customers navigate the website

Make a list of all the page types that customers navigate to when on your site. You will want to pull together the following data:

What are the page types are visited by users?

  • Homepage
  • Product pages
  • Review pages
  • Categories
  • Sub Categories
  • Blogs
  • Landing pages

What are the conversion paths on your website?

  • Standard checkout
  • Special paths for promotions

3. Leverage analytics to determine your peak traffic levels and plan out test script flow

In order to plan an appropriate script flow, you’ll want to incorporate all the most used pages and conversion paths above in a way that mimics the average website visitor during the peak timeframe. To get your peak traffic levels:

Examine your past 12 months of data and find the busiest day of the year:

Examine Trailing 12 Months of Traffic

Filter down to the busiest day of the year:

Peak Day Metrics

Record the following metrics for usage during the peak hour:

  • Visits
  • Pageviews
  • Pages / Visit
  • Avg. Visit Duration
  • Avg. Time / Pageview = [Avg. Visit Duration] / [Pages / Visit]
  • Peak Concurrent Users = [Visits] x [Avg. Visit Duration in minutes] / [60 minutes]
  • Conversion rate

Identify Peak Conversion Rates

This will help you determine the number of scripts you’ll want running at any given time

4. Create load test scripts

Now is the time to create your load test scripts that that simulate customer “personalities” and exercise the most trafficked pages and landing pages.

When you create your load test scripts, there will be 2 main types of personalities: those that just navigate through the site, and those that go through conversion paths. You’ll want to create an appropriate number of scripts to cover the main, page types and conversion paths from step 2 and distribute them appropriately using the metrics gathered from step 3. Here is the methodology of how to create the scripts:

  • For navigation only scripts – Your navigation scripts should include roughly the same number of pages as your Pages / Visit metric from above indicates. If you can’t cover all your page types in a single script, consider using multiple navigation only personalities to get full coverage.
  • For conversion path scripts – You’ll want to process an order through the entire conversion path. If there are multiple conversion paths, you’ll want scripts for the most utilized ones.

5. Apply distribution of traffic for load test

Based on the metrics gathered in step 3, you can apply an appropriate distribution for the peak virtual users for each script of the load test. Here is a quick way to find those peak numbers:

  • For each navigation only script – Peak Virtual Users = [Peak Concurrent Users] x [1 – Conversion rate] / [# of Navigation Only Scripts Used]
  • For each conversion path script – Peak Virtual Users = [Peak Concurrent Users] x [Conversion rate] / [# of Conversion Path Scripts Used]

The load test should start at a low level of concurrent virtual users, and gradually increase until you are at your maximum load needed to simulate the busiest times of the year for your website. If your website passes the initial test, you can always increase the total load until the website fails to find out where the breakpoint is.

Now that you have an idea of how to create the load test, you can use your favorite traffic generation tool to perform the test.

Ready to start load testing? Rigor recommends SOASTA’s Continuous Load Testing services. Learn more about load tests services on their website here.

Suggested Blog Posts

The Perception Gap for Poor Web Performance

E-commerce revenue continues to grow,as consumers turn away from shopping in brick-and-mortar stores to shopping online.  However, many businesses are not prepared for this growth because they do not fully understand the market and how to invest in...

Read More

Using Browser Trends to Maintain a Better Site

Because of the multifarious nature of web clients today, it’s important to consider the usage statistics when designing, implementing, and managing your site. However, misconceptions often arise when determining what browsers to design...

Read More

Finding Causes of Intermittent Errors from Google Webmaster Tools

Google Webmaster Tools is a web service that allows webmasters to view the status of their sites as seen by Google and the Googlebot crawlers. In addition to indexing your site structure and content, the Googlebot crawlers also record data on perform...

Read More

Optimization Options not Always Optimal

Web designers and developers are always looking for ways to speed up their page load times. Yahoo has an excellent article written on the best practices for speeding up your page. How do you know if implementing one of their suggested practices will...

Read More