Before starting to dig into LoadRunner, we will try to get some basics of Software Performance
Testing. I would like to introduce some concepts regarding performance testing and types of performance testing.
The basics introduced here are not limited to LoadRunner,
these can be applied across all performance testing strategies (using any other performance testing tool).
Performance testing is the process of studying the application behavior under varying load conditions. It ensures that the application is capable of functioning satisfactorily
when processing peak data and user load.
Types of Performance Testing can be:
-
Load Testing
- Testing the system under varying workloads to measure the performance behavior of the application such as response time, transaction rate, system resource utilization, etc.
-
Stress Testing
- To ensure that the system is stable under the peak load conditions.
-
Scalability Testing
- Testing whether the system is Scalable in terms of the number of users.
- Testing whether the system is Scalable in terms of the volume of data processed.
-
Reliability & High Availability Testing
- To ensure that the system is available continuously over a specified period of time without failure.
- To measure the Mean Time To Failure (MTTF).
The process diagram below depicts the Performance Testing process in a clear and consice manner. It shows an end-to-end process that can be used for any load testing need.
Requirements Gathering and Tool Selection:
- Identify Load Test Requirements — What all needs to be load test?
- Identify Performance Objectives — What are the performance goals for your application? Example: number of concurrent connections and/or hits per second to expect against the Web site.
- Evaluate and Select Load Test Tool and Monitoring Tool — Evaluate the tool to find out which tool can provide the best ROI in terms of the above defined performance objectives, cost of the tool, expertise pool available.
Planning and Analysis:
- Design Load Test Plan
- Identify and Prioritize Scenarios
- Identify Load Test Monitors: System( like perfmon for windows) or Non System Monitors ( like Apache Web Server) [Note: Monitors are programs that keep a check on your system's performance, For Ex: type perfmon in Start -> Run command and check for yourself! ]
- Design Load Test Framework
- Set Load Test Environment
- Design Scripting Guidelines
- Assign the scripts among team members
Scripting and Configuration:
- Test Script Development and Unit Testing
- Configuring Test Scripts and Test Groups
- Develop Load Test Automation Suite
- Design and Deploy Monitors
Execution, Monitoring and Reporting:
- Perform Preliminary Tests
- Perform Formal Test- Various Loads: Under various loads condition as agreed upon with the client.
- Monitor Server and Resources
- Analysis and Bottleneck Identification
- Defect tracking and Configuration Management
- Reporting and Closure