25
Performance Testing: Respect the Difference 1.00 Software Quality Days 2014 January 16, 2014 Alexander Podelko [email protected] http://alexanderpodelko.com/blog @apodelko Performance Testing: Respect the Difference

Performance testing: respect the difference at swqd14

Embed Size (px)

DESCRIPTION

Performance testing: respect the difference, highlighting important points of performance testing, presented at Software Quality Days 2014 in Vienna

Citation preview

Page 1: Performance testing: respect the difference at swqd14

Performance Testing: Respect the Difference

SWQD Presentation-Template 1.00

Software Quality Days 2014

January 16, 2014

Alexander [email protected] http://alexanderpodelko.com/blog @apodelko

Performance Testing: Respect the Difference

Page 2: Performance testing: respect the difference at swqd14

Performance Testing: Respect the Difference

SWQD Presentation-Template 1.00

About Me

Have specialized in performance for the last 16 years

Currently performance testing and optimization of Hyperion products at Oracle

Board director at the Computer Measurement Group (CMG) http://cmg.org, organization of performance and capacity professionals Next conference November 3-6, 2014 in Atlanta, GA

Disclaimer: The views expressed here are my personal views only and do not necessarily represent those of my current or previous employers. All brands and trademarks mentioned are the property of their owners.

Slide 2

Page 3: Performance testing: respect the difference at swqd14

Performance Testing: Respect the Difference

SWQD Presentation-Template 1.00

Introduction

Points to ponder

Slide 3

Agenda

Page 4: Performance testing: respect the difference at swqd14

Performance Testing: Respect the Difference

SWQD Presentation-Template 1.00

Terminology

Applying multi-user synthetic load to the system

Load testing

Performance testing

Stress testing

Scalability testing

Volume testing

Reliability testing

Concurrency testing

Burst testing

Endurance testing

Longevity testing

Soak testing

Stability testing

Slide 4

Page 5: Performance testing: respect the difference at swqd14

Performance Testing: Respect the Difference

SWQD Presentation-Template 1.00

Goal

To contrast load and functional testing

To highlight points to ponder in performance testing

Slide 5

Page 6: Performance testing: respect the difference at swqd14

Performance Testing: Respect the Difference

SWQD Presentation-Template 1.00

Load Testing Process

Collect Requirements

Create Test Assets

Define Load

Run Tests

Analyze Results

Done

Modify System

Goals are metGoals are not met

Slide 6

Page 7: Performance testing: respect the difference at swqd14

Performance Testing: Respect the Difference

SWQD Presentation-Template 1.00

What Load Testing Adds

Verification that the system handles the load

Verification of multi-user performance

Performance optimization Exactly the same load

Debugging/verification of multi-user issues

Testing self-regulation functionality Such as auto-scaling or changing the level of service depending on load

Slide 7

Page 8: Performance testing: respect the difference at swqd14

Performance Testing: Respect the Difference

SWQD Presentation-Template 1.00

Stereotype

Load / Performance Testing is: Last moment before deployment Protocol Level Record-and-Playback Large corporations Expensive tools requiring special skills Lab environment Scale-down environment … Only one

option !

Slide 8

Page 9: Performance testing: respect the difference at swqd14

Performance Testing: Respect the Difference

SWQD Presentation-Template 1.00

Performance Testing

In no way limited to pre-production:

• Technology evaluation• Infrastructure evaluation• Prototypes / POC• Component / unit• Continuous testing• What/if scenarios• Performance optimization

• Performance troubleshooting• Benchmarking• Production

Slide 9

Page 10: Performance testing: respect the difference at swqd14

Performance Testing: Respect the Difference

SWQD Presentation-Template 1.00

Introduction

Points to ponder

Slide 10

Agenda

Page 11: Performance testing: respect the difference at swqd14

Performance Testing: Respect the Difference

SWQD Presentation-Template 1.00

What to Test

Can’t be comprehensive

Typical scenarios

Classes of users

Risk

Component coverage

Slide 11

