Performance Testing Software Systems
A Heuristic Approach
Course Objectives:
In this course, you will learn:
- Nine core principles found in most successful performance testing projects
- Concise, universal heuristics and models for rapid application of those principles
- How to determine and apply oracles to software system performance criteria
- How to apply the core principles into your team’s development process
- How to plan ahead without reducing your ability to react to change
- How to communicate performance testing concepts to non-performance testers
- How to rapidly design performance tests that will achieve your performance testing objectives
Course Outline:
Introduction
- Heuristics & Mnemonics
- Heuristics ≠ Process
Nine core principles of successful performance testing:
- Context
- Criteria
- Design
- Instrument
- Script
- Execute
- Analyze
- Report
- Iterate
- Principles ≠ Process
CORE PRINCIPLE: Context
- Why Do We Test Performance?
- Criteria
- Objectives
- Procedures
- Environments
- Project
- User
- Business
- Systems
- Know The Commanders Intent
CORE PRINCIPLE:Criteria
- Understanding Boundaries
- Goals
- Requirements
- Thresholds
- Constraints
- Determine Testing Objectives
- The Oracle Problem
CORE PRINCIPLE: Design
Begin With The End In Mind:
- Investigate or Validate
- End-to-End or Component
- Times or Resources
- Anticipated or Stressful
- Frequent
- Intensive
- Business-Critical
- Legal
- Obvious
- Technically Risky
- Stakeholder Mandated
Remember the Front-End:
- Size
- Caching
- Order
- Response Codes
- Number
CORE PRINCIPLE: Instrument
Prepare to implement the test design and execute tests by ensuring that you:
- Install
- Configure
- Validate
- Adapt & Adjust
- Coordinate
CORE PRINCIPLE: Script
Realism matters.
- Functionality
- Input
- Navigation
- Data
- Human Variability
- Abandon
- Ramping & Marching
- Maintainability
CORE PRINCIPLE: Execute
Execution tests the tests, and the system. Analyze as you go.
- Evaluate
- Test
- Trend
- Oscillate
- Baseline
- Ramp
- Unanticipated
- Tune
- Exploit
CORE PRINCIPLE: Analyze
Analysis is a technical team sport that needs to consider:
- Configurations
- Significance & Repeatability
- Trends
- Outliers
- Patterns
- Compliance
- Accuracy
- Resources & Times
- Errors & Functionality
CORE PRINCIPLE: Report
The most effective reports are:
- Timely
- Relevant
- Audience Appropriate
- Visual
- Intuitive
- Supported
CORE PRINCIPLE: Iterate
- Don’t Confuse “Delivery” with “Done”
- Identify and Exit Ruts