Top Banner
CLOUD TESTING Rewriting the Rules of Performance Testing RULE 3: Performance Testing Across the Lifecycle SOASTA Webinar Series
16
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Changing rules 3_performance testing across lifecycle_slideshare

CLOUD TESTINGRewriting the Rules of Performance Testing

RULE 3: Performance Testing Across the Lifecycle

SOASTA Webinar Series

Page 2: Changing rules 3_performance testing across lifecycle_slideshare

Performance Has Been a Lab Exercise

Dev & Test Lab Production EnvironmentDEPLOY

Performance Testing is often considered hard & non-repeatable due to real constraints:

• Linear, multi-step approaches• Non-correlated, offline analysis• Disconnected teams• Costly test hardware• Time-intensive test setup• Inability to hit realistic scale

Status Quo:small test window prior

to release

Time-consuming testing limits deployment options

Page 3: Changing rules 3_performance testing across lifecycle_slideshare

Do We Spend Time Where It Counts?

TIME

TESTHW Setup FIXANALYZE RETEST REPEAT?

BUILD TEST

ANALYZE

FIX

Traditional Approaches

Eliminate constraints and TEST MORE, at SCALE, in LESS TIME

Many approaches are process and pre-test heavy

Agile approaches deliver results fast

TEST BUILDING

TEST

ANALYZE

FIX

HW

Setup

HW

Setup

TEST

ANALYZE

FIX

HW

Setup

TEST

ANALYZE

FIX

HW

Setup

TEST

ANALYZE

FIX

HW

Setup

Extra time!

Page 4: Changing rules 3_performance testing across lifecycle_slideshare

Continuous Performance Testing is Progressive

Dev & Test Lab Production Environment

Start small, early to root

out code-level issues

Include performance focus in iterations

Hit expected scale in

staging and maintenance windows

Test in Production

Recheck regularly for regression

and capacity

Plan for growth

Keys to agile performance testing? SPEED – SCALE – COST

Page 5: Changing rules 3_performance testing across lifecycle_slideshare

s

Memory leaks

Scale and Time

Sta

ge /

Team

Performance Bugs Know No BordersIssues span teams, time and scale

Release& Deploy

Network& Ops

CDN file placement

Load Balancer configuration

Network bandwidth

Network configuration

DNS routing

Inadequate server resources

Default configuration settings

Unbalanced web serversAuto-scaling failures

Latency between systems

Slow third-party plug-ins

Garbage collection

Slow pages

Conflict with other apps

Dev & Test

Test Lab Staging Production (100% +++)

Method-level tuning

Max sockets exceeded

Firewall max capacity

Memory leaks

Caching issues and benefits

Capacity limits

Code bugs

Database thread counts

Inefficient database queries

Search technology limits

Security bottlenecks

Global latency variance

Page 6: Changing rules 3_performance testing across lifecycle_slideshare

Complete Performance TestingProactive and Predictive

Performance Coverage Status

Begin to track performance coverage across a range of

critical objectives!

Track performance regression (and progression) over time!

Page 7: Changing rules 3_performance testing across lifecycle_slideshare

Let’s Look at the NEW RULES

Matt Heusser

Performance Testing: Early, Often, Always

[email protected]

Page 8: Changing rules 3_performance testing across lifecycle_slideshare

• Three concrete techniques

• No out of pocket cost

• Learn something new

• Expand your options for performance testing

Goals Today

Assumptions• Software Under Test is a web-based system• Prefer: Running Continuous Integration• Prefer: With some browser-driving automated checks

Page 9: Changing rules 3_performance testing across lifecycle_slideshare

What has been will be again,    what has been done will be done again;

   there is nothing new under the sun. - Ecclesiastes 1:9 (NIV)

No, this is not new

Page 10: Changing rules 3_performance testing across lifecycle_slideshare

•XP Explained: 2000

•Agile Manifesto: 2001

•XP Installed: 2002

•Selenium Released: 2004

•Scrum Gets Popular: 2005

But there is a little new here

Ten years of improvement in iterative development and incremental functional tests, yet …

* Performance testing tends to remain at the end, driving up cost and causing

delays *

Page 11: Changing rules 3_performance testing across lifecycle_slideshare

Approach #1: Test Concurrency

• Script takes 10-15 minutes to execute

• Test in groups of 4 to 14

• Test for 15-45 minutes

• Add randomization at the end

A Sample Script …

1. Log-In2. Search for Part ABC33. Add Part to your Cart4. Search/Add part ABC45. Add to your cart6. Change Qty of ABC3 to 37. Checkout8. Logout9. Log-in10. etc

Page 12: Changing rules 3_performance testing across lifecycle_slideshare

#2: Monitor and Aggregate Functional Test Results

•Wrap logs with timing

•Run the automated tests

•Report your finding

Page 13: Changing rules 3_performance testing across lifecycle_slideshare

#2: Monitor and Aggregate:An Implementation

Page 14: Changing rules 3_performance testing across lifecycle_slideshare

#3: Run functional tests under load

•Hook up a load testing tool running in the background

•Run the automated tests “just” like before

•Performance Tests become load tests!

•Bonus: Mine Staging and Prod for load test data!

Page 15: Changing rules 3_performance testing across lifecycle_slideshare

Putting it all together:

• We covered three ways to incrementally test system performance

• Some performance testing earlier is better than none

• Most obvious performance tests are concurrency issues and can be found by a small group quickly.

• So go find them early!

• Finding perf/load earlier means the programmer will recognize what he did to introduce it – easy fix!

Page 16: Changing rules 3_performance testing across lifecycle_slideshare

Q&A

Contact SOASTA:www.soasta.com/cloudtest/[email protected] us:

twitter.com/cloudtest

facebook.com/cloudtest

Contact [email protected] Matt:

twitter.com/mheusser

Questions & Answers will post on CloudLink: http://cloudlink.soasta.com

Previous & Upcoming SOASTA Webinars:Stop Cheating & Start Running Realistic Tests (w/ Scott Barber)

Run More Tests & Find More Issues (w/ Neil Gunther)http://www.soasta.com/info-center/webinars/