The best way to avoid bad user experience is to integrate load and performance testing in your development process. In this post, I will shine a light on the necessary steps involved which you can use right away in your next performance test project.

Step 1 – Performance Requirements

Business analysts specify their performance expectations for the new application. They outline actual and future growth load patterns including transaction rates, user volumes and response time expectations. Make sure that you specify speed expectations with 90th percentiles instead of average values because they lie.

Step 2 – Test Plan

Performance Engineers review nonfunctional requirements and develop an appropriate performance test plan which contains performance requirements, the scope of this test, responsibilities, test-data, environments, load patterns, relevant use cases, scheduled test runs, and success criteria. Agree on status reporting and defect tracking with test and development teams involved. Make sure that the application owner approves this test approach prior you start with the implementation.

Step 3 – Test Environment

Test teams agree about activities on the used environment. Load and performance tests will be executed in exclusive slots to avoid the negative impact of background activity. The sizing of your performance test environment can be a critical factor. Therefore, make sure that you execute your tests in a production-like sized setting.

Step 4 – Implement Test

Engineers decide on the simulation approach and develop the necessary test scripts. Depending on the technology of your application under test and the goal of your performance test you will implement protocol-level, headless-browser of real browser based scripts. Some load testing solutions provide a script recorder which allows convenient test script creation without any programming skills. The tester just executes the use case manually while the recorder captures the interactions and creates the test script. With open source tools, the script implementation often requires programming skills.

Step 5 – Configure and Execute Test

The application owner enables system resource monitoring while test staff compiles their scenarios. They setup component level tests to run on a daily basis and end-to-end test scenarios to run on the fully integrated production like environment. Don’t forget to inform dedicated teams about your test execution slot’s to avoid unexpected downtimes during your test.

Step 6 – Result Analysis

After the test execution, test staff collects all results including response times, log files and system resource metrics. Start from the end users perspective and verify if response times are within the expected boundaries. Continue with horizontal and vertical analysis to identify the performance hotspots. Based on my experience, in more than 90 % of the executed tests bottlenecks will be determined, defects need to be raised, and the root-cause analysis starts.

Step 7- Tuning

If the performance is not acceptable corrective actions must be conducted. Engineers lay out their test approach, discuss actual results with developers, infrastructure, database, network and architect teams. This virtual team decides on tuning measures, implements corrective actions and repeats the test until performance is acceptable.

That’s it. The earlier you start testing your performance requirements, the easier you can fix identified issues. Be proactive and eliminate critical hotspots before they affect your business users. Good performance – happy customers – growing revenue!

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s