Performance & Load Testing
Amitysoft users “PASS TEST” methodology described below for executing load/ performance testing projects. PASS TEST methodology consists of carefully defined steps such as “Planning for Performance Testing, Assessing Application, Scripts Preparation, Scenarios Creation, Test Execution Management, Executing Scenarios, Synthesizing Results and Test Closure.
- Get to know the application and performance goals set by the customer/developer & Set objectives
- Identify infrastructure requirements (hardware, software, test tools etc.)
- Estimate time, effort and resource
- Specify customer involvement needs
- Understand the endurance testing needs
- Freeze the scope of performance testing
- Draw Performance Test Plan
- Understand and analyze the application.
- Identify the types of transactions/ visitors/ operational profiles
- Map them to the test tool functionality
- Virtual user scripts are created based on the business processes identified
- Vuser scripts are enhanced by adding general vuser functions
- Transactions get defined within the script to measure response time
- Data are parameterized to perform actions using different values from those recorded
- Running the captured vuser script in stand-alone mode
- Integrating the scripts into a scenario to check their functionality
- Refining the scripts
- Decide on various scenarios based on required mix of transactions/ visitor types.
- Identify the types of access medias and their speeds.
- Decide on the various mix of access medias relevant to each of the scenario
- Integrate the business process into a scenario
- Configure runtime for each scenario
- Integrate virtual users with the script
a. Identify the performance parameters to be monitored.
b. Decide on how to measure those parameters
- Identify reports to be generated
- Setup monitors
- Ensure test environment
- Review performance test scripts
- Interface with customer to provide analysis and get fixes/optimized software
- Ensure tester readiness
- Review progress
- Decide on the number of users for each of the scenario.
- Decide on various loads on the database for each of the scenario.
- Decide on the growth/ reduction on the number of users over a period of time.
- Identify the peak load in terms of no. of users for each scenario.
- Execute scenarios based on the following test needs:
- Baseline Test - Testing to determine the best possible performance of a system by submitting a single user.
- Load Test - Testing an application against a requested number of users. The objective is to determine whether the site can sustain this requested number of users with the pre-defined and business approved acceptable response times.
- Volume Test -Testing the system at the expected peak load. Most systems experience one or more peaks during the day. This test validates the system will be able to meet the customer defined performance requirements for those peaks.
- Stress Test - Load testing over an extended period of time. The objective is to validate an application’s stability and reliability. Memory leaks and excessive logging are typical issues identified with this type of test
- Capacity Test - Testing to determine the maximum number of concurrent users an application can manage. The objective is to benchmark the maximum loads of concurrent users a site can sustain before experiencing system failure.
- Step-by-Step Ramp Up - Load applied on the transaction are increased step by step to identify the scalability of the server
- Random Ramp Up - – Load is increased randomly to identify the reliability of the server if there is a sudden increase in the load
- Load Simultaneously -Once the system is scalable & reliable to any load, the maximum load to identify the performance of the system is applied
Synthesizing results include identification of bottlenecks in the system, Analyzing parameters like Web Server, Application Server, Data base Server, Hardware and Network Performance Counters data to isolate the performance issues in the application under test and Reviewing Performance test results/reports with customers and identify needs, if any for execution of performance test runs
Ensure Test objectives are met as per the scope of testing Identify improvement opportunities in the testing process