October 18, 2017

Load Testing On a Deadline

Most developers are familiar with the following scenario. They push hard to deliver on updates and features for an app, website or web service. Before deploying the app to production they realize that they did not load test the app or of it they did the tests do not cover all new features and updates. This article is a guide on how to load test fast, without compromising on the quality of your app.

The first step when load testing on a tight deadline is creating user scenarios. A user scenarios is a collection of web pages and URLs that virtual users will request during load tests. Web developers create different user scenarios based on how they anticipate users will interact with the system. Load Impact, a load testing cloud provider, provides a Chrome browser extension that records a user’s actions to create a user scenario. Each scenario is converted into a script that can be used within Load Impact. Visual Studio also provides a method of creating load test scenarios using its Load Test Editor. Another company that offers a load testing editor is DotcomMonitor.

After creating the user scenarios a developer will create and configure the load tests. One must determine the number of concurrent users to test and the number of user scenarios for each test. If you have historical data, use it to get an average for your performance baseline. You can also test different combinations of user scenarios to simulate the fact that different users will use the system differently. If you’re looking for additional details, you can refer back to DotcomMonitor’s page for more testing information, or also check with the Microsoft Developer Network’s load testing page.

After creating the tests you must now run them. There are four basic steps for load testing: run the tests, analyze system performance, optimize on the bottlenecks and repeat the previous steps. Because you are on a deadline you will not be able to perform many iterations of this process but that is not a problem as you can always run more tests after deploying the website.

Finally you should look into automating your load testing process. Most build systems provide methods for automatically load testing a system. Investing in automation will assist you when there is a deadline in the future. Companies such as Load Impact provide an API that automates a load testing pipeline. You can also automate your load tests using AWS CodeBuild and Jenkins.