Page 12: Performance testing: respect the difference at swqd14

Performance Testing: Respect the Difference

SWQD Presentation-Template 1.00

Performance Requirements

Goals vs. Requirements

Response times Aggregate values

Throughput

Slide 12

Page 13: Performance testing: respect the difference at swqd14

Performance Testing: Respect the Difference

SWQD Presentation-Template 1.00

Performance Requirements

Concurrency

Number of users and think time Indirect way to define throughput Named, active, concurrent users

Resource utilization

Slide 13

Page 14: Performance testing: respect the difference at swqd14

Performance Testing: Respect the Difference

SWQD Presentation-Template 1.00

Workload Implementation

Manual

Test harness

Slide 14

Load Testing Tool

Virtual Users

ServerLoad Generator

Application

Network

Load testing tool Recording/playback, protocol level Recoding/playback, GUI level Programming

Page 15: Performance testing: respect the difference at swqd14

Performance Testing: Respect the Difference

SWQD Presentation-Template 1.00

Workload Verification

Tools default Minimal (such as timeouts or HTTP error codes)

Direct Analyzing server response

Indirect Logs Data Monitoring

Slide 15

Page 16: Performance testing: respect the difference at swqd14

Performance Testing: Respect the Difference

SWQD Presentation-Template 1.00

The Effect of Data

Size and structure

Caching / concurrency

Adding new data

Slide 16

Page 17: Performance testing: respect the difference at swqd14

Performance Testing: Respect the Difference

SWQD Presentation-Template 1.00

Test Environment

Sizing / Configuration

Lab vs. Cloud vs. Service Scope vs. Variability

Testing Limits

Performance Optimization

Slide 17

vs.

Page 18: Performance testing: respect the difference at swqd14

Performance Testing: Respect the Difference

SWQD Presentation-Template 1.00

Exploring the System

Explore a new system

Run all scenarios manually

Iterative approach Run scripts as soon as they are ready

Monitor all components

Slide 18

Page 19: Performance testing: respect the difference at swqd14

Performance Testing: Respect the Difference

SWQD Presentation-Template 1.00

Implicit Tasks

Tuning

Diagnostics

Capacity planning

Slide 19

Page 20: Performance testing: respect the difference at swqd14

Performance Testing: Respect the Difference

SWQD Presentation-Template 1.00

Time Considerations

Steady mode

Reliability

Tuning and diagnostics

Real / intensive users

Throughput / connections Different tuning

Slide 20

Page 21: Performance testing: respect the difference at swqd14

Performance Testing: Respect the Difference

SWQD Presentation-Template 1.00

Process

Synchronous process may be needed vs. Asynchronous Problem can block further testing Full setup can be required to reproduce Diagnosis is a collaborative process

Slide 21

Page 22: Performance testing: respect the difference at swqd14

Performance Testing: Respect the Difference

SWQD Presentation-Template 1.00

Systematic Approach to Changes

Tuning / Diagnostics

Systematic approach One factor at a time

Log all changes

Slide 22

Page 23: Performance testing: respect the difference at swqd14

Performance Testing: Respect the Difference

SWQD Presentation-Template 1.00

Analyzing Results

Far more than passed/failed Challenge for Continuous Integration (CI)

Response times, throughput, number of users

Resource utilization

Logs / diagnostics

Variability between runs

Slide 23

Page 24: Performance testing: respect the difference at swqd14

Performance Testing: Respect the Difference

SWQD Presentation-Template 1.00

Summary

Performance testing is a complex activity involving testing, performance analysis, administration, development, and business processes

Skills and processes needed are quite different, don’t apply functional testing practices blindly

A load testing tool is one point on one slide

Excellence requires time

Slide 24

Page 25: Performance testing: respect the difference at swqd14

Performance Testing: Respect the Difference

SWQD Presentation-Template 1.00

Questions?Alexander Podelko

[email protected]@apodelko

To learn more check my collection of performance-related links and documents at

www.alexanderpodelko.com

Slide 25