In this tutorial, we will be studying the performance testing process in detail. We will study each and every step involved in the performance testing of web applications.
Below are the steps involved in the performance testing of an application-
1. Performance Test Requirements Gathering & Analysis
In this phase, all the details about the application are gathered from the client and other stakeholders of the application. The key questions asked from the stakeholders are-
- Details of application architecture and design.
- The anticipated concurrent user load.
- Any performance benchmarks or performance acceptance criterias.
- The knowledge of highly performance critical workflows.
2. Testing Tool Selection
This phase involves selction of the performance test tools. There are different reasons that need to be considered while selecting a performance test tool-
- Application type and architecture - One of the primary thing to consider while selecting a tool is the type and architecture of the application. E.g. for performance testing of SOAP webservice we might prefer selecting a tool like LoadUI which is custom made for load testing of SOAP webservice.
- Project Budget - Based on the budget allocated for performance testing, we need to make a choice between free tools and different licenced tools.
- Test Specific Requirement - The specific requirements of a performance test is also considered while selecting a test tool e.g. there may be a requirement of performing load test with 10000 users, many avialable tools does not effectively support this much load. Hence, a tool capable of effectively carrying out the requirements of the performance test should be selected.
- Expertise required for scripting - The expertise or experience of the QA team with a particular tool also governs the test tool selection. Some tool can work on simple record and play back principle, other require good knowledge of particular language.
3. Performance Tests Planning
The test planning phase includes strategizing the whole performance testing process. The major activites performed in this phase are-
- Performance test infrastructure and environment setup.
- Identification of the use case scenarios to be scripted.
- Specification of the total user load to be simulated.
- Specifying the test configuration like duration, number of user distribution between different scenarios etc.
- Selecting the test result metrics, using different listners for collecting and analyzing the test results.
4. Test Script Implementation
In this phase, the performance test scripts are created using the tool selected in the previuos phases. The two activties performed during this phase are-
- Creation of test script based on the scenerios chosen in the planning phase.
- Creation of varied test data for different scenarios of the performance test.
5. Performance Test Execution
In this phase, the test script are executed for a predefined time specified during the planning phase. At the same time, the performance test progess is monitored along with the different aspects of the server like CPU usage, memory consumption etc.
6. Test Result Analysis
The result analysis phase includes consolidating the test results for determining the different performance attributes of the application and finding the performance bottlenecks. The test results along with any additional information about the application state is shared with all the relevant stakeholders.