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.

Agile Testing. Risks, Uncertainty and Why It All Works

  • Upload
    agileee

  • View
    3.143

  • Download
    0

Embed Size (px)

DESCRIPTION

 

Citation preview

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