THE PHASES TO AN AWESOME PERFORMANCE TEST
A performance load test project requires to be done in phases to be done right. This phases could be thought as levels in a video game. These phases are known by different names. But in essence they refer to the same things. Ketchup or Catsup, the same bloody thing.
These levels in your project ensure that you have a great project done. It drives me loco when I arrive at a client and they ask right away when am I going to start scripting. Maybe that same day?
Scripting is not the core of the project. It is just a tool for the goal of a load test project. But the goal is to request a lot to the server and gather metrics about those requests. Validating the quality of those responses ensures that you have a product that performs well.
A STORY FROM THE PAST
The client often misunderstands this. Makes me think of my old man, the true Señor performo… senior. He did some construction projects around our house when I was a kid. But the problem was that he did start construction right away, without much preparation. He just told a constructor, build me a room here, with a bathroom there and windows on top of it.
That extra room required constant fixes through most of my childhood and my teens. Water leaked through walls. Sharp corners on walls caused injuries. Even the freaking bathroom had no door! Thankfully nowadays it has one (It is made out of transparent crystal thou).
I hate to use this term. But sadly you could say that the project was done the “Mexican way”. No planning, just doing, and hoping to fix it later with duct tape.
Let’s try to clean this “Mexican way” stigma. I will show you now the steps that your load test projects should have. Please, once you understand them, try your best to not to overlap them. I promise you that by following this, your project will be awesome!
PHASE 1: FIGURE THINGS OUT
This is the starting point. This phase may be known as DISCOVERY, ANALYSIS, FINDINGS, REQUIREMENTS, etc. Therefore, this is the phase where we will discover the details of the project.
We may not know the nature of the tested application, even as we are expert testers on that technology. We will have to answer a bunch of questions. These questions were detailed earlier. It is really super important to have an answer for them. Trust me, I am a consultant. (wink wink)
Lets go through those questions quickly.
Why do we need the project?
How are we going to do it?
What are we going to test exactly (business processes)?
Who uses the system and who is in charge of stuff?
How much is it used?
When are the dates for the project and tests?
Finally, where is everything (the topology map)?
Similar to what i mentioned with Señor Performo senior. This would be like a terrain analysis. You will find out if you need permissions. Check for existing plumbing so you know where not to dig. Verify the humidity of the land. And a freaking analysis of why do bathrooms require doors!
PHASE 2: THINKING AND PLANNING
You have the required information to put together an actual plan now. This phase receives different names, like DESIGN, PLAN, ARCHITECT and many others.
Don’t be confused if some organizations fuse this phase with the initial phase. That is OK as long as whatever you do, you do not skip the important tasks.
Here you will create a detailed set of steps that will take you to the goal. During this phase you will produce two of the greatest assets of your project. The ‘Test cases’ document and the almighty ‘Test Plan’.
For the first one, you need to select and document the test cases that you will use to automate the load generation during this project.
However, you will not test all of the business processes that the system is capable of. We already ranted about that here. Here you will filter the worthy ones and document them. Than you will proceed to create the almighty test cases optimized for performance testing. Jesus! Please, not from preexisting functional cases, like I mentioned earlier.
After you have a set of awesome test cases, we will create another holy document. The almighty test plan (angel chants in the background).
This sacred document will be the backbone of the tasks for the project. At times, it will be as detailed and beefy as 50 pages. Actually, I have done some that are longer than that. The test plan could also be placed on an short(ish) email. Just please make sure to include all the important information. This will be like your guide map to an amusement park. Not to mention, a very important CYA.
The equivalent on Performo senior’s construction example is a blueprint. I know, this sounds like nonsense. Who in their right mind would construct a building or a house without a blueprint at all. You need at least a simple one with stick figures clear enough. I dare you to live in a house or a building constructed with no blueprints. Nothing else but just the whims of the constructors.
PHASE 3: PREPARING ALL TO TEST
This phase is NOT the most important part of a performance project.
Think about this phase as the part where you gather all your equipment. Prepare the items you will need. Plug all your tools. You may do this step several times each time you want to do a project or on each iteration.
We have discussed already what is the true need of an automated scripts. They should not be immortal and reusable. They are not at all. Most of the time they are incredibly fragile. That is why you need simple, quick and performance oriented test cases. To script them again in the blink of an eye if needed.
As well, here we will create and prepare the scenarios. The business process orchestration that will be run during the test execution. In the end we will configure the monitors if the solution allows it.
Think of this as buying the tools and preparing the cement mix. Here we won’t do the construction per se. Instead it will be like bringing all the sand. Prepare and connect the tools. To have ready every material so that we can construct it all at once. Following the blueprint needs. Unlike my dad’s project, we went every weekend for another bag of cement. Other times for paint. And on those trips we figured we needed a new tool that week. But still no bathroom door.
TO BE CONTINUED…
I want to keep these posts under sizes that will not tire you amigos.
But this part of the topic is long and will require more details. As even this part I tried to keep things short, this is a huge monster.
But the only way to eat an elephant is… One bite at a time.
I will leave you with a cliffhanger and continue the post on the next post. But to increase the suspense, next show we will discuss of the actual state of that bathroom door! But for now… Vamonos!