37
June 24, 2015 “Make Testing a First Class Citizen in your Development Process” Dan Boutin – Senior Product Evangelist [email protected] Mobile (404) 304-9529 @DanBoutinSOASTA

Sd times-june-24-2015

Embed Size (px)

Citation preview

Page 1: Sd times-june-24-2015

June 24, 2015

“Make Testing a First Class Citizen in your Development Process”Dan Boutin – Senior Product Evangelist

[email protected] (404) 304-9529@DanBoutinSOASTA

Page 2: Sd times-june-24-2015

© 2014 SOASTA. All rights reserved. March 3, 2015 2

Agenda - Overview

o First, why is that important? What’s Missing?

o So, when did testing become second class?

o How do we find it?

o How do we keep it?

o Action Plan

Page 3: Sd times-june-24-2015

3

Why is the “E” important?Performance is Everything

Revenue

Brand

Competitive advantage

Page 4: Sd times-june-24-2015

© 2014 SOASTA. All rights reserved. March 3, 2015 4

So Where did the “e” go, anyway?

o It was first reported missing in 1995

o Actually dates back to 1989

o Testing has been more about:• Coding• Infrastructure & harness set-up• Logs & spreadsheets

o What is the “E”? Engineering!!

Page 5: Sd times-june-24-2015

© 2014 SOASTA. All rights reserved. March 3, 2015 5

Performance In General – Where we lost the “e”

Linear approaches include delays between testing

UtUnit

Testing

FtFunctional

Testing

Development Testing Operations

PtPerformance

Testing

MoMonitoring

Legacy Approach: Silos and waiting

TIME

o Who’s the voice of the NFR’s? And, where?o Let’s look within the testing window to see what is really

going on

Page 6: Sd times-june-24-2015

© 2014 SOASTA. All rights reserved. March 3, 2015 6

Retest

Process changes = new opportunities

Test Development Infra setupRepeat

?Fix

Test

Analyze

The Legacy Approach

TIME

Where we lost the “e” And why!

• Test “development” became its own SDLC• Complete with coding, peer reviews, etc.• Why? Script coding!

• Infrastructure “set-up” became expensive• …and did not scale to production• Why? Costs.

• Analysis was manual • Actual “testing” window was small• Still no NFR flow & traceability

Page 7: Sd times-june-24-2015

© 2014 SOASTA. All rights reserved. March 3, 2015 7

So, how do we find the “e”?

o Performance Testing is NOT Performance Engineering

o Performance Engineering consists of many key processes

Modeling

Testing

ApplicationDevelopment Life Cycle

ITOperations

CapacityManagemen

t

PerformanceManagement

PerformanceEngineering

Page 8: Sd times-june-24-2015

© 2014 SOASTA. All rights reserved. March 3, 2015 8

So, how do we find the “e”?

o Performance Engineering is all about the Analysiso It is not about “scripting” or “coding”o It should not be about infrastructure set-up

Page 9: Sd times-june-24-2015

© 2014 SOASTA. All rights reserved. March 3, 2015 9

What has made the “e” so important again?

Page 10: Sd times-june-24-2015

© 2014 SOASTA. All rights reserved. March 3, 2015 10

So, how do we get back the “e”?o Tear down the silos

• Take the discussion out of “testing” & put the focus in ENGINEERING.

• Embed performance engineering in each silo

• It starts in the Dev silo => Performance IS a design requirement

• In an Agile world, the UX IS all about performance

Page 11: Sd times-june-24-2015

© 2014 SOASTA. All rights reserved. March 3, 2015 11

Testing in Production – Why Not?o “We don’t test in production.”

o This is a direct result of lack of visibility into actual test execution

o So what should the process look like?

Page 12: Sd times-june-24-2015

© 2014 SOASTA. All rights reserved. March 3, 2015 12

Eliminating Delays Compresses TimeEnabling more testing to be done earlier and more often

UtUnit

Testing

FtFunctional

Testing

Testing

PtPerformance

Testing

MoMonitoring

Legacy Approach: Silos and waiting

Agile Approach: Automation and Continuous Testing

NFR’s built into the entire lifecycle

OperationsDevelopment

Dev OpsTesting

TIME

Page 13: Sd times-june-24-2015

© 2014 SOASTA. All rights reserved. March 3, 2015 13

Continuous Delivery presents new opportunities

The ENGINEERING Approach

TIME

The Legacy Approach

Run more tests in less time.Start earlier.Cover more ground.

xn

/ TestAnalyz

e

Fix

Test Dev

Performance Engineering is Not a Singular Event

Test Development Infra setupTest

AnalyzeRetes

tRepeat

?Fix

Page 14: Sd times-june-24-2015

© 2014 SOASTA. All rights reserved. March 3, 2015 14

Testing with Specific ObjectivesTests at different stages deliver higher coverage

Component scalability

Performance baseline

Integration testing

End to End w/ ServiceVirtualization

Unit scalability

Database testing

3rd party services

Live E2E tests

Stress testing Soak test

(reliability)

Failover

Capacity

Latency

PerformanceRegression (smoke tests)

Network

Testing (staging) Operations (prod)Development (sandbox)

Page 15: Sd times-june-24-2015

© 2014 SOASTA. All rights reserved. March 3, 2015 15

Full Lifecycle Testing - Lab to ProductionTests at different stages delivers higher coverage

API Testing(REST/SOAP

& now WebSockets)

Testing (staging) Operations (prod)Development (sandbox)

Run smoke tests with

Continuous Integration frameworks

Run larger tests sooner with Virtual

Private Clouds

Introduce external

load sources with the

cloud

Test to beyond

peak expectation

s

Establish true user SLA’s

(and monitor them)

Directly test your

databases to scale

Test the “hard to

test”(Java custom

modules)

Page 16: Sd times-june-24-2015

Let’s put it all together!

Page 17: Sd times-june-24-2015

© 2014 SOASTA. All rights reserved. March 3, 2015 17

1. Build performance tests which will model real user behavior on your site

2. Tie business metrics (ROI) to website performance metrics and real user data

3. Correlate data analytics so you can troubleshoot bottlenecks and improve performance.

Now we tie it all together:

Page 18: Sd times-june-24-2015

PerformanceAnalytics

Optimize performance across your online business

Requires a Continuous Approach

Page 19: Sd times-june-24-2015

© 2014 SOASTA. All rights reserved. 19

Laying the FoundationA factory streamlines for quality and speed

Does it work as designed?

Does it perform under extreme

circumstances?

Approve materials Real Drivers

What happens in actual conditions?

Assembly Line

Page 20: Sd times-june-24-2015

© 2014 SOASTA. All rights reserved. 20

CI streamlines for continuous quality

Functional validation

Performance,reliability,scalability tests

Real Users

Build

What happens in actual conditions?

Unit-tested code

Laying the Foundation

Page 21: Sd times-june-24-2015

© 2014 SOASTA. All rights reserved. March 3, 2015 21

Continuous Quality

SOASTA’s Lifecycle

How we do it at SOASTA

Page 22: Sd times-june-24-2015

© 2014 SOASTA. All rights reserved. March 3, 2015 22

Continuous Quality

I JUST MADE A CODE CHANGE

Jenkins runs any unit tests as usual

How we do it at SOASTA

Page 23: Sd times-june-24-2015

© 2014 SOASTA. All rights reserved. March 3, 2015 23

Continuous Quality

SOASTA’s Lifecycle

Run iterative load tests via Jenkins

Spin up suitable, consistent test environments in the

cloud or the lab

I JUST MADE A CODE CHANGE

Jenkins runs any unit tests as usual

How we do it at SOASTA

Page 24: Sd times-june-24-2015

© 2014 SOASTA. All rights reserved. March 3, 2015 24

Continuous Quality

SOASTA’s Lifecycle

Run iterative load tests via Jenkins

Mobile? Run functional automation on real devices for functional & performance validation

Spin up suitable, consistent test environments in the

cloud or the lab

I JUST MADE A CODE CHANGE

Jenkins runs any unit tests as usual

How we do it at SOASTA

Page 25: Sd times-june-24-2015

© 2014 SOASTA. All rights reserved. March 3, 2015 25

Continuous Quality

SOASTA’s Lifecycle

Run iterative load tests via Jenkins

Daily (or more frequent) updates keep teams quality focused

Embedded failure details & bottleneck data isolate issues

Mobile? Run functional automation on real devices for functional & performance validation

Spin up suitable, consistent test environments in the

cloud or the lab

I JUST MADE A CODE CHANGE

Jenkins runs any unit tests as usual

How we do it at SOASTA

Page 26: Sd times-june-24-2015

© 2014 SOASTA. All rights reserved. March 3, 2015 26

Continuous Quality

SOASTA’s Lifecycle

Run iterative load tests via Jenkins

Daily (or more frequent) updates keep teams quality focused

Embedded failure details & bottleneck data isolate issues

Manage to a performance

baseline

Mobile? Run functional automation on real devices for functional & performance validation

Spin up suitable, consistent test environments in the

cloud or the lab

I JUST MADE A CODE CHANGE

Jenkins runs any unit tests as usual

How we do it at SOASTA

Page 27: Sd times-june-24-2015

© 2014 SOASTA. All rights reserved. March 3, 2015 27

Continuous Quality

SOASTA’s Lifecycle

Use real user data toiterate dev & test plans

Run iterative load tests via Jenkins

Daily (or more frequent) updates keep teams quality focused

Embedded failure details & bottleneck data isolate issues

Manage to a performance

baseline

Mobile? Run functional automation on real devices for functional & performance validation

Spin up suitable, consistent test environments in the

cloud or the lab

I JUST MADE A CODE CHANGE

Jenkins runs any unit tests as usual

How we do it at SOASTA

Page 28: Sd times-june-24-2015

CONFIDENTIAL – Not for Distribution © 2015  SOASTA. All rights reserved. January 13, 2015

Build performance tests that model user behavior on your site

First you need to determine the workload for the test.

Page 29: Sd times-june-24-2015

CONFIDENTIAL – Not for Distribution © 2015  SOASTA. All rights reserved. January 13, 2015

How are companies without the “e” faring today?

What if I have a new process?

Page 30: Sd times-june-24-2015

© 2014 SOASTA. All rights reserved. March 3, 2015 30

o What information I need?

● When is your peak second/minute/hour/day?● What is your peak volume? (active sessions, unique users, page visits, orders, ...)● What is the median session length?● What is the distribution of user paths?● What is the distribution of devices?● What is the distribution of locations?

o Good Test Data● Search Terms● Product Distribution● Browse Distribution● Cart Size● Order Size

How to get a realistic load testFactors to consider – Now that we have the “e” back!

Page 31: Sd times-june-24-2015

© 2014 SOASTA. All rights reserved. March 3, 2015 31

Let your customers be your guide…

Page 32: Sd times-june-24-2015

CONFIDENTIAL – Not for Distribution © 2015  SOASTA. All rights reserved. January 13, 2015

Analyze the most common session paths of real users

Page 33: Sd times-june-24-2015

© 2014 SOASTA. All rights reserved. March 3, 2015 33

Test how you want, when you want, where you want

Page 34: Sd times-june-24-2015

© 2014 SOASTA. All rights reserved. March 3, 2015 34

1. Let your users help you determine your performance goals

2. Tie business metrics, (conversion rates, length of engagement, etc) to calculate costs of performance vs revenue gain

3. Use data analytics to review site performance data to isolate bottlenecks, which can guide your performance investments

Summary & Takeaways

Page 35: Sd times-june-24-2015

© 2014 SOASTA. All rights reserved. March 3, 2015 35

We will close with some Trivia

@DanBoutinSOASTA

Page 36: Sd times-june-24-2015

© 2014 SOASTA. All rights reserved. March 3, 2015 36

Dan Boutin – Senior Product [email protected]

Mobile (404) 304-9529@DanBoutinSOASTA

oSOASTA Products

•FREE DownLoad: http://goo.gl/6CErMN

oVisit our Blog: http://goo.gl/TA2HKP

oQuestions? @DanBoutinSOASTA

Page 37: Sd times-june-24-2015

June 24, 2015

“Make Testing a First Class Citizen in your Development Process”Dan Boutin – Senior Product Evangelist

[email protected] (404) 304-9529@DanBoutinSOASTA