Black Friday is one of the days which is most awaited every year. Everyone who is a part of the internet community is bloodthirsty for Black Friday because of all the discounts and extra contents, and of course, they want to perform their shopping without a problem, as expected. Your site or app must be ready for the most crowded days of the year and must endure making your customers happy. Black Friday is approximately 3 months from now, so you better be ready for it yesterday, in case you are not, here are some advices you can follow through.
Every website has the usual traffic which it has to handle, and then there is the issue of how much it actually can, that is what we call “load”. First, you need to determine how possibly big your load will be. It is better to think of the worst-case scenario. You can take the website traffic of previous years as a measurement of the load, taking into account the activity of your site/app since last year. Or, if this is the first time you are facing Black Friday, you can have a look at the growth rate of past months and think of a formula to determine the possible traffic to your website. Also, you should take into consideration how much advertising is going to be done and how many people will be reached approximately with your advertisements. Once you are done thinking of your load, you also need to inform your team working on the site/app and get them to work towards Black Friday.
Once you know your limitations and expectations, you need to plan and perform your tests. It is highly unlikely to know how far your site will go without testing it. Or would you rather roll the dice on Black Friday? There is a variety of tests you can run to detect your site’s strengths and weaknesses. You can run the ones which you think you should be running. However, I would recommend you to run all kinds of tests possible to understand your site as a whole.
To know how your system will behave under an expected load, you should be performing load tests. The crucial part of load tests is to set your expected load to maximum to be ready for the worst-case scenario. Load tests are extremely crucial to have a certain idea of how much traffic you can hold without your website crashing. Once you have determined the load you can handle, you should be interested in how long it can handle the expected load. To carry out this task, what you need to do is perform soak tests. Soak tests are designed to test how long your system can endure the maximum load. Once you are done with your load and soak tests, I recommend you to test the spiking conditions. What happens if all the customers you are expecting joins the party in less than a few seconds? Will your system be able to handle it? Because if not, you are in real trouble in Black Friday. Good thing you still have time, so keep testing!
To see the limits of your system, you should perform stress tests, also known as torture tests. The main goal of the stress tests is to see how much your system can handle without breaking down. Try to force your system to its maximum but do not overdo it.
I have talked about a lot of fancy and extreme tests; however, you will need some steady and standard tests as well. You will have minor or major system errors that you’ll need to fix and you should be checking them constantly, with every update to your system, to understand if you fixed the error in your previous update. We call those kinds of tests Isolation tests, and they are a necessity for test-driven development which is today’s most considered development method.
You may be wondering how to test for all those issues mentioned, there is a variety of open-source load testing tools. JMeter, Gatling, The Grinder and Selenium are such tools. You can find more detailed information about the tools online.
Once you have determined all the tests you will perform, it is time for you to run the tests. Is your system able to handle your tests? Or did it break down? In any case, now you have some valuable data. In case you passed all your tests, good job! However, do you think it is enough since the actual traffic may not be the same? If you want to do some more testing, keep going, there is nothing holding you back. Did your system break down after your tests? No worries, you still have plenty of time to work on the errors, which is exactly why we are testing. You need to detect what errors you have encountered, and you need the specify why you encountered those errors. Then think of the best possible solution for them.
Once you are done implementing your solutions, it is time for a rematch! Run your tests again and observe. You know both outcomes of testing. Do you still get errors? Keep analyzing them. Did you pass all the tests this time? Good job.
Testing is not just for holidays like Black Friday of course, you have your customers and visitors all year, so you need to keep them happy all year to have a healthier growth rate. Therefore, you need to control and test your system periodically. To have incredible traffic loads at Black Friday, you need to have a good customer base after all. There is plenty of articles about continuous testing online and you can start checking them out with this one: Agile Development and Continuous Testing
Black Friday is a perfect opportunity to make profit and attract more people to get into your site/app. So, you better be ready for it!