Agile Testing. Risks, Uncertainty and Why It All Works

38
Agile Testing, Risk, Uncertainty, and Why It All Works (the updated for AGILEEE, almost all new edition) Elisabeth Hendrickson Quality Tree Software, Inc. www.qualitytree.com [email protected] Last updated September 22, 2011 Copyright © 2011 Elisabeth Hendrickson, Quality Tree Software, Inc.

description

 

Transcript of Agile Testing. Risks, Uncertainty and Why It All Works

Page 1: Agile Testing. Risks, Uncertainty and Why It All Works

Agile Testing, Risk, Uncertainty, and Why It All Works(the updated for AGILEEE, almost all new edition)

Elisabeth HendricksonQuality Tree Software, [email protected]

Last updated September 22, 2011Copyright © 2011 Elisabeth Hendrickson, Quality Tree Software,

Inc.

Page 2: Agile Testing. Risks, Uncertainty and Why It All Works

Copyri

ght

© 2

01

1 E

lisabeth

Hendri

ckso

n,

Qualit

y T

ree S

oft

ware

, In

c.

What Does Agile Really Mean?

Agile software teams…

…Deliver value in the form of releasable software at frequent regular intervals (at least monthly)…

…At a sustainable pace…

…While adapting to the changing needs of the business.

Page 3: Agile Testing. Risks, Uncertainty and Why It All Works

Copyri

ght

© 2

01

1 E

lisabeth

Hendri

ckso

n,

Qualit

y T

ree S

oft

ware

, In

c.

Source: Wikimedia Commons, courtesy of Ray KurzweilSee http://www.kurzweilai.net/the-law-of-accelerating-returns

Increasing Complexity

Page 4: Agile Testing. Risks, Uncertainty and Why It All Works

Copyri

ght

© 2

01

1 E

lisabeth

Hendri

ckso

n,

Qualit

y T

ree S

oft

ware

, In

c.

Speculation BuildupS

pecu

lati

on

RISKRISK

AnalyzeDesign Implement StabilizeBig BangRelease

Page 5: Agile Testing. Risks, Uncertainty and Why It All Works

Copyri

ght

© 2

01

1 E

lisabeth

Hendri

ckso

n,

Qualit

y T

ree S

oft

ware

, In

c. Intention

s

Actual Need Implementation

Page 6: Agile Testing. Risks, Uncertainty and Why It All Works

Copyri

ght

© 2

01

1 E

lisabeth

Hendri

ckso

n,

Qualit

y T

ree S

oft

ware

, In

c.

Speculation, Lack of Alignment, and Risk

Intentions

Implementation

Actual Need

?

??

Page 7: Agile Testing. Risks, Uncertainty and Why It All Works

Copyri

ght

© 2

01

1 E

lisabeth

Hendri

ckso

n,

Qualit

y T

ree S

oft

ware

, In

c.

Agile eliminates speculation buildup…

Iteration

Iteration

IterationIteration

Iteration

Specu

lati

on

Page 8: Agile Testing. Risks, Uncertainty and Why It All Works

Copyri

ght

© 2

01

1 E

lisabeth

Hendri

ckso

n,

Qualit

y T

ree S

oft

ware

, In

c.

…only if we eliminate the speculation

Page 9: Agile Testing. Risks, Uncertainty and Why It All Works

Copyri

ght

© 2

01

1 E

lisabeth

Hendri

ckso

n,

Qualit

y T

ree S

oft

ware

, In

c. “frAgile”

Specu

lati

on

RISKRISK

Iterations…

Stabilize

Page 10: Agile Testing. Risks, Uncertainty and Why It All Works

Copyri

ght

© 2

01

1 E

lisabeth

Hendri

ckso

n,

Qualit

y T

ree S

oft

ware

, In

c.

Every. Single. Time.

EmpiricalEvidence

speculation

Page 11: Agile Testing. Risks, Uncertainty and Why It All Works

Copyri

ght

© 2

01

1 E

lisabeth

Hendri

ckso

n,

Qualit

y T

ree S

oft

ware

, In

c.

The organizations best positioned to succeed

are the ones that

LEARN

Page 12: Agile Testing. Risks, Uncertainty and Why It All Works

Copyri

ght

© 2

01

1 E

lisabeth

Hendri

ckso

n,

Qualit

y T

ree S

oft

ware

, In

c.

Build

MeasureLearn

Page 13: Agile Testing. Risks, Uncertainty and Why It All Works

