Performance Testing Process

Key Activities In Performance Testing

It's important to focus on some of the key activities that you and your team should be performing throughout the various stages of this process.

Here are the most important activities for each part of the process:

Targets and requirements

  • All business requirements, discussed with sponsors and product owners
  • Business targets converted into a technical Service Level Agreement(s)
  • Discuss Service Level Agreements with the technical team (feasibility, and correctness)
  • Discuss performance test targets with technical and business stakeholder(s)
  • Set Service Level Agreements

Test environment

There are two parts in this phase of the performance testing process:

  • Part 1: Deploy the application on a separate performance testing environment. (Note: creating an exact replica of production environment is optimal while designing a performance test.)
  • Part 2: Performance test infrastructure: Procure performance testing software licenses(if required). Setup Software infrastructure based on business requirements. Make the software available for the entire testing team

Test strategy

This series of tests address business targets:

  • Conduct, and finalize, various work load models for each different type of tests
  • Recreate, and run tests from different geographic locations where potential clients may use the application

Scripting

  • Write, or record, any needed testing scripts and update them where appropriate
  • Add think time and pacing time values
  • Add text (and image) checkpoints to the script
  • Define correlation points (for dynamic content)

Test data

  • Add production data to scripts, and make them more dynamic
  • Add appropriate date and time functions

Workflow model

  • Based on test design, create a workflow model using a scenario generator of different tools

Environment check

  • Create an environment test scenario based on the final production infrastructure your application operates in (or will operate in)
  • Manually execute the test environment before the performance test
  • Clear any logs created in the environment before the test runs

Test execution

  • Execute the test
  • Monitor the application, database and web servers while the test executes

Results analysis

  • Collate, and study client side counters
  • Copy test results from analysis tools and compare with previous tests
  • Note, and document, all necessary improvements to made in the application
  • Identify all application issues, and show reports to performance engineering team

Results Report

  • Add all key items from the last phase into the report
  • Add key client side counters to report
  • Add error details to the report, along with necessary observations