[hcmc stc jan 2015] workshop of context-driven testing in agile
TRANSCRIPT
CONTEXT-DRIVEN TESTING IN AGILE
31 JAN 2015
Nhat Do (DD) [email protected]
Vu Duong (EM) [email protected]
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/