You’re committed to load testing because you’re convinced of its benefits. But are you load testing both consistently and continuously?
Both are important, and both deliver results. Those results not only optimize your app’s performance - but can catch job-threatening performance issues early in development. Let’s talk about them individually.
Continuous Load Testing
The word “continuous” is essential to the terms “continuous delivery,” “continuous deployment,” and “continuous integration.”
Continuous integration, or CI, implies that developers merge code changes back into the main branch frequently. Those merged code changes are automatically tested from creating a build, then testing against that build. In most cases, this process happens daily. This avoids the pain from the old process of building - and thus integrating - less frequently. The key to CI is automated testing.
Continuous delivery, follows continuous integration. It’s one of the “CD” acronyms, which is a little confusing. While continuous integration means merging new code into daily builds, continuous delivery means delivering updates as quickly as possible to customers. Thereby, the build process integrates code changes into deployable builds automatically so you can deliver updated versions to customers easily.
Continuous deployment is the second “CD,” and is an extension, in a sense, of continuous delivery. Instead of creating deployable builds, then deploying them manually, continuous deployment means automatically deploying builds to customers. They’re pushed live to customers as long as an automated build passes without errors.
Thus, with CI / CD / CD, continuous testing is part of each. Most automation remembers functional testing, of course, but we’d argue that load testing is just as essential. Continuous load testing means your load tests are part of your regular build cycle. When you create daily builds, run at least basic load tests along with those builds. Load test thresholds help you catch minor issues before they become big.
Catch site performance changes as soon as they happen with continuous load testing to prevent minor issues from becoming major ones. This applies for any kind of testing done earlier in the development process: catch errors early and minimize their effects. Continuous integration, continuous delivery, and continuous deployment mean you no longer reserve testing until a release candidate reaches a dedicated testing team late in the process. Instead, testing is now done earlier and throughout the process.
Consistent Load Testing
Load testing should be not only continuous but consistent.
All too often, we hear that performance testing and load testing are the first automated tests to be postponed. Or, worse, load testing only takes place before an anticipated traffic peak.
Both can be mistakes with grave consequences. When you’re consistent with load testing, you make sure you know about any load performance issues early, thus staying ahead of any potential issues. None of us can foresee the future, especially when it comes to potential traffic.
Consistent application of continuous testing is essential. You, the developer, get consistent feedback from continuous load testing, and build better apps, sites and code.