[HCMC STC Jan 2015] Workshop Of Context-Driven Testing In Agile

Preview:

Citation preview

CONTEXT-DRIVEN TESTING IN AGILE

31 JAN 2015

Nhat Do (DD) nhatdo@kms-technology.com

Vu Duong (EM) vuduong@kms-technology.com

AGENDA

Introduction

Context-Driven Testing in Agile

Q & A

2 Context-Driven Testing in Agile

GAME WORKSHOP

3 Context-Driven Testing in Agile

Context-Driven Testing in

Agile

4 Context-Driven Testing in Agile

CHECKING VS TESTING

Checking

Is confirmation Is the system working like this?

5 Context-Driven Testing in Agile

CHECKING VS TESTING

Checking

6 Context-Driven Testing in Agile

Is confirmation Is the system working like this?

Give a binary result Pass or Failed.

CHECKING VS TESTING

Checking

7 Context-Driven Testing in Agile

Is confirmation Is the system working like this?

Give a binary result Pass or Failed.

Is machine decidable It’s passed, ready for release

CHECKING VS TESTING

Checking

8 Context-Driven Testing in Agile

Is confirmation Is the system working like this?

Give a binary result Pass or Failed.

Is machine decidable It’s passed, ready for release

Is focused on making sure

the program does not fail I try to find bugs as much as

possible

CHECKING VS TESTING

Checking

9 Context-Driven Testing in Agile

Is confirmation Is the system working like this?

Give a binary result Pass or Failed.

Is machine decidable It’s passed, ready for release

Is focused on making sure

the program does not fail I try to find bugs as much as

possible

Proves bugs exist, not their

absence

CHECKING VS TESTING

Checking

10 Context-Driven Testing in Agile

Is confirmation Is the system working like this?

Give a binary result Pass or Failed.

Is machine decidable It’s passed, ready for release

Is focused on making sure

the program does not fail I try to find bugs as much as

possible

Proves bugs exist, not their

absence

Is Exploration and learning I’m not sure why system has to

perform like this, not like that

Testing

CHECKING VS TESTING

Checking

11 Context-Driven Testing in Agile

Is confirmation Is the system working like this?

Give a binary result Pass or Failed.

Is machine decidable It’s passed, ready for release

Is focused on making sure

the program does not fail I try to find bugs as much as

possible

Proves bugs exist, not their

absence

Testing

Is Exploration and learning I’m not sure why system has to

perform like this, not like that

Has an open-ended result What if system shutdown suddenly

CHECKING VS TESTING

Checking

12 Context-Driven Testing in Agile

Is confirmation Is the system working like this?

Give a binary result Pass or Failed.

Is machine decidable It’s passed, ready for release

Is focused on making sure

the program does not fail I try to find bugs as much as

possible

Proves bugs exist, not their

absence

Testing

Is Exploration and learning I’m not sure why system has to

perform like this, not like that

Has an open-ended result What if system shutdown suddenly

Requires sapience System would be better if…..

CHECKING VS TESTING

Checking

13 Context-Driven Testing in Agile

Is confirmation Is the system working like this?

Give a binary result Pass or Failed.

Is machine decidable It’s passed, ready for release

Is focused on making sure

the program does not fail I try to find bugs as much as

possible

Proves bugs exist, not their

absence

Testing

Is Exploration and learning I’m not sure why system has to

perform like this, not like that

Has an open-ended result What if system shutdown suddenly

Requires sapience System would be better if…..

Is a question that we want

to ask of the program Hey, do we want to see where his

package in US?

CHECKING VS TESTING

Checking

14 Context-Driven Testing in Agile

Is confirmation Is the system working like this?

Give a binary result Pass or Failed.

Is machine decidable It’s passed, ready for release

Is focused on making sure

the program does not fail I try to find bugs as much as

possible

Proves bugs exist, not their

absence

Testing

Is Exploration and learning I’m not sure why system has to

perform like this, not like that

Has an open-ended result What if system shutdown suddenly

Requires sapience System would be better if…..

Is a question that we want

to ask of the program Hey, do we want to see where his

package in US?

Is a challenging. Intellectual

process

CASE STUDY

15 Context-Driven Testing in Agile

Case Study from VietNam Post Tracking System

WHAT’S CONTEXT-DRIVEN TESTING?

16 Context-Driven Testing in Agile

Context-driven testing is a model for developing and debugging computer software that takes into

account the ways in which the programs will be used or are expected to be used in the real world.

Tech Target

