Black Friday is less than 2 months away. Now is the time to get ready and prepare your website or app for the expected crowds.
Here are 6 load testing tips — relevant for load testing in general and especially Black Friday.
1. Start Performance Testing Early
‘The early bird catches the worm’ goes the saying. The same goes for performance testing. The earlier you start load testing, the sooner you will catch bottlenecks and the sooner you can fix them. Make sure you are ready on time.
As development is ‘shifting left’, more organizations are incorporating Continuous Integration (CI), Continuous Development (CD) and Continuous Testing (CT) strategies. By load testing regularly every time you change code, commit builds and deploy, you will catch most of the problems before big events like Black Friday. This doesn’t mean it isn’t important to run special tests before Black Friday, but come as prepared as you can. Just like shows and plays have many rehearsals before the dress rehearsal.
2. Load Test the Complete Stack
When preparing your environment for load testing, test the surrounding infrastructure and software, as well as the app. This includes the communication equipment, databases, networks, etc. By making the testing environment as similar as possible to production, you are making the test more accurate, thus raising the number of bottlenecks you discover in time and reducing the risk of surprises during Black Friday peaks.
3. Monitor the Back End Results of the Load Test
Load testing lets you view and analyze performance KPIs like Response Time and Latency, and correlations between them. But it’s also important to go over backend KPIs like the Cache Hits and DB Queries, see the error log for exceptions, and also go over standard hardware characteristics like CPU/Memory/Network usage and auto-scale status.
Various solutions enhance the ability to analyze test results. New Relic provides app performance monitoring, AppDynamics provides end user monitoring and Amazon Cloud Watch monitors AWS cloud resources.
4. Create and Simulate Real-world User Scenarios
When load testing, your users and their needs should be in mind. Create scenarios according to their habits. If they like to spend a lot of time browsing through your app catalog, put an emphasis there. If they tend to double check their details on your site form, make sure your load test includes those pauses. A real world load test makes sure you eliminate relevant bottlenecks, thus ensuring spectacular user experience.
5. Monitor User Experience
Load testing ensures your site or app won’t crash, but you probably also want to make sure your users have a pleasant experience. As part of the DevOps and CI approach, we recommend you also test your web browsers and operating systems, with tools such as Selenium and Sauce Labs. This way, you can discover if any of the changes you made didn’t affect performance - but did affect user experience.
6. Take Your Third-party Partners and Suppliers into Account
When you make changes on your app or site, you don’t just affect your own product. You might also influence third-party scripts on your app or site, or you might crash 3rd-party devices and servers if you don’t prepare them properly. For example, different CDNs require different approaches, and the AWS load balancer (ELB) requires a warm-up before load balancing.
Even though this is part of what you are testing, we recommend you contact your partners beforehand and conduct all the preparations necessary. This ensures that the load test will take into account their preparations and full capabilities (instead of partial capabilities, as might happen if they don’t get a chance to prepare). It also saves you time and effort, since you won’t need to deal with basic 3rd-party issues that could have easily been fixed.