By: Stan Lee Itzcoatl.
We are hearing more and more about tech companies that are encountering load related website issues. Over the course of the last few years some very high profile companies have had load related problems with their websites. I won’t go into the exact names of the companies but you likely know who they are. Many of these companies make products that I greatly admire. My hope with this post is to bring attention to the possible reasons why load issues happen. I will not go into the technical details but I will share some of the major causes I’ve seen during my career.
How Does This Happen?
In my experience there are a handful of key reasons why organizations might run into load testing challenges. The first reason that comes to mind is when teams decide from the start of a project that they will not perform load testing due to the risk it poses to meeting a delivery date. A second situation might happen if companies do perform load testing but they either didn’t perform enough of it or they performed the wrong kind of load testing. The third biggest reason happens when an organization plans to conduct load testing when the project starts, but then later they scrap it entirely due to blown milestones and lack of time. This is different from the first reason in that there was initially the intention of doing load testing but a team might have sacrificed it to meet the target date. It is also worth noting that I’ve seen teams scrap load testing from the very start of projects because their technical team (developers) felt strongly that their code was so solid that it couldn’t possibly run into load issues. This is never a good reason to bypass load testing.
How Do We Prevent This?
1) Plan for best and worst case scenarios from the start.
Have a contingency plan for the worst possible scenarios. This includes running out of time and code being too buggy. If you see that milestones are not being met along the way then bring this to the attention of the project team. Make sure they know that load testing is at risk.
2) Setup the load testing environment immediately.
It is never too early in a project to setup the load testing environment. Do this from the very start of the project (or sooner). If the project begins running out of time as you near the release date you will at least have this completed.
3) Formally discuss the goals and risks of load testing with the project team.
Make sure to gather the project’s main players and have a formal discussion about both the goals of the load testing and the risks. The goals should be detailed enough that they will help avoid any assumptions. If you need further technical detail have a follow up meeting with the technical leadership.
4) Understand what is most important for your company.
It is fine to load test 1000 different scenarios. It might equally be fine to test the 3 highest priority scenarios. The key is to understand what is most important for your company. Let’s put it in simple terms. What can your company not afford to have happen? Can your company survive if the website is down for 3 hours a day? Can your company survive if one out of three customers get a dropped shopping cart? Know what you absolutely cannot accept and start there. Combine this with the goals your company is trying to accomplish. If they want to support 100 purchases per minute then this is something good to work with. The point is to know what your company and customers need.
Bravery is the most important trait that a team member can have as they go through load testing challenges. Schedules are tight and the pressure can be high. Be brave and make your voice heard. If you see that something is not right bring it up and have a discussion around it. The stability of your site may depend on it.
Stanitz LLC provides a full range of software consulting services including development, QA testing, technical SEO and more. If you need assistance with your QA testing projects contact Stantiz today. We focus on speed and results.