Performance Test: General Overview

Serdar Zeybek
February 07, 2012

Performance test is a kind of test used for detecting respond ability, process volume, reliability and/or scalability of a system.  Performance test mainly generates answers for below issues:

  • Finding out that if the product is ready or not
  • Evaluation with respect to performance indicators
  • Comparison of performance characteristics in many system or system structures
  • Identification of performance problems reasons
  • Supporting system adjustments
  • Finding process volume levels

Basic Activities of Performance Test

Generally, performance test is carried out in order to detect system bottlenecks, generate comparison data for further testing, assist performance adjustment studied, address compliance between performance targets and needs and/or make decisions about application quality.  In addition to these, performance test is also used for defining needs and configurations required prior to applications are available in product (live) environment based on performance test and analysis results.

Main Performance Test Activities

Performance test approach is composed of following activities:

Activity 1. Define Test Environment. Define physical test environment, product environment and also available tools and sources in test team. Physical environment definition includes hardware, software and network configurations. If we understand test environment completely, it will enable us to have more efficient test design and forecast potential problems during further stages. In some situations, this process should be repeated during entire life cycle of a project.
Activity 2. Define Performance Acceptance Criteria. Define reaction time, process volume (throughput), source utilization targets and restrictions. Generally, reaction time defines end-user concern, process volume is business concern and source utilization is system concern. In addition, define project achievement criteria that can not ben succeded by using these targets and restrictions. For example, we can say that which configuration settings show best performance characteristics by using performance tests.
Activity 3. Plan and Design the Tests. Define key scenarios, diverse user groups and how this diversity will be applied and set test data and metrics to be gathered. Combine this information so as to establish one or more system usage models to be implemented, operated and analyzed.
Activity 4. Adjust Test Environment Settings. Prepare test environment, tools and all required sources having strategic features and components for the test. Besides, ensure that test environment is monitored via required tools.
Activity 5. Apply Test Design. Establish performance tests according to test design.
Activity 6. Perform the Test. Run and monitor your test. Investigate tests, test data and obtained results. Monitor test and test environment and analyse the approved test.
Activity 7. Analyze, Report and Repeat the Tests.  Combine and share resulting data. Analyze the data both personally and crosscheck with entire team. Order the remaining test according to their priorities and run the necessary ones. If all metrics are within acceptance range, no threshold value is exceeded and all required data is obtained, you complete the tests for this partial scenario and configuration.

Why should we conduct performance test?

From the toppest level point of view, performance test indicates a road map for defining many risks associated with costs, environment expenses, continuity and/or company reputation.  Meanwhile, performance test helps to detect the following items for some particular reasons:

  •  Evaluating the readiness status of version:
  • Evaluating the sufficiency of infrastructure:
  • Comparison performance of developed software between previous and latest version before application is not changed
  • Improving performance efficiency by adjustment