Thursday, 7 January 2016

Performance Testing Phases


Planning/Design Phase:-

This is the most important phase where a performance test engineer has to understand the application in terms of both business and technical prospective.

In terms of Business perspective one should understand the end user usage like business process flow (step by step usage of the application), most frequently executed business transactions, Number of users in production (under normal and unexpected load), the rate at which the transactions will be executed, workload criteria (It comes under both technical and business)….e.t.c.

In terms of technical perspective one should understand the system architecture and environment, Types of performance tests with the objectives, effort required to conduct the performance tests, entry criteria and exit criteria, Tools used to conduct the performance test …..e.t.c.

Build Phase:-

It includes
  1. Scripting: Record/develop the scripts based on the business processes gathered in the design phase. Script should be prepared with enough test data. All the business transactions should be embedded in the script with proper parameterization. 
  2. Scenarios with workload: once the script is prepared with zero errors, then distribute the number of users appropriately for each scenario to simulate real world production environment.
  3. Monitors: Decide which servers need to be monitored.
We may need help from different teams like systems, DBA, Operations and Business Teams in order to execute successful performance test execution.

Execute:-

Execution will be done in multiple phases. It consists of various types of testing.
Baseline Testing
Base line testing is done to ensure that the correctness of the application’s functionality, script & environment setup. This will be done with 1 user.
Benchmark Tests
Benchmark testing is done with 15 to 20 % of the target load. These are designed to measure and compare the performance of each build of the application in ideal situation.
Also, we may need to conduct different types of performance test based on the requirements.

Analysis and Tuning


Once the performance testing is done ,we analyze performance test result and identify the bottleneck of the system. Once the bottleneck is identified  and fixed, we run bottleneck isolation testing and conform system to improve the overall performance.


Report:-
We prepare performance test report with below metrics (I am including only few metrics):-
  • Transaction response times
  • Resource utilizations
  • Volumes, capacities, and rates
    • Bandwidth consumed
    • Throughput
    • Transactions per second
    • Hits per second
We also add recommendation in the report and publish to stakeholders and close the project for the current release.

No comments:

Post a Comment