Sunday, February 05, 2012
Quality Assurance
Services
Testing Services
Consulting
Training
On Demand Testing
QA Methodology
Innosphere Testing Process
Automated Testing
Manual Testing
Performance Testing

Performance Testing Overview

The following diagram represents two methods of determining the performance of a system.

External Environment or Real World Testing: In order to test the performance of a system it is sometimes useful to generate tests from outside your firewall. This is chiefly used to test publicly accessible web sites to web applications.

Internal Environment or Lab Testing: These tests are conducted in controlled environments. More feedback and more insight on the overall performance system can be learned since one as the ability to directly tie the tests to the back end server components.

Type of Performance Tests

  • Stress
    • Perform testing on your application to the point that it experiences diminished response or breaks down to determine the limitations.
  • Load
    • Verify that your software meets specific performance objectives in terms of response times under varying workloads.
  • Benchmark
    • Determine specific performance results in terms of response times based on functional requirements. Used as a base for future tests.

Starting a Performance Test Program

Set your Goals

What are the goals of your performance testing program? These need to align with your overall quality goals

Assess the quality, time and cost triangle.

Some factors that may affect your goals:

  • Do your customers require that the application meet specific performance requirements?
  • Are you upgrading, refactoring, or changing part of your application and you need to ensure performance is the same or better?
  • Are you concerning about that there may be performance issues in particular sections of your system?
  • Are you concerned with the performance of the database? UI?
  • Are we benchmarking the system for a service level agreement?
  • Are you concerned with the performance of the system when accessed via the internet?
  • Are you trying to improve the performance of the system?

Define your strategy

  • Scope
  • Select the type of performance tests you plan to execute; Are you going to run the performance tests: In a lab environment?Against the production system?
  • Will the tests originate from outside your firewalls though the internet against the production system?
  • What information do you need to collect? You need to ensure that you are collecting useful information.
  • Who is going to use this information?

Select the tools

There are few basic classes of tools:

  • Commercial Tools such as SilkPerformer, comprehensive features, supported
  • Open source tools such as Open STA; good starting point for organizations with no experience with performance testing
  • Internally developed tools; used to investigate specific performance problems such as database tuning
  • External source tools such as Keynote; used to test your web site by generating real-world Internet traffic

Create the Performance Test Plan

If you are performing testing for the entire system it is a good idea to create a test plan that should include:

  • Scope
  • Purpose and Performance Requirements
  • Could contain User Experience Modeling such as workload distribution
  • Result Presentation

Create tests

Depending on your approach and tools the test development:

  • Could be a test harness to provide load and gather metrics of a specific sub systems such as the database
  • Could be scripts for tools such as OpenSTA or SilkPerformer

Execute tests plan and create reports

For most types of performance testing it baseline results should be created. It is also wise to give some thought on how you are going to present your analysis and results.

Privacy Statement  |  Terms Of Use
Copyright 2008 by Innosphere Systems Development Group Ltd.