Venkat Matta

it's all about the Performance Testing

Performance Testing

What is Performance Testing?

Performance Testing is a process of evaluating system’s behavior under various extreme conditions. The main intent in Performance testing is monitoring and improving key performance indicators such as response time, throughput, memory, CPU utilization etc.

There are three objectives (three S) of Performance testing to observe and evaluate; Speed, Scalability and Stability.

Performance testing evaluates the system. It identifies the bottleneck and critical issues by implementing various workload models.

When to start Performance Testing?

Performance Testing starts parallel with Software Development Life Cycle (SDLC). NFR elicitation happens parallel with System Requirement Specification (SRS).

Now we will see the phases of Performance Testing Life Cycle (PTLC).

  1. Non-Functional Requirements Elicitation and Analysis
  2. Performance Test Strategy
  3. Performance Test Design
  4. Performance Test Execution
  5. Performance Test Result Analysis
  6. Benchmarks and Recommendations

Performance-Testing-Life-Cycle-QAInsights

1.     Non-Functional Requirements Elicitation and Analysis

Understanding non-functional requirement is the inception and most critical phase in PTLC.

Entry Criteria

  • Application Under Test (AUT) Architecture
  • Non-Functional Requirement Questionnaire

Tasks

  • Understanding AUT architecture
  • Identification of critical scenarios and understanding
  • Understanding Interface details
  • Growth pattern

Exit Criteria

  • Client signed-off NFR document

 2.     Performance Test Strategy

This phase defined how to approach Performance Testing for the identified critical scenarios. Following are to be addressed during this phase.

  1. What kind of performance testing?
  2. Performance tool selection
  3. Hardware and software environment set up

Entry Criteria

  • Signed-off NFR document

Activities

  • Prepare the Test Strategy and Review
  • Data set up
  • Defining in-scope and out-scope
  • SLA
  • Workload Model
  • Prepare Risks and Mitigation and Review

Exit Criteria

  • Baselined Performance Test Strategy doc

 3.     Performance Test Design

This phase involves with the script generation using identified testing tool in a dedicated environment. All the script enhancements should be done and unit tested.

Entry Criteria

  • Baselined Test Strategy
  • Test Environment
  • Test Data

Activities

  • Test Scripting
  • Data Parameterization
  • Correlation
  • Designing the action and transactions
  • Unit Testing

Exit Criteria

  • Unit tested performance scripts

 4.     Performance Test Result Analysis

This phase involves dedicated to the test engineers who design scenarios based on identified workload and load the system with concurrent virtual users (VUsers).

Entry Criteria

  • Baselined Test scripts

Activities

  • Designing the scenarios
  • Loading the test script
  • Test script execution
  • Monitoring the execution
  • Collecting the logs

Exit Criteria

  • Test script execution log files

 5.     Performance Test Result Analysis

The collected log files are analyzed and reviewed by the experienced test engineers. Tuning recommendation will be given if any conflicts identified.

Entry Criteria

  • Collected log files

Activities

  • Create graphs and charts
  • Correlating various graphs and charts
  • Prepare detailed test report
  • Test report analysis and review
  • Tuning recommendation

Exit Criteria

  • Performance Analysis Report

 6. Benchmark and Recommendations

This is the last phase in PTLC which involves benchmarking and providing recommendation to the client.

Entry Criteria

  • Performance Analysis Report

Activities

  • Comparing result with earlier execution results
  • Comparing with the benchmark standards
  • Validate with the NFR
  • Prepare Test Report presentation

Exit Criteria

  • Performance report reviewed and baselined

 

 

Advertisements
%d bloggers like this: