background image

1

Testing and Scrum 

Testing and Scrum 

Fall 2007 Scrum Gathering 

Fall 2007 Scrum Gathering 

Ralph van Roosmalen

Ralph van Roosmalen

Agenda

y

y

Introduction

Introduction

y

y

The Classical Test Approach

The Classical Test Approach

y

y

Organization

Organization

y

y

Test Documentation

Test Documentation

y

y

Test Activities

Test Activities

y

y

Recruitment

Recruitment

y

y

Reporting

Reporting

y

y

Test Automation

Test Automation

y

y

Lessons Learned

Lessons Learned

background image

2

Introduction

Planon > Personal introduction

y

y

Ralph van Roosmalen, 

Ralph van Roosmalen, 

r.vanroosmalen@planon.nl

r.vanroosmalen@planon.nl

y

y

Computer Science 

Computer Science 

ba

ba

, studied at the Institute of 

, studied at the Institute of 

Technology

Technology

y

y

Certified Scrum master

Certified Scrum master

y

y

ISTQB Practitioner

ISTQB Practitioner

y

y

In Software Industry since 1997 as Software Developer, 

In Software Industry since 1997 as Software Developer, 

Project Manager and currently Test Manager and Scrum 

Project Manager and currently Test Manager and Scrum 

master at Planon.

master at Planon.

background image

3

Planon > Company

y

y

Standard software for Integrated Workplace 

Standard software for Integrated Workplace 

Management Solutions

Management Solutions

y

y

Private Dutch Company, Nijmegen, 

Private Dutch Company, Nijmegen, 

±

±

300 employees, 

300 employees, 

±

±

50 employees in Software development.

50 employees in Software development.

y

y

Last five years at least 23% growth in revenue, and 

Last five years at least 23% growth in revenue, and 

turnover of 

turnover of 

21 million Euro (2006).

21 million Euro (2006).

y

y

Active in The Netherlands, Germany, Belgium, UK, 

Active in The Netherlands, Germany, Belgium, UK, 

France, Spain, Austria, 

France, Spain, Austria, 

Switzerland

Switzerland

, Poland and the 

, Poland and the 

United States.

United States.

y

y

Goal: to become world leader in 

Goal: to become world leader in 

Integrated Workplace 

Integrated Workplace 

Management Solutions in 2010

Management Solutions in 2010

Planon > Software Development

y

y

±

±

50 employees

50 employees

y

y

Six scrum teams

Six scrum teams

y

y

Five working on a product 

Five working on a product 

y

y

One support team

One support team

y

y

All feature teams

All feature teams

y

y

Team members are interchangeable

Team members are interchangeable

y

y

Using Scrum since 2005

Using Scrum since 2005

y

y

Product Owners are not part of Software Development, 

Product Owners are not part of Software Development, 

customer 

customer 

vendor relation

vendor relation

y

y

Will engage in outsourcing development in 2008 by 

Will engage in outsourcing development in 2008 by 

using distributed Scrum teams

using distributed Scrum teams

background image

4

Planon > Products

y

y

Planon ProCenter Windows Client

Planon ProCenter Windows Client

y

y

Legacy product, 

Legacy product, 

±

±

15 years old, Delphi

15 years old, Delphi

y

y

Supported by team SE

Supported by team SE

y

y

Planon Self

Planon Self

-

-

Service

Service

y

y

±

±

5 years old, Delphi

5 years old, Delphi

y

y

Supported by team Net

Supported by team Net

y

y

Planon Talk

Planon Talk

y

y

±

±

5 years old, Delphi

5 years old, Delphi

y

y

Supported by team Net

Supported by team Net

y

y

Planon ProCenter Java Client

Planon ProCenter Java Client

\

\

Web2.0 Client

Web2.0 Client

y

y

3 years old, J2EE environment

3 years old, J2EE environment

y

y

Supported by teams Alpha, Beta and Gamma

Supported by teams Alpha, Beta and Gamma

The Classical Test Approach

background image

5

The Classical Test Approach

y

y

Test team is asked to test a project

Test team is asked to test a project

y

y

Test Manager starts with Project Test Plan

Test Manager starts with Project Test Plan

y

y

Test Manager or Test Leads creates Phase Test plan

Test Manager or Test Leads creates Phase Test plan

y

y

Start reviewing requirements and specifications

Start reviewing requirements and specifications

y

y

Start writing test cases by test engineers

Start writing test cases by test engineers

y

y

Wait for software, until it is almost too late to execute the 

Wait for software, until it is almost too late to execute the 

test plans.

test plans.

y

y

Start test execution phase

Start test execution phase

y

y

Solve problems found

Solve problems found

y

y

1

1

st

st

retesting 

retesting 

The Classical Test Approach

y

y

Complaints from the project manager, why is the testing 

Complaints from the project manager, why is the testing 

phase taking so much time.

phase taking so much time.

y

y

Solve problems found during 1

Solve problems found during 1

st

st

retesting 

retesting 

y

y

2

2

nd

nd

retesting

retesting

y

y

Regression test and solve problems found during 2

Regression test and solve problems found during 2

nd

nd

retesting

retesting

y

y

Deliver software

Deliver software

y

y

Project evaluation

Project evaluation

y

y

Involvement in the next project too late: it has already 

Involvement in the next project too late: it has already 

started because the developers were finished with the 

started because the developers were finished with the 

previous project.

previous project.

background image

6

The Classical Test Approach

y

y

Does not work in Scrum because

Does not work in Scrum because

y

y

There is no test team

There is no test team

y

y

You deliver potentially shippable software each sprint

You deliver potentially shippable software each sprint

y

y

There is no time to write test plans

There is no time to write test plans

y

y

You can

You can

t wait until the software is ready

t wait until the software is ready

y

y

There is no time to perform extensive retesting

There is no time to perform extensive retesting

y

y

Requirements and specifications are lean, so

Requirements and specifications are lean, so

y

y

Reviewing of documentation cannot wait until it is finished

Reviewing of documentation cannot wait until it is finished

y

y

Writing test cases based on specifications is difficult

Writing test cases based on specifications is difficult

y

y

There is no test manager within Scrum

There is no test manager within Scrum

The Classical Test Approach

y

y

To make testing work in a Scrum environment, you have 

To make testing work in a Scrum environment, you have 

to change

to change

y

y

The organization

The organization

y

y

Testing Documentation

Testing Documentation

y

y

Test Activities

Test Activities

y

y

Recruitment

Recruitment

y

y

Reporting

Reporting

y

y

Regression testing approach

Regression testing approach

background image

7

Organization

Organization

y

y

Testers are integrated into the teams

Testers are integrated into the teams

y

y

So no separate test team

So no separate test team

y

y

Testers are always up

Testers are always up

-

-

to

to

-

-

date

date

y

y

Testers can easily communicate with developers, 

Testers can easily communicate with developers, 

technical writers and functional designers

technical writers and functional designers

y

y

Test manager is still there, but not in the project

Test manager is still there, but not in the project

background image

8

Organization

y

y

Role of the tester

Role of the tester

y

y

Ask questions

Ask questions

y

y

Bring people together

Bring people together

y

y

Act as the team

Act as the team

s quality conscience

s quality conscience

y

y

Testing

Testing

y

y

Tester has to earn credit with the rest of the team to fulfil 

Tester has to earn credit with the rest of the team to fulfil 

this role.

this role.

Testing Documentation

background image

9

Testing Documentation

y

y

Test Policy

Test Policy

y

y

High level document, used for all projects

High level document, used for all projects

y

y

Just 1 A4 in size

Just 1 A4 in size

y

y

Test Strategy

Test Strategy

y

y

Per Test Level, used for all projects

Per Test Level, used for all projects

y

y

Just 1 A4 in size per Test Level

Just 1 A4 in size per Test Level

y

y

Project Test Plan

Project Test Plan

y

y

Describes the deflections compared to the Test Policy 

Describes the deflections compared to the Test Policy 

and Test Strategy

and Test Strategy

Testing Documentation – Test Policy 1/2

y

y

A Test Policy contains the following sections:

A Test Policy contains the following sections:

y

y

Mission

Mission

y

y

Organization

Organization

y

y

All testers hold the ISTQB Foundation certificate.

All testers hold the ISTQB Foundation certificate.

y

y

On average, each team that builds a software product should 

On average, each team that builds a software product should 

have one specialized tester on three developers.

have one specialized tester on three developers.

y

y

The team is ultimately responsible for the quality of the delive

The team is ultimately responsible for the quality of the delive

red 

red 

software.

software.

y

y

Testing Approach

Testing Approach

y

y

The testing approach is aligned with the values of the Agile 

The testing approach is aligned with the values of the Agile 

manifesto.

manifesto.

y

y

The testing strategy is based on the product risk matrix.

The testing strategy is based on the product risk matrix.

y

y

An automated regression test is available for each standard 

An automated regression test is available for each standard 

Planon software product. The regression test covers at least the

Planon software product. The regression test covers at least the

product

product

s high risks areas.

s high risks areas.

background image

10

Testing Documentation – Test Policy 2/2

y

y

Standards

Standards

y

y

Quality Attributes

Quality Attributes

y

y

Functionality

Functionality

y

y

Efficiency

Efficiency

y

y

Test Improvement

Test Improvement

y

y

The testing process is continuously improved by applying the 

The testing process is continuously improved by applying the 

improvement actions from the team

improvement actions from the team

-

-

and a testing retrospective 

and a testing retrospective 

that is held after each sprint. This continuously improvement is

that is held after each sprint. This continuously improvement is

embedded in our software process, Scrum.

embedded in our software process, Scrum.

y

y

Evaluation of testing (Performance indicators)

Evaluation of testing (Performance indicators)

y

y

Data is collected on test effort and defects; this data enables 

Data is collected on test effort and defects; this data enables 

creating metrics to provide input for the test improvement 

creating metrics to provide input for the test improvement 

process. 

process. 

Testing Documentation – Test Strategy 1/2

Unit test

The testing of software components. Is planned and designed early in the life cycle, the tests are based on the detailed 

design specifications.

Objective

Test the business logic and the application framework.

Responsibility

The team is responsible; the developers are the operators and the testers in some cases the reviewers.

Risk I

Risk II

Risk III

Risk IV

Entry criteria

-

-

-

-

Exit criteria

 Jalopy executed
 Find Bugs executed; no 

Correctness bugs and 
Bad Practices are left 

 100% tests successful
 Unit tests are reviewed
 High coverage

 Jalopy executed
 Find Bugs executed; no 

Correctness bugs 
and Bad Practices 
are left 

 100% tests successful
 Unit tests are reviewed
 High coverage

 Jalopy executed
 Find Bugs executed and 

no Correctness bugs 
are left 

 100% tests successful
 Medium coverage

 Jalopy executed
 Find Bugs executed and 

no Correctness bugs 
are left 

 100% tests successful
 Low coverage

Test process

A developer creates Unit 

tests, often they are 
designed by a 
tester. The unit 
tests are reviewed 
by a tester.

A developer creates 

Unit tests, often 
they are designed 
by a tester. The 
unit tests are 
reviewed by a 
tester.

A developer creates 

Unit tests, in 
some cases they 
are designed by a 
tester. Sometimes 
they are reviewed 
by a tester.

A developer creates 

Unit tests.

background image

11

Testing Documentation – Test Strategy 2/2

Milestones deliverables

Unit tests, coverage results and Unit results. 

Test case design 
techniques

 Boundary value 
analysis
 Equivalence 
partitioning
 Statement testing
 Cause/Effect 
graphing

 Boundary value 
analysis
 Equivalence 
partitioning
 Statement testing

 Boundary value 
analysis
 Statement testing 

 Boundary value 
analysis
 Statement testing

Type of tools that will 
be applied

Find Bugs (Code analysis tool), Emma (Coverage tool), Unit framework

Environments in which 
the tests will be 
executed

Nightly test environment, subset of unit tests in a continuous build environment.

Typical non-functional 
test types

Efficiency.

Metrics

 Number of successful unit tests
 Statement coverage of successful unit tests
 Time behavior of the executed tests

The approach to test 
automation

All tests are automated in a unit test framework, their will be no manual testing in this level.

The approach to 
retesting and 
regression testing

If a problem is fixed in the source, all the automated unit tests will be executed and there will 
be one or more new unit tests to prevent reintroduction of the problem.

Testing Documentation – Project Test Plan

y

y

If a project does something different than described in 

If a project does something different than described in 

the Test Policy or Test Strategies, this can be described 

the Test Policy or Test Strategies, this can be described 

in the Project Test Plan.

in the Project Test Plan.

background image

12

Testing Documentation – Test Policy And Test 
Strategy

y

y

Why write documentation? You say it is reverse 

Why write documentation? You say it is reverse 

engineering, so why write it down?

engineering, so why write it down?

y

y

Enables to discuss test approach with management and 

Enables to discuss test approach with management and 

teams

teams

y

y

Used to train new employees

Used to train new employees

y

y

Regularly check to see whether we are still on the right 

Regularly check to see whether we are still on the right 

track 

track 

y

y

Used in presentations to (potential) customers

Used in presentations to (potential) customers

y

y

It

It

s a living document, so we adapt it when necessary.

s a living document, so we adapt it when necessary.

Test Activities

background image

13

Test Activities – Sprint Planning

y

y

Testers are present during the sprint planning

Testers are present during the sprint planning

y

y

Use risk analysis to identify testing tasks

Use risk analysis to identify testing tasks

y

y

Testers estimate test tasks; testing capacity is finite

Testers estimate test tasks; testing capacity is finite

Test Activities – Sprint

y

y

Test the software

Test the software

y

y

Test Scrum; once a week

Test Scrum; once a week

y

y

Testers assists Developers in writing unit tests

Testers assists Developers in writing unit tests

y

y

Testers review unit tests and/or specifications

Testers review unit tests and/or specifications

y

y

Testers personify the team

Testers personify the team

s quality conscience

s quality conscience

y

y

Daily priority of the team

Daily priority of the team

y

y

Results unit tests

Results unit tests

y

y

Keep track of problems

Keep track of problems

background image

14

Test Activities – Sprint

y

y

Impact

Impact

y

y

Part of the primary 

Part of the primary 

company process

company process

y

y

Possibility of corrupt data

Possibility of corrupt data

y

y

Number of users

Number of users

y

y

Risk of failure

Risk of failure

y

y

Tools and technology

Tools and technology

y

y

What kind of software: 

What kind of software: 

maintenance or new 

maintenance or new 

software

software

y

y

Number of people involved

Number of people involved

Test Activities – Sprint

y

y

Risk I

Risk I

y

y

Extensive

Extensive

Exploratory Testing

Exploratory Testing

y

y

Structured testing, all 

Structured testing, all 

executed test are automated

executed test are automated

y

y

Testing is done by the most 

Testing is done by the most 

experienced testers

experienced testers

y

y

Review of Unit tests

Review of Unit tests

y

y

Review of the test cases on 

Review of the test cases on 

coverage and content

coverage and content

y

y

Code review

Code review

y

y

Review specifications

Review specifications

y

y

Risk IV

Risk IV

y

y

Exploratory Testing

Exploratory Testing

y

y

Some basic unit testing

Some basic unit testing

y

y

Testing can be done by non

Testing can be done by non

-

-

specialized testers

specialized testers

background image

15

Test Activities – Sprint

y

y

ET is very important, also at high risk items

ET is very important, also at high risk items

y

y

Writing test cases based on specifications is difficult

Writing test cases based on specifications is difficult

y

y

ET in combination with formal techniques

ET in combination with formal techniques

y

y

You can

You can

t wait until the software is ready

t wait until the software is ready

y

y

Testers start with automated test scripts

Testers start with automated test scripts

y

y

Developers have to deliver software piece by piece

Developers have to deliver software piece by piece

Test Activities – End of the Sprint

y

y

Testers participate in the Sprint Retrospective

Testers participate in the Sprint Retrospective

y

y

Testers are present during the Sprint Review meeting

Testers are present during the Sprint Review meeting

y

y

Test Retrospective, retrospective about the test process

Test Retrospective, retrospective about the test process

y

y

Prepare the next sprint, investigate product backlog

Prepare the next sprint, investigate product backlog

background image

16

Recruitment

Recruitment – Process

Looking for an 

Looking for an 

Agile Tester

Agile Tester

Interview with Development Manager or Test Manager 

Interview with Development Manager or Test Manager 

and Recruitment Manager.

and Recruitment Manager.

Workshop

Workshop

Four hours 

Four hours 

a small effort for a new job

a small effort for a new job

Every one can say (s)he has knowledge of software 

Every one can say (s)he has knowledge of software 

testing, but can they prove it?

testing, but can they prove it?

Final interview

Final interview

background image

17

Recruitment – Workshop

60 Questions about testing

60 Questions about testing

What does the applicant know about testing (ISTQB)

What does the applicant know about testing (ISTQB)

Possibility to discuss testing with the applicant

Possibility to discuss testing with the applicant

How does (s)he handle stress

How does (s)he handle stress

Describe at least 20 test cases to test the Font dialog in Word

Describe at least 20 test cases to test the Font dialog in Word

How creative is the applicant

How creative is the applicant

Does (s)he use test techniques

Does (s)he use test techniques

How does (s)he describe the tests

How does (s)he describe the tests

Case 

Case 

communicate with the developer

communicate with the developer

How does (s)he handle with the stereotype developer

How does (s)he handle with the stereotype developer

Can (s)he set the correct priority and severity

Can (s)he set the correct priority and severity

Recruitment

We believe that soft skills are very important for testers 

We believe that soft skills are very important for testers 

in a Scrum environment

in a Scrum environment

Communication

Communication

Flexibility

Flexibility

Collaboration

Collaboration

Test techniques is something you can learn

Test techniques is something you can learn

background image

18

Reporting

Reporting

y

y

Test Reports

Test Reports

y

y

No separate Management report

No separate Management report

y

y

No 

No 

hidden

hidden

link on a corporate website

link on a corporate website

y

y

But

But

y

y

Visible for all team members and stakeholders in a 

Visible for all team members and stakeholders in a 

public place

public place

y

y

Simple and 

Simple and 

less is more

less is more

background image

19

Reporting

y

y

What to report?

What to report?

y

y

Open issues per module

Open issues per module

y

y

Open issues per team

Open issues per team

y

y

Open issues displayed in time

Open issues displayed in time

y

y

% successful unit tests

% successful unit tests

y

y

What to report depends per organization, but

What to report depends per organization, but

y

y

Report per team, not per individual

Report per team, not per individual

y

y

Use colors: green is good and red is bad (In Western 

Use colors: green is good and red is bad (In Western 

oriented countries)

oriented countries)

y

y

Keep it really simple

Keep it really simple

Reporting – Monitors in the hall

background image

20

Reporting – Example report

Test Automation

background image

21

Test Automation – Why

y

y

There is no time for extensive manual regression testing; 

There is no time for extensive manual regression testing; 

automation is essential.

automation is essential.

y

y

Necessary because of incremental iterations and to 

Necessary because of incremental iterations and to 

support refactoring

support refactoring

y

y

As Product Vendor we need to support our products for 

As Product Vendor we need to support our products for 

years

years

y

y

Instantaneous feedback: all tests are run each night

Instantaneous feedback: all tests are run each night

y

y

Makes the daily work for testers more fun

Makes the daily work for testers more fun

Test Automation – Which tools

y

y

JUnit framework

JUnit framework

y

y

No testing of classes but on a higher level

No testing of classes but on a higher level

y

y

Used by developers to test framework and business 

Used by developers to test framework and business 

logic

logic

y

y

QF

QF

-

-

Test

Test

y

y

Commercial product for automating tests of Java 

Commercial product for automating tests of Java 

applications with a graphical user interface

applications with a graphical user interface

y

y

Used to test our Swing client

Used to test our Swing client

y

y

Selenium

Selenium

y

y

A test tool for web applications

A test tool for web applications

y

y

Used to test our Web2.0 client

Used to test our Web2.0 client

background image

22

Test Automation – Approach

y

y

Planon Test Policy: 

Planon Test Policy: 

An automated regression test is available for 

An automated regression test is available for 

each standard Planon software product. The regression test cover

each standard Planon software product. The regression test cover

at least the product

at least the product

s high risks areas.

s high risks areas.

y

y

Developers and tester discuss test automation

Developers and tester discuss test automation

y

y

Developers builds unit tests, testers reviews them or describes 

Developers builds unit tests, testers reviews them or describes 

the 

the 

unit tests, depends on the risk and available capacity .

unit tests, depends on the risk and available capacity .

y

y

Tester builds a QF

Tester builds a QF

-

-

Test test script to touch all GUI components and 

Test test script to touch all GUI components and 

test main use

test main use

-

-

case.

case.

y

y

If there is special coding needed for the Web2.0 client, the tes

If there is special coding needed for the Web2.0 client, the tes

ter 

ter 

builds a Selenium test script.

builds a Selenium test script.

y

y

Developer and Testers need to communicate to have the right test

Developer and Testers need to communicate to have the right test

automation approach!

automation approach!

Test Automation – Approach

y

y

Tool smith

Tool smith

y

y

Responsible for analyzing the automated test results

Responsible for analyzing the automated test results

y

y

Develops and maintains the automated test 

Develops and maintains the automated test 

framework

framework

y

y

Reviews the tests scripts

Reviews the tests scripts

y

y

Prevent this role becoming a bottleneck in creating 

Prevent this role becoming a bottleneck in creating 

automatic test scripts

automatic test scripts

background image

23

Lessons Learned

Lessons Learned – General

y

y

Make no statement about the quality at the end of the 

Make no statement about the quality at the end of the 

sprint

sprint

y

y

quality should always be good, and if not a product 

quality should always be good, and if not a product 

backlog item is not finished

backlog item is not finished

y

y

Quality is a team issue not the responsibility of testers

Quality is a team issue not the responsibility of testers

y

y

Testing in Scrum is different, but you can still use the 

Testing in Scrum is different, but you can still use the 

same old test techniques; use them lean

same old test techniques; use them lean

background image

24

Lessons Learned – General

y

y

How to handle open (customers) issues

How to handle open (customers) issues

y

y

Prioritize issues

Prioritize issues

y

y

Add the issues to the product backlog

Add the issues to the product backlog

y

y

If you do not want to solve an issue, cancel or close it.

If you do not want to solve an issue, cancel or close it.

y

y

If you plan a stabilization phase, you are going to need it.

If you plan a stabilization phase, you are going to need it.

Lessons Learned – Test Manager

y

y

Coach testers

Coach testers

y

y

Review test approach of a product backlog item every 

Review test approach of a product backlog item every 

sprint of every team

sprint of every team

y

y

Develop a vision on testing together with testers

Develop a vision on testing together with testers

y

y

Develops and maintain the Test Policy, Test Strategy 

Develops and maintain the Test Policy, Test Strategy 

and Test Project Plan

and Test Project Plan

y

y

Increase the testing knowledge of testers; for example, 

Increase the testing knowledge of testers; for example, 

hold a monthly professional circle

hold a monthly professional circle

background image

25

Links

y

y

Agile Testing User Group, 

Agile Testing User Group, 

http://

http://

tech.groups.yahoo.com

tech.groups.yahoo.com

/group/agile

/group/agile

-

-

testing/

testing/

y

y

International Software Testing Qualifications Board, 

International Software Testing Qualifications Board, 

www.istqb.org

www.istqb.org

y

y

Planon, 

Planon, 

www.planon

www.planon

-

-

fm.com

fm.com

y

y

QFS, 

QFS, 

www.qftest.com

www.qftest.com

y

y

Scrum, 

Scrum, 

www.controlchaos.com

www.controlchaos.com

y

y

Scrum User Group, 

Scrum User Group, 

http://

http://

groups.yahoo.com/group/scrumdevelopment

groups.yahoo.com/group/scrumdevelopment

/

/

Selenium, 

Selenium, 

www.openqa.org

www.openqa.org

y

y

TestComplete, 

TestComplete, 

www.automatedqa.com

www.automatedqa.com