Archive for the ‘Performance Testing’ Category

Feb 03

Performance testing: Process of determining the effectiveness or speed of computer, network, and software program is called Performance Testing. In simple words, Performance testing is testing related to speed, scalability and stability. Quantitative tests such as measuring the response time or the number of MIPS (millions of instructions per second) at which a system functions can be involved in Performance testing. Performance testing is often done in conjunction with stress testing.

Effective Performance Testing can involve following steps:

  • Identify the Test Environment: Physical, production, tools and resources available to the team should be identified first. Physical environment includes hardware, software, and network communications. Thorough understanding of the entire test environment enables you the more efficient test cases and planning helps to identify testing challenges in the early stages of the project. Process must be revisited periodically throughout the project life cycle.
  • Identify Performance Acceptance Criteria: Response time, throughput, and resource utilization goals and constraints should be identified as they are user concern, business concern, and system concern respectively. Additionally, identify project success criteria that may not be captured by those goals and constraints; for example, using performance tests to evaluate what combination of configuration settings will result in the most desirable performance characteristics.
  • Plan and Design Tests cases: Identify key scenarios, define test data, and establish metrics to be collected. Consolidate this information into one or more models of system usage to be implemented, executed, and analyzed.
  • Configure the Test Environment: Prepare the test environment, tools, and resources necessary to execute each strategy as features and components become available for test. Ensure that the test environment is instrumented for resource monitoring as necessary.
  • Execute the Test: Run and monitor your tests. Validate the tests, test data, and results collection. Execute validated tests for analysis while monitoring the test and the test environment.
  • Analyze Results, Report, and Retest: Consolidate and share results data. Cross verify it with other functional teams. Reprioritize the remaining tests and re-execute them as needed.