Performance Testing Software Systems Workshop Logo

Performance Testing Software Systems

Desigining Performance Tests with UCML


Good load generation tools don't make good tests any easier to design (though they sometimes make well designed tests easier to implement.) As compared to functional testing, performance tests generaly take longer to conduct, typically must be conducted one at a time, and are more commonly inconclusive on their own. Additionally, it is nearly impossible to determine what performance tests will provide significant information value until the results from the previous test are analyzed. These facts make good performance test design absolutely critical to successful performance test projects.

This unique workshop builds on the Performance Testing Software Systems heuristic approach that focuses on mitigating risks to the business and satisfying end users in commercially driven software development environments. This approach marries the software testing insights of James Bach, Rob Sabourin, Cem Kaner and many other members of the Context-Driven School of software testing with the performance testing insights of Alberto Savoia, Ross Collard, Roland Stens, and the rest of the WOPR (Workshop On Performance and Reliability) community. The approach has a track record of success with regard to adequately mitigating business risk in time to keep pace with the commercial aspects of the project. The Microsoft patterns & practices book Performance Testing Guidance for Web Applications by J.D. Meier, Scott Barber, Carlos Farre, Prashant Bansode, and Dennis Rea complements the material presented in this workshop.

This version of the PTSS series of workshops is targeted for the performance testers, analysts, architects and managers who most significantly contribute to performance test design. The course focuses on practicle methods to design and document performance tests that are likely to result in significant information value and ensure that performance testing is focused on achieving buisiness objectives, reducing project risk, and avoiding bad press. Further, it lays out a method for managing performance testing that ensures managers have visibility into the performance testing effort and that peformance testers can be held accountable for their work without the performance testing and tuning losing the flexibility to adapt their testing to the results they are receiving.

This 1-day workshop is primarily offered as an on-site course, but sometimes we work with organizations that arrange to make it public. Contact us for more information.

Course Objectives:

In this course, you will learn:

  • Concise, universal heuristics and models for rapid application of core principles
  • How to determine and apply oracles to software system performance criteria
  • How to rapidly design performance tests that will achieve your performance testing objectives
  • How to communicate performance test design to non-performance testers

Course Outline:


  • Overview
  • Why Design is Critical for Effective Performance Testing


  • Why Do We Test Performance?
  • Criteria
  • Objectives
  • Procedures
  • Environments
  • Project
  • User
  • Business
  • Systems
  • Know The Commanders Intent


  • Understanding Boundaries
  • Goals
  • Requirements
  • Thresholds
  • Constraints
  • Determine Testing Objectives
  • The Oracle Problem


Begin With The End In Mind:
  • Investigate or Validate
  • End-to-End or Component
  • Times or Resources
  • Anticipated or Stressful
Model System Usage:
  • Frequent
  • Intensive
  • Business-Critical
  • Legal
  • Obvious
  • Technically Risky
  • Stakeholder Mandated
Remember the Front-End:
  • Size
  • Caching
  • Order
  • Response Codes
  • Number


  • Overview
  • Basic UCML
  • Extending UCML

Copyright © 2005-10 PerfTestPlus, Inc. All rights reserved.
Site Design by: Scott Barber