Context-driven testing is a certain type of software testing that considers the product’s use in the

field, or a performance or production environment. It is one way that developers assess software as it

is built, looking for flaws and otherwise optimizing its design before its eventual final release

Techopedia

CONTEXT-DRIVEN TESTING PRINCIPLES

17 Context-Driven Testing in Agile

The value of any practice depends on its context.

CONTEXT-DRIVEN TESTING PRINCIPLES

18 Context-Driven Testing in Agile

The value of any practice depends on its context.

There are good practices in context, but there are no best practices.

CONTEXT-DRIVEN TESTING PRINCIPLES

19 Context-Driven Testing in Agile

The value of any practice depends on its context.

There are good practices in context, but there are no best practices.

People, working together, are the most important part of any project’s

context.

CONTEXT-DRIVEN TESTING PRINCIPLES

20 Context-Driven Testing in Agile

The value of any practice depends on its context.

There are good practices in context, but there are no best practices.

People, working together, are the most important part of any project’s

context.

Projects unfold over time in ways that are often not predictable.

CONTEXT-DRIVEN TESTING PRINCIPLES

21 Context-Driven Testing in Agile

The value of any practice depends on its context.

There are good practices in context, but there are no best practices.

People, working together, are the most important part of any project’s

context.

Projects unfold over time in ways that are often not predictable.

The product is a solution. If the problem isn’t solved, the product

doesn’t work.

CONTEXT-DRIVEN TESTING PRINCIPLES

22 Context-Driven Testing in Agile

The value of any practice depends on its context.

There are good practices in context, but there are no best practices.

People, working together, are the most important part of any project’s

context.

Projects unfold over time in ways that are often not predictable.

The product is a solution. If the problem isn’t solved, the product

doesn’t work.

Good software testing is a challenging intellectual process.

CONTEXT-DRIVEN TESTING PRINCIPLES

23 Context-Driven Testing in Agile

The value of any practice depends on its context.

There are good practices in context, but there are no best practices.

People, working together, are the most important part of any project’s

context.

Projects unfold over time in ways that are often not predictable.

The product is a solution. If the problem isn’t solved, the product

doesn’t work.

Good software testing is a challenging intellectual process.

Only through judgment and skill, exercised cooperatively throughout

the entire project, are we able to do the right things at the right times to

effectively test our products.

CONTEXT-DRIVEN TESTING PRINCIPLES

24 Context-Driven Testing in Agile

The value of any practice depends on its context.

There are good practices in context, but there are no best practices.

People, working together, are the most important part of any project’s

context.

Projects unfold over time in ways that are often not predictable.

The product is a solution. If the problem isn’t solved, the product

doesn’t work.

Good software testing is a challenging intellectual process.

Only through judgment and skill, exercised cooperatively throughout

the entire project, are we able to do the right things at the right times to

effectively test our products.

Practices

CONTEXT-DRIVEN TESTING PRINCIPLES

25 Context-Driven Testing in Agile

The value of any practice depends on its context.

There are good practices in context, but there are no best practices.

People, working together, are the most important part of any project’s

context.

Projects unfold over time in ways that are often not predictable.

The product is a solution. If the problem isn’t solved, the product

doesn’t work.

Good software testing is a challenging intellectual process.

Only through judgment and skill, exercised cooperatively throughout

the entire project, are we able to do the right things at the right times to

effectively test our products.

Practices

Projects

CONTEXT-DRIVEN TESTING PRINCIPLES

26 Context-Driven Testing in Agile

The value of any practice depends on its context.

There are good practices in context, but there are no best practices.

People, working together, are the most important part of any project’s

context.

Projects unfold over time in ways that are often not predictable.

The product is a solution. If the problem isn’t solved, the product

doesn’t work.

Good software testing is a challenging intellectual process.

Only through judgment and skill, exercised cooperatively throughout

the entire project, are we able to do the right things at the right times to

effectively test our products.

Practices

Projects

Testing

A Nice Marriage of Agile and Context-Driven Testing?

27 Context-Driven Testing in Agile

A NICE MARRIAGE OF AGILE AND CONTEXT-DRIVEN TESTING?

28 Context-Driven Testing in Agile

People

Focus

People, working together, are the

most important part of any project’s

context.

CDT Belief

A NICE MARRIAGE OF AGILE AND CONTEXT-DRIVEN TESTING?

29 Context-Driven Testing in Agile

Individuals & Interactions

over process and tools People

Focus

Agile Spirit People, working together, are the

most important part of any project’s

context.

CDT Belief

A NICE MARRIAGE OF AGILE AND CONTEXT-DRIVEN TESTING?

30 Context-Driven Testing in Agile

Agile Spirit CDT Belief Individuals & Interactions

over process and tools People

Focus

Project

Uncertainty

People, working together, are the

most important part of any project’s

context.

Projects unfold over time in ways

that are often not predictable.

A NICE MARRIAGE OF AGILE AND CONTEXT-DRIVEN TESTING?

31 Context-Driven Testing in Agile

Agile Spirit CDT Belief Individuals & Interactions

over process and tools People

Focus

Responding to Change

over following plan

Project

Uncertainty

People, working together, are the

most important part of any project’s

context.

Projects unfold over time in ways

that are often not predictable.

A NICE MARRIAGE OF AGILE AND CONTEXT-DRIVEN TESTING?

32 Context-Driven Testing in Agile

Agile Spirit CDT Belief Individuals & Interactions

over process and tools People

Focus

Responding to Change

over following plan

Project

Uncertainty

Product

Focus

People, working together, are the

most important part of any project’s

context.

Projects unfold over time in ways

that are often not predictable.

The product is a solution. If the

problem isn’t solved, the product

doesn’t work.

A NICE MARRIAGE OF AGILE AND CONTEXT-DRIVEN TESTING?

33 Context-Driven Testing in Agile

Agile Spirit CDT Belief Individuals & Interactions

over process and tools People

Focus

Responding to Change

over following plan

Working Software

over comprehensive documentation

Project

Uncertainty

Product

Focus

People, working together, are the

most important part of any project’s

context.

Projects unfold over time in ways

that are often not predictable.

The product is a solution. If the

problem isn’t solved, the product

doesn’t work.

A NICE MARRIAGE OF AGILE AND CONTEXT-DRIVEN TESTING?

34 Context-Driven Testing in Agile

Agile Spirit CDT Belief Individuals & Interactions

over process and tools People

Focus

Responding to Change

over following plan

Working Software

over comprehensive documentation

Project

Uncertainty

Product

Focus

Client

Involvement

People, working together, are the

most important part of any project’s

context.

Projects unfold over time in ways

that are often not predictable.

The product is a solution. If the

problem isn’t solved, the product

doesn’t work.

Only through judgment and skill,

exercised cooperatively throughout

the entire project, are we able to do

the right things at the right times to

effectively test our products

A NICE MARRIAGE OF AGILE AND CONTEXT-DRIVEN TESTING?

35 Context-Driven Testing in Agile

Agile Spirit CDT Belief Individuals & Interactions

over process and tools People

Focus

Responding to Change

over following plan

Working Software

over comprehensive documentation

Customer Collaboration

over contract negotiation

Project

Uncertainty

Product

Focus

Client

Involvement

People, working together, are the

most important part of any project’s

context.

Projects unfold over time in ways

that are often not predictable.

The product is a solution. If the

problem isn’t solved, the product

doesn’t work.

Only through judgment and skill,

exercised cooperatively throughout

the entire project, are we able to do

the right things at the right times to

effectively test our products

Your Turn – When it could go wrong?

36 Context-Driven Testing in Agile

WHEN IT COULD GO WRONG?

37 Context-Driven Testing in Agile

When ONLY developers do testing; when it is not matured enough (no

planning, no discipline, no documentation)

WHEN IT COULD GO WRONG?

38 Context-Driven Testing in Agile

When ONLY developers do testing; when it is not matured enough (no

planning, no discipline, no documentation)

When thinking that everyone can test and all can be automated

WHEN IT COULD GO WRONG?

39 Context-Driven Testing in Agile

When ONLY developers do testing; when it is not matured enough (no

planning, no discipline, no documentation)

When thinking that everyone can test and all can be automated

Key Question: Is your team “mature enough” for this marriage?

WHEN IT COULD GO WRONG?

40 Context-Driven Testing in Agile

When ONLY developers do testing; when it

is not matured enough (no planning, no

discipline, no documentation)

When thinking that everyone can test and all

can be automated

Key Question: Is your team “mature enough”

for this marriage?

Q & A

41 Context-Driven Testing in Agile

APPENDIX

42 Context-Driven Testing in Agile

http://www.hcmc-stc.org/blog/marrigage-of-scrum-and-session-based-

testing

- http://www.mountaingoatsoftware.com/agile/scrum/overview

- http://www.satisfice.com/sbtm/

THANK YOU

© 2013 KMS Technology