We get so focused on the "how” of load testing that we sometimes forget to talk about why load testing is important. Read this if you want to know why it’s important, too. Or, you may already know it is important - but you need to convince a friend, colleague or manager of load testing’s importance. Either way, here are a few useful points to help understand.
As immortalized in a 1986 Calvin and Hobbes comic, the classic physical engineer joke refers to driving progressively heavier trucks over a bridge to test its capacity. When the bridge collapses, you then know how much weight it could take by making the bridge load limit the same as the second-to-last truck. Of course, the drawback is you still have to rebuild the bridge.
In software, the "heavier and heavier trucks” trick actually works - it’s not the same as in the physical world. You can, in fact, drive increasingly heavier traffic to your site to simulate those heavier trucks. Your site will start to perform poorly as the traffic gets heavier, thus enabling you to build a stronger "bridge,” to continue the analogy.
In its most basic sense, that’s both what load testing does and why it’s important. Load testing lets you check the performance of your site (or app or API) by simulating heavier and heavier traffic, like Calvin’s Dad’s example of the heavier trucks. That’s important because you don’t want your site (or app or API) to fail under a heavy load - just like you don’t want a physical bridge to fail under a heavy load.
Yet without automated load testing - like what we do at Load Impact - you can’t guess just how much traffic it will take before your site fails or performs poorly. Load testing lets you find out, and make appropriate plans, changes and updates, before you actually experience any adverse effects.
The goal of business software is not only to be elegantly constructed, functional and bug-free. It’s also to perform well, be reliable, and achieve business goals. Other testing helps measure bugs; requirements help determine business needs and how they’re achieved. But the key to all of it is the site’s performance. Without strong performance, users are frustrated in trying to achieve their goals, customers abandon shopping carts, and business goals fail.
As developers, there’s nothing we dislike more than "flying blind.” We all have a friend - and likely you do, too - who likes to push code to production without testing (and then go on vacation). That’s unprofessional (and unwise). That’s the final benefit to load testing we have room for here: regular, consistent load testing as part of your build pipeline helps you ensure code changes don’t accidentally affect performance. Catching performance issues early makes everyone happier (and your job more secure).