Live Without It: Test

fanaticalpumaΜηχανική

5 Νοε 2013 (πριν από 3 χρόνια και 7 μήνες)

102 εμφανίσεις

© Copyright 2012 Hewlett
-
Packard Development Company, L.P. The information contained herein is subject to change without notice
.

Can’t Live With It, Can’t
Live Without It: Test
Strategies for Agile
Teams

Brad
Hipps
, HP Software

EclipseCon

2013

© Copyright 2012 Hewlett
-
Packard Development Company, L.P. The information contained herein is subject to change without notice
.

2

Defects found too late in the cycle for effective resolution

Traditional waterfall delivery

Jan

Feb

Mar

Apr

May

Jun

Rqmt

Design

System test

Code / unit test

R

i

s

k

Time

© Copyright 2012 Hewlett
-
Packard Development Company, L.P. The information contained herein is subject to change without notice
.

3

Agile: as it should be

Jan

Feb

Mar

Apr

May

Jun

RQMT

DESGN

TEST

CODE / UT


Time
-
boxed for focus


Hands
-
on
with stakeholders


Surfaces issues
sooner



Continuous

testing


Designed for
change


True measure of
progress


Jan

Feb

Mar

Apr

May

Jun

Rqmt

Design

Code/UT

Sys. test

Rqmt

Design

Code/UT

Sys. test

Rqmt

Design

Code/UT

Sys. test

Rqmt

Design

Code/UT

Sys. test

Rqmt

Design

Code/UT

Sys. test

Rqmt

Design

Code/UT

Sys. test

© Copyright 2012 Hewlett
-
Packard Development Company, L.P. The information contained herein is subject to change without notice
.

4

Agile: as it too often is

Jan

Feb

Mar

Apr

May

Jun

RQMT

DESGN

TEST

CODE / UT

Jan

Feb

Mar

Apr

May

Jun

Rqmt

Rqmt

Design

Code/UT

Rqmt

Design

Code/UT

Design

Code/UT

Sys. test

Code/UT

Sys. test

Sys. test


Time
-
boxed for focus


Hands
-
on
with stakeholders


Surfaces issues
sooner



Continuous

testing


Designed for
change


True measure of
progress


© Copyright 2012 Hewlett
-
Packard Development Company, L.P. The information contained herein is subject to change without notice
.

Scrummerfall
.
n.

The
practice of combining
scrum
and
waterfall
so as to ensure failure at a faster
rate than with
waterfall
alone.

© Copyright 2012 Hewlett
-
Packard Development Company, L.P. The information contained herein is subject to change without notice
.

6

Exploratory test each new element as it’s introduced

Instability & pre
-
automation

Sprint 4

1

Sprint 3

Sprint 2

Sprint 1

Sprint 5

C1

C

Component (non
-
GUI)

G

GUI element

B

Business process

Stable

C1

G1

C1

G1

C2

G2

C1

G
1

C2

G2

C3

B1

C1

G1

C2

G2

C3

B1

G1

C2

© Copyright 2012 Hewlett
-
Packard Development Company, L.P. The information contained herein is subject to change without notice
.

7

The best way to mine sweep

Why explore?

Mine

Fix

Repeatability alone won’t
clear the field

Repeatability
and

variability
are key

© Copyright 2012 Hewlett
-
Packard Development Company, L.P. The information contained herein is subject to change without notice
.

“Any tests that can be scripted should be
automated. We don’t need humans doing
something that a machine can do. What we do
want the human testers doing is
exploratory
testing
. Exploratory testing is a creative
endeavor in which human testers explore the
behavior of the system in an attempt to
characterize its behaviors, both documented and
undocumented.”




Dr. Robert C. (“Uncle Bob”) Martin


© Copyright 2012 Hewlett
-
Packard Development Company, L.P. The information contained herein is subject to change without notice
.

9

C2

Automation never lags by more than one sprint

The “s+1” rule of test automation

Sprint 4

1

Sprint 3

Sprint 2

Sprint 1

Sprint 5

C1

C

Component (non
-
GUI)

G

GUI element

B

Business process

Stable

C1

G1

C1

G1

G2

C1

G
1

C2

G2

C3

B1

C1

G1

C2

G2

C3

B1

G1

C2

© Copyright 2012 Hewlett
-
Packard Development Company, L.P. The information contained herein is subject to change without notice
.

10

C2

Multi
-
layered testing allows automation even without GUI

Solving for multiple app layers

Sprint 4

1

Sprint 3

Sprint 2

Sprint 1

Sprint 5

C1

C

Component (non
-
GUI)

G

GUI element

B

Business process

Stable

C1

G1

C1

G1

G2

C1

G
1

C2

G2

C3

B1

C1

G1

C2

G2

C3

B1

G1

C2

© Copyright 2012 Hewlett
-
Packard Development Company, L.P. The information contained herein is subject to change without notice
.

11

C2

External components

Service virtualization eliminates dependencies

Solving for multiple app layers

Sprint 4

1

Sprint 3

Sprint 2

Sprint 1

Sprint 5

C1

C

Component (non
-
GUI)

G

GUI element

B

Business process

Stable

C1

G1

C1

G1

G2

C1

G
1

C2

G2

C3

B1

C1

G1

C2

G2

C3

B1

G1

C2

© Copyright 2012 Hewlett
-
Packard Development Company, L.P. The information contained herein is subject to change without notice
.

12

A relentless assault on project risk

The ideal picture: continuous testing

Sprint 4

1

Sprint 3

Sprint 2

Sprint 1

Sprint 5

C1

C1

G1

C1

G1

C2

G2

C1

G
1

C2

G2

C3

B1

C1

G1

C2

G2

C3

B1

G1

C2

Longevity testing (independent of sprint cycles)

Regression 1

Regression 2

Regression 3

CI

CI

CI

CI

CI

Regression 4

ET

ET

ET

ET

ET

© Copyright 2012 Hewlett
-
Packard Development Company, L.P. The information contained herein is subject to change without notice
.

13

Recent
means of shifting quality “to the left”

TDD’s more mature sibling. More structured: given, when, then

BDD

Upfront customer criteria. Focused on business intent

ATDD

Red, green, refactor

TDD

© Copyright 2012 Hewlett
-
Packard Development Company, L.P. The information contained herein is subject to change without notice
.

14

Remember...

How to avoid the “
scrummerfall
” trap

1.
Exploratory testing is perfectly suited to the evolving, unstable
components in an Agile project

2.
Time
must be explicitly allocated for test automation in each
sprint.

3.
Automation
should begin as early as possible and should
never lag
by
more than one
sprint.

4.
When assessing
the results of a sprint, the automation goals
must be
considered as vital as the development
objectives.

5.
Multi
-
layered testing allows for test automation in advance of GUI
stability, and furthers test
coverage.

6.
Legacy tools won’t deliver modern velocity. Solutions for acceleration,
virtualization and advanced automation are crucial.

© Copyright 2012 Hewlett
-
Packard Development Company, L.P. The information contained herein is subject to change without notice
.

Thank you