Copyri

ght

© 2

01

1 E

lisabeth

Hendri

ckso

n,

Qualit

y T

ree S

oft

ware

, In

c.

How do we check alignment?

Intentions

Implementation

Actual Need

Get out of the building!

Steve Blank, author of Four Steps to the Epiphany

?

Page 14: Agile Testing. Risks, Uncertainty and Why It All Works

Copyri

ght

© 2

01

1 E

lisabeth

Hendri

ckso

n,

Qualit

y T

ree S

oft

ware

, In

c.

How do we check alignment?

Begin with the End in Mind. Capture examples

with expectations. Automate checking of

expectations. Explore to discover risks.

Intentions

Implementation

Actual Need

?

Page 15: Agile Testing. Risks, Uncertainty and Why It All Works

Copyri

ght

© 2

01

1 E

lisabeth

Hendri

ckso

n,

Qualit

y T

ree S

oft

ware

, In

c.

The Letter and Spirit of a Story

Explicit Expectations

Implicit Expectations

Page 16: Agile Testing. Risks, Uncertainty and Why It All Works

Copyri

ght

© 2

01

1 E

lisabeth

Hendri

ckso

n,

Qualit

y T

ree S

oft

ware

, In

c.

Check that all previously met expectations are still met even as the

solution grows in capability and complexity.

Page 17: Agile Testing. Risks, Uncertainty and Why It All Works

Copyri

ght

© 2

01

1 E

lisabeth

Hendri

ckso

n,

Qualit

y T

ree S

oft

ware

, In

c.

How do we check alignment?

Intentions

Implementation

Actual Need

Demo. Rehearse delivery. Deliver frequently. Explore with the

customer or proxy.

?

Page 18: Agile Testing. Risks, Uncertainty and Why It All Works

Copyri

ght

© 2

01

1 E

lisabeth

Hendri

ckso

n,

Qualit

y T

ree S

oft

ware

, In

c.

Reducing Feedback Latency

Latency

Develop

Demo

Page 19: Agile Testing. Risks, Uncertainty and Why It All Works

Copyri

ght

© 2

01

1 E

lisabeth

Hendri

ckso

n,

Qualit

y T

ree S

oft

ware

, In

c.

What Does Agile Really Mean?

Agile software teams…

…Deliver value in the form of releasable software at frequent regular intervals (at least monthly)…

…At a sustainable pace…

…While adapting to the changing needs of the business.

Page 20: Agile Testing. Risks, Uncertainty and Why It All Works

Copyri

ght

© 2

01

1 E

lisabeth

Hendri

ckso

n,

Qualit

y T

ree S

oft

ware

, In

c.

Intentions

Implementation

Actual Need

✔✔

Page 21: Agile Testing. Risks, Uncertainty and Why It All Works

Copyri

ght

© 2

01

1 E

lisabeth

Hendri

ckso

n,

Qualit

y T

ree S

oft

ware

, In

c.

(OK, now let’s talk about “testing.”)

Page 22: Agile Testing. Risks, Uncertainty and Why It All Works

Copyri

ght

© 2

01

1 E

lisabeth

Hendri

ckso

n,

Qualit

y T

ree S

oft

ware

, In

c.

Page 23: Agile Testing. Risks, Uncertainty and Why It All Works

Copyri

ght

© 2

01

1 E

lisabeth

Hendri

ckso

n,

Qualit

y T

ree S

oft

ware

, In

c.

Checking Alignment

Intentions

Implementation

Actual Need

Page 24: Agile Testing. Risks, Uncertainty and Why It All Works

Copyri

ght

© 2

01

1 E

lisabeth

Hendri

ckso

n,

Qualit

y T

ree S

oft

ware

, In

c.

Every. Single. Time.

speculation

EmpiricalEvidence

Page 25: Agile Testing. Risks, Uncertainty and Why It All Works

Copyri

ght

© 2

01

1 E

lisabeth

Hendri

ckso

n,

Qualit

y T

ree S

oft

ware

, In

c.

The Whole Team Succeeds or Fails TOGETHER

“Hey! There’s a hole in your side of the

boat.”

“Hey! There’s a hole in your side of the

boat.”

There is no “Us” and “Them.”

There is only Us.

As Alistair Cockburn says:

Page 26: Agile Testing. Risks, Uncertainty and Why It All Works

Copyri

ght

© 2

01

1 E

lisabeth

Hendri

ckso

n,

Qualit

y T

ree S

oft

ware

, In

c.

Nine Key Technical Testing-Related Agile Practices

ATDD TDDExploratory

Testing

Collective Ownership

Automated Unit Tests

Automated System Tests

Continuous Integration

RehearseDelivery

Automated Deploy

Page 27: Agile Testing. Risks, Uncertainty and Why It All Works

Copyri

ght

© 2

01

1 E

lisabeth

Hendri

ckso

n,

Qualit

y T

ree S

oft

ware

, In

c.

Initiative

Test-First Mindset: Begin with the End in Mind

Code

StrategyHow will I know my efforts have the result I intended?

Page 28: Agile Testing. Risks, Uncertainty and Why It All Works

Copyri

ght

© 2

01

1 E

lisabeth

Hendri

ckso

n,

Qualit

y T

ree S

oft

ware

, In

c.

Acceptance-Test Driven Development (ATDD)

User Story Workshop

Implementation

Agile-Friendly Test Automation Framework

Page 29: Agile Testing. Risks, Uncertainty and Why It All Works

Copyri

ght

© 2

01

1 E

lisabeth

Hendri

ckso

n,

Qualit

y T

ree S

oft

ware

, In

c.

Continuous Integration (CI)

CI tools do automated builds, execute tests, and report the results

Developers practicing CI merge their changes locally & execute tests before checking in

Page 30: Agile Testing. Risks, Uncertainty and Why It All Works

Copyri

ght

© 2

01

1 E

lisabeth

Hendri

ckso

n,

Qualit

y T

ree S

oft

ware

, In

c.

Version ALL Technical Assets with the Code

Unit Tests

Production Code

Source Control Repository

(Plus All other

technical assets)

Test “Fixture”

Code

Acceptance Tests

Page 31: Agile Testing. Risks, Uncertainty and Why It All Works

Copyri

ght

© 2

01

1 E

lisabeth

Hendri

ckso

n,

Qualit

y T

ree S

oft

ware

, In

c.

Increase Visibility

Page 32: Agile Testing. Risks, Uncertainty and Why It All Works

Copyri

ght

© 2

01

1 E

lisabeth

Hendri

ckso

n,

Qualit

y T

ree S

oft

ware

, In

c.

Automated Deploy

Page 33: Agile Testing. Risks, Uncertainty and Why It All Works

Copyri

ght

© 2

01

1 E

lisabeth

Hendri

ckso

n,

Qualit

y T

ree S

oft

ware

, In

c.

Fail Early, Fail Fast

Failing early & fast gives us time

to fix the problems.

Local Unit Tests Secs-Mins

MinsCI Build

Mins-Hrs

Automated Regression

Hrs-Days

Exploration

Page 34: Agile Testing. Risks, Uncertainty and Why It All Works

Copyri

ght

© 2

01

1 E

lisabeth

Hendri

ckso

n,

Qualit

y T

ree S

oft

ware

, In

c.

Red Build Means Stop the Line

If a previously passing expectation fails, there’s a bug. Bugs slow everything down. To keep

sustainable pace, fix bugs fast.

We can just throw that bug on the pile

with the others.

Yuck.

But that will increase

technical debt & slow velocity.

Page 35: Agile Testing. Risks, Uncertainty and Why It All Works

Copyri

ght

© 2

01

1 E

lisabeth

Hendri

ckso

n,

Qualit

y T

ree S

oft

ware

, In

c.

Exploratory Testing

Simultaneously…

…learning about the software

…designing tests

…executing tests

using feedback from the last test to inform the next

(See Jon and James Bach’s work on Session-Based ET)

Page 36: Agile Testing. Risks, Uncertainty and Why It All Works

Copyri

ght

© 2

01

1 E

lisabeth

Hendri

ckso

n,

Qualit

y T

ree S

oft

ware

, In

c.

Done Includes Tested

Implemented+ Checked+ Explored== DONE

Page 37: Agile Testing. Risks, Uncertainty and Why It All Works

Copyri

ght

© 2

01

1 E

lisabeth

Hendri

ckso

n,

Qualit

y T

ree S

oft

ware

, In

c.

Every. Single. Time.

speculation

EmpiricalEvidence

Page 38: Agile Testing. Risks, Uncertainty and Why It All Works

Copyri

ght

© 2

01

1 E

lisabeth

Hendri

ckso

n,

Qualit

y T

ree S

oft

ware

, In

c.

LEARNTEST

Intentions

Implementation

Actual Need