The Role of a Tester on an Agile Team - ASPE Training · Typical Agile Tester Role The Agile Team...

13
The Role of a Tester on an Agile Team Alan S Koch [email protected]

Transcript of The Role of a Tester on an Agile Team - ASPE Training · Typical Agile Tester Role The Agile Team...

The Role of a Tester

on an Agile Team

Alan S Koch

[email protected]

Agile Tester?

The Agile Methods say

nothing about Testers

The Agile Community

is learning how Testers can

be valuable on Agile teams

Agile Team Members

The Agile Team The Agile Team

Product

Owner

Scrum

Master

The rest of the team

Tester is a

full member

of the Team

Agile Values & Principles

Agile Value or Principle Effect on Testers

We Value

Individuals & Interactions

Direct, regular interaction with

developers and Product Owner

Self-Organizing Teams Test Planning is a

whole-team activity

Continuous Attention to

Technical Excellence

Testing is done continuously

by everyone (not just the tester)

Roles & Responsibilities

Old Non-Agile Projects

• Developer Team

– Writes code

– Some testing

(e.g. Unit Test)

– Hand off to Test Team

• Test Team

– Prepares tests

– Performs testing

– Reports Defects

New Agile Projects

• One Team

– Developers: Coding specialists

– Testers: Testing specialists

– Collaborative Test Planning

– Collaborative Testing

– Test Specialist leads

Test-related activities

Collaborating w/Developers Developer Tester

Work out Story Details

with Product Owner

Participate in discussion,

Ask questions

Design Unit &

Integration Tests (TDD)

Review test designs,

Make suggestions

Automate Tests Help with automation,

Review scripts

Write Code

Unit and Component Test Help with testing,

Make suggestions

Peer Review of Code Participate in Reviews,

Ask questions

Integrate units into the system Help with testing,

Make suggestions

Validate functionality

with Product Owner

Participate in discussion,

Ask questions

Pair Testing with Developers

“Pair Programming” is an Agile technique

• Pairing of Testers with Developers:

– The ultimate in collaboration

– Facilitates mutual learning

– Improves team efficiency

– Results in a higher-quality product

Team-Based Testing Approach

The Agile Team The Agile Team

Product

Owner

Scrum

Master

The rest of the team

Story

Testing

Feature

Testing

Non-

Functional

Testing

Story

Testing

Feature

Testing

Non-

Functional

Testing

Story

Testing

Feature

Testing

Non-

Functional

Testing

Story

Testing

Feature

Testing

Non-

Functional

Testing

Story

Testing

Feature

Testing

Non-

Functional

Testing

Story

Testing

Feature

Testing

Non-

Functional

Testing

Story

Testing

Feature

Testing

Non-

Functional

Testing

Story

Testing

Feature

Testing

Non-

Functional

Testing

Story

Testing

Feature

Testing

Non-

Functional

Testing

Story

Testing

Feature

Testing

Non-

Functional

Testing

Story

Testing

Feature

Testing

Non-

Functional

Testing

Story

Testing

Feature

Testing

Non-

Functional

Testing

Unit

Testing

Story

Testing

Integration

Testing

Feature

Testing

Non-

Functional

Testing

Unit

Testing

Story

Testing

Integration

Testing

Feature

Testing

Non-

Functional

Testing

Usability

Testing

End-to-End

Testing

Acceptance

Testing

Usability

Testing

End-to-End

Testing

Acceptance

Testing

Are we

doing all of

the Testing

we should?

Are we

doing all of

the Testing

we should?

The Agile Team The Agile Team

Product

Owner

Scrum

Master

The rest of the team

Product Owner Role in Testing

• What is acceptable…

– For each User Story?

– For each Feature?

– For the system?

• Who are the users?

– Their backgrounds?

– Their needs?

• Is this Acceptable?

• Who should do the

Acceptance Test?

Developers’ Role in Testing

The Agile Team The Agile Team

Product

Owner

Scrum

Master

The rest of the team

• Understand requirements

– Discuss w/Product Owner

– Ask questions

• Design, Automate

and Perform tests

– Unit Tests

– TDD, ATDD

– Feature Tests

– Non-Functional tests

• Demonstrate product for Product Owner

evaluation

Typical Agile Tester Role

The Agile Team The Agile Team

Product

Owner

Scrum

Master

The rest of the team

• Support Product Owner

and Developers’ Testing

– Clarify User Stories and

Acceptance Criteria

– Assist with testing and

interpreting test results

• Perform Additional Testing

e.g.

– Exploratory Testing

– Negative Testing

– Special Scenarios

A Challenging Transition

Tester as

Testing Leader

Let’s collaborate

to deliver

good software!

Tester

as Cop

Test failed!

Go directly to jail.

Do not pass Go!

Challenging

Transition

The Role of a Tester

on an Agile Team

Alan S Koch

[email protected]