If you want to make sure your company's website is ready for a large dose of visitors — right at launch, during a registration period, or just at times when you expect more traffic than usual — then proper load testing will make sure your site keeps operating smoothly.
Load testing is the practice of bombarding your website with traffic to make sure it will stay up and running at a time when a lot of visitors will be hitting the site. It's like a stress test. If your website fails, you can make adjustments to make sure that failure isn't public, or you can bulk up your servers to prepare for the next time you expect a shot of traffic.
[ Related: Software Testing Lessons Learned From Knight Capital ]
Load testing matters because any website failure is a bad thing — especially when it happens at the exact moment that a lot of people try to access your site at the same time. Examples abound, including crashes duringChicago Marathon registration in 2013 and, this year, during live streaming of the Academy Awards on ABC and True Detective on HBO.
These instances cause public relations nightmares. The Chicago Marathon even fired the firm that was running its race registration at the time of its crash.
Remember, Load Testing Predates the Internet
Firms used load testing even before the Internet became an everyday part of our lives, says Andy Podgurski, professor of electrical engineering and computer science at the Case School of Engineering at Case Western Reserve University. In fact, it was considered good practice for telecommunications and other systems, he says," because programmers and analysts often underestimate the loads that the system will have to handle in the future."
Load testing came to the Internet almost as soon as it entered the public sphere. Podgurski recalls IBM commercials of the late 1990s and early 2000s mocking "visually attractive ecommerce sites that generated a lot of customer interest but couldn't handle the transaction load and so lost business."
The same is true today, albeit without the mocking commercials. Alon Girmonsky, CEO and Founder of Blaze Meter, a load testing cloud service that can test up to 1 million concurrent users at a time, says that retail makes up a significant sector of its clientele. Retailers use load testing to make sure that their websites and mobile sites can handle holiday shopping on days like Memorial Day or Black Friday.
"Every month, you have something. Load testing can be used to validate a certain event, a sales event or anything you do on your website," he says.
"Load testing is part of the general term of performance," Girmonsky adds. "It's the ability to test your back end and make sure that, whatever you do, whatever you develop, all that money you invest, it will not fail when you need it the most."
Different Approaches to Load Testing
Blaze Meter uses a combination of cloud services, including Rackspace, Google Compute Cloud and Microsoft Azure, to slam your site (or test site) with traffic from all over the world and then see how it holds up.
Redline13, a New Jersey-based load-testing company, uses a different approach: Companies sign up for Redline13 and then use the program within their own Amazon computing cloud servers to run the load test.
"We farm stuff out to your servers and run it on your servers," says Bob Bickel, who founded Redline13 a year ago as a cheaper way to load test RunSignUp, his own road race registration site, and his main business. He estimates that commercial load testing would cost him up to $600,000. Instead, he created Redline13 and then spun it off into its own company.
[ Analysis: Software Testing Alone Can't Save You From IT Disasters ]
One group used Redline13 to test World Cup-related websites. It failed. Bickel sees that as a good thing: It helped the firm figure out what was wrong before the world's most popular sporting event began.
Redline13 says it's able to tests for less for two reasons. It uses a company's own Amazon servers to run the test, and it uses a program called Amazon Elastic Compute Cloud (EC2) Spot Instances. If Amazon has excess capacity in Oregon, say, or Singapore, it lowers the price on its services for an hour at a time, Bickel says. Redline13 uses those blocks to run load tests.
Since Redline13 uses a site's own Amazon servers, there are limits to what it can do. Amazon limits the company to testing up to 20,000 hits per second — any more than that, and Redline13 would be flagged as a denial of service (DoS) attack and shut down.
Load Testing's Future Is Mobile
Load testing may have started as a way to test a website's capacity during a specific event, but many companies now incorporate load testing into continuous integration processes. In these cases, Girmonsky says, testing occurs once a week, or even once a day, as opposed to being done on demand.
As for load testing's next frontier, Girmonsky says it's mobile. Website owners will want to see how mobile sites perform when connected via Wi-Fi or running on 3G or 4G networks. This is more challenging than more traditional Web development, Girmonsky says, because of the differences among today's mobile networks and various mobile devices.
But it's just as crucial a step, if not more so, as consumers check World Cup scores, register for a race, watch TV or take advantage of that one-day sale on their smartphones and tablets instead of waiting until they get home to use their laptops.
Jen A. Miller is a freelance journalist from New Jersey who writes for the New York Times, Philadelphia Inquirer and Runner's World, among others. She can be reached at www.jenamiller.com or n Twitter at @byJenAMiller. Follow everything from CIO.com on Twitter @CIOonline, Facebook, Google + and LinkedIn.