Bloop Co wants to make sure that their system can handle thousands of new users attempting to buy their product. One of the engineers has created a test. The company gathers around as simulated requests flood into the system. 1000 requests, 2000 requests, 5000 requests, the system is able to handle more and more requests as they come in. It looks like some of these resiliency methods have been working!
Remember, we want to know how our system will perform under difficult circumstances. It makes sense then to create some problems on purpose, to see how our system responds. Let’s take a look at some ways engineers test the resiliency of their systems.
Penetration testing involves simulating cyber-attacks to try to exploit security vulnerabilities. Penetration testing gives us a chance to see how our system might respond to a malicious user. Using penetration testing allows us to identify holes in our security that we need to fix.
Load testing seeks to replicate situations in which the system is under heavy use. Load testing might simulate millions of customers trying to access our site all at once. Load testing can help us identify areas in which the system will break under real-world conditions.
Each of these practices can help us identify and then remove weak spots within our system. Sometimes it takes breaking a system to make it better!
Can you think of ways that other industries do load testing?
While penetration and load testing are powerful tools that can cause failures, there are many more ways to test a system’s responses to problems. Next we will look at further ways to reveal how a system will respond to issues.