SlideShare a Scribd company logo
... A happy marriage ?
Context-driven
testing
in an agile
context
Huib Schoots
Dutch Testing Conference 2014
Topics
• Testing
• Context-driven testing
• Agile testing
• Test automation
• Great testers
• Happy Marriage?
What is testing?
The process consisting of all lifecycle activities, both static
and dynamic, concerned with planning, preparation and
evaluation of software products and related work products
to determine that they satisfy specified requirements, to
demonstrate that they are fit for purpose and to detect
defects.
(ISTQB)
Testing is a process that provides insight into, and advice
on, quality and the related risks.
(TMap)
What is testing?
Testing gathers information about a product with the intention
to inform a decision (Jerry Weinberg)
Questioning a product in order to evaluate it (James Bach)
Testers light the way (RST)
Testers see things for what they are. They make informed
decisions about quality possible, because they think critically
about software (RST)
Skillful investigation by experimentation (Joris Meerts)
Testing and checking
• Testing is the process of evaluating a product
by learning about it through experimentation,
which includes to some degree: questioning,
study, modeling, observation and inference.
• Checking is the process of making evaluations
by applying algorithmic decision rules to
specific observations of a product.
Source: http://www.satisfice.com/blog/archives/856
Testing and checking
Source: http://www.satisfice.com/blog/archives/856
Human
checking
Machine
checking
Human/machine
checking
Learning by experimenting, including
study, questioning, modeling,
observation, interference, etc.
Testing
What is context-driven testing?
• A paradigm
• A community
• An approach
Context-driven testing means that to be effective, testing must
consider context first and continuously.
A group of people who consider testing as a human activity to
solve a complex and difficult problem that requires a lot of skill.
Therefore they continuously study their craft seriously, practice
a lot and refuse to do bad work.
The model by which I understand, experience, value, explain
and categorize good testing.
Source: http://www.satisfice.com/presentations/context-driven.pdf
The 7 principles of Context-driven Testing
1. The value of any practice depends on its context.
2. There are good practices in context, but there are no best
practices.
3. People, working together, are the most important part of any
project's context.
4. Projects unfold over time in ways that are often not predictable.
5. The product is a solution. If the problem isn't solved, the
product doesn't work.
6. Good software testing is a challenging intellectual process.
7. 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.
Source: http://context-driven-testing.com/
The context-driven values
• Humanist
• Skeptical
• Empiricist
• Adaptable
• Diversified
• Heuristic
• Ethical
• Personal
Source: Keynote presentation by Michael Bolton CopenhagenContext 2014
An example: RST
The Premises of Rapid Testing:
1. Software projects and products are relationships between people, who are
creatures both of emotion and rational thought.
2. Each project occurs under conditions of uncertainty and time pressure.
3. Despite our best hopes and intentions, some degree of inexperience,
carelessness, and incompetence is normal.
4. A test is an activity; it is performance, not artifacts.
5. Testing’s purpose is to discover the status of the product and any threats to its
value, so that our clients can make informed decisions about it.
6. We commit to performing credible, cost-effective testing, and we will inform
our clients of anything that threatens that commitment.
7. We will not knowingly or negligently mislead our clients and colleagues.
8. Testers accept responsibility for the quality of their work, although they cannot
control the quality of the product.
Source: http://www.satisfice.com/rst.pdf
Agile testing?
• What makes testing agile?
The testing itself is not so much different, it is
the context in which you do the testing is
different!
We explained how agile testing, with its focus on
business value and delivering the quality customers
require, is different from traditional testing, which
focuses on conformance to requirements.
(Agile Testing - A Practical Guide for Testers and Agile Teams - Lisa Crispin, Janet Gregory)
Some differences…
• Less time to prepare, execute and report
• Iterative and incremental approach
• Focus on test check automation
• Role change: less testing, more coaching
• Less certainty: change is common
• Team work
• Continuous critical thinking
Source: http://www.huibschoots.nl/wordpress/?p=1072
Agile testing to some…
• TDD
• ATDD, BDD, Specification by example
• 100% test automation
• No more testers
• Built-in quality
• Faster, shorter, better!
Individuals and interactions over processes and tools
Test pyramid
Acceptance Tests
(API layer)
Unit Tests / component tests
GUI
Tests
Manual
Tests
Test automation
• You can only automate a check
• Expected results are needed
• What about unexpected stuff?
• No learning, only fact checking…
Check
Gone wrong: testing ice cone!
Acceptance Tests
(API layer)
GUI Tests
Unit
Tests
Manual Tests
Who should do the test automation?
• Testers?
• Programmers?
• Both?
Test skills
Programming skills
Somebody who has the skills!
check
Great testers
• A tester is somebody who knows that things
can be different. (Jerry Weinberg)
• A good tester is able to see the complexity of
things that seem simple and the simplicity of
things that appear complex. (Michael Bolton)
• Aiming to become a world-class tester does
not mean reaching a destination, but rather
being on a constant journey into new
territories.(Ilari Henrik Aegerter)
Great testers
• Testing is about questioning and learning under
conditions of fundamental uncertainty
• Testing is a performance
• Because testing is a solution to a very difficult problem,
it must be tailored to the context of the project, and
therefore testing is a human activity that requires a
great deal of skill to do well. That’s why we must study
it seriously. We must practice our craft. Context-driven
testers strive to become the Jedi knights of testing.
Become a great tester…
1. Adapt to the context
2. Collaborate
3. Learn & practice
4. Passion
5. Have courage
6. Be curious & sceptical
Content
Attitude
Steve Jobs' 2005 Stanford Commencement Address
http://news.stanford.edu/news/2005/june15/jobs-061505.html
How I became better…
• I really love what I do: testing is fun!
• I refuse to do bad work and stand up for what I believe
• Rapid Software Testing
• BBST
• Skype Coaching
• Become part of the community
• Twitter
• Conferences: Let’s Test, CAST, TestBash and many more
• Learn, practice, explore
• Testing dojos, weekend testing, Miagi-Do
• Read blogs (http://www.huibschoots.nl/wordpress/?p=1450)
• Read books (http://www.huibschoots.nl/wordpress/?p=1361)
Context-driven
testing
in an agile context
Happy marriage?
• Focus on humans
Individuals and interactions over processes and tools
People, working together, are the most important part of any project’s context
• Projects are uncertain
Responding to change over following a plan
Projects unfold over time in ways that are often not predictable
• Problem solving
Working software over comprehensive documentation
The product is a solution. If the problem isn’t solved, the product doesn’t work
• Collaboration
Customer collaboration over contract negotiation
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
Where it could go wrong…
• When agile is considered developers only, no
documentation, no planning, no discipline,
xDD as a methodology, automate everything…
• Testing is devalued as best practice, process
with some artifacts like “pushing buttons” and
the believe “everybody can test”…
Read more
• Open Letter to EuroSTAR organizers – testing introduction - http://thetesteye.com/blog/2013/03/open-letter-to-eurostar-organizers-
testing-introduction/ (Testing)
• Misconceptions about testing - http://www.huibschoots.nl/wordpress/?p=1118 (Testing)
• Quality: Not Merely The Absence Of Bugs - http://www.developsense.com/blog/2009/02/quality-not-merely-absence-of-bugs/ (Testing)
• Testing & Checking - http://www.satisfice.com/blog/archives/856 (Testing and checking)
• Test Cases Are Not Testing: Toward a Culture of Test Performance” by James Bach & Aaron Hodder -
http://www.testingcircus.com/documents/TestingTrapeze-2014-February.pdf (Testing is a performance)
• A test is a performance - http://www.satisfice.com/blog/archives/1346 (Testing is a performance)
• Context-driven Testing - http://www.developsense.com/presentations/2011-08-CAST-ContextDrivenTesting.pdf (Context-driven testing)
• What is context-driven testing? - http://kaner.com/?p=49 (Context-driven testing)
• What being a Context-Driven Tester means to me - http://testingreflections.com/node/8657 (Context-driven testing)
• What makes agile testing different? - http://www.huibschoots.nl/wordpress/?p=1072 (Agile testing)
• Becoming a World-Class Tester - www.ebaytechblog.com/2013/01/31/becoming-a-world-class-tester/ (Great testers)
• You can learn testing - http://www.huibschoots.nl/wordpress/?p=373 (Great testers)
• The Dual Nature of Context-Driven Testing - http://www.satisfice.com/blog/archives/565 (Great testers)
• How to become a great tester - My talk at CopenhagenContext 2014: goo.gl/V5kknu (Attitude)
• So you think you can test - My talk at Let’s Test 2012: goo.gl/CYgBxR (Learning & practice)
• A tester’s syllabus by James Bach - http://www.satisfice.com/images/testsyllabus.pdf (Skills)
• Agile Test Automation by James Bach - www.satisfice.com/articles/agileauto-paper.pdf (Agile Test Automation)
• The Forgotten Layer of the Test Automation Pyramid - http://www.mountaingoatsoftware.com/blog/the-forgotten-layer-of-the-test-
automation-pyramid (Test Automation Pyramid)
• Can Exploratory Testing Be Automated? - http://www.developsense.com/blog/2010/09/can-exploratory-testing-be-automated/ (Test
automation & exploratory testing)
• Man and machine - http://www.kohl.ca/articles/ManandMachine_BetterSoftware_Dec2007.pdf (Test Automation)
• Is Unit Testing Automated? - http://www.developsense.com/blog/2010/06/questions-from-listeners-2-is-unit-testing-automated/ (Test
Automation)
• Manual and automated testing - http://www.developsense.com/blog/2013/02/manual-and-automated-testing/ (Test Automation)
• More great resources: http://www.huibschoots.nl/links (More links)
huib.schoots@improveqs.nl
@huibschoots
www.huibschoots.nl/blog
Laan van Diepenvoorde 1
5582 LA Waalre
The Netherlands
Tel: +31 40 2021803

More Related Content

Viewers also liked

Imrul: Context Driven Testing
Imrul: Context Driven TestingImrul: Context Driven Testing
Imrul: Context Driven Testing
SQABD
 
Thinking and working visually for software testers - Nordic Testing Days
Thinking and working visually for software testers - Nordic Testing DaysThinking and working visually for software testers - Nordic Testing Days
Thinking and working visually for software testers - Nordic Testing Days
Huib Schoots
 
A Context-Driven Approach to Automation in Testing
A Context-Driven Approach to Automation in TestingA Context-Driven Approach to Automation in Testing
A Context-Driven Approach to Automation in Testing
BugRaptors
 
Automação de Teste - BRATESTE 2010
Automação de Teste - BRATESTE 2010Automação de Teste - BRATESTE 2010
Automação de Teste - BRATESTE 2010
Elias Nogueira
 
Context Driven School of testing w prostych przykładach
Context Driven School of testing w prostych przykładachContext Driven School of testing w prostych przykładach
Context Driven School of testing w prostych przykładach
Radoslaw Smilgin
 
Shift Left Quality Assurance: How to do it. Why it matters.
Shift Left Quality Assurance: How to do it. Why it matters.Shift Left Quality Assurance: How to do it. Why it matters.
Shift Left Quality Assurance: How to do it. Why it matters.
Worksoft
 
Ready, set, go! - Anna Royzman
Ready, set, go! - Anna RoyzmanReady, set, go! - Anna Royzman
Ready, set, go! - Anna Royzman
QA or the Highway
 
Case Study of Toyota Unintended Acceleration and Software Safety
Case Study of Toyota Unintended Acceleration and Software SafetyCase Study of Toyota Unintended Acceleration and Software Safety
Case Study of Toyota Unintended Acceleration and Software Safety
Philip Koopman
 
[HCMC STC Jan 2015] Developing an Offshore Context-Driven Testing Team
[HCMC STC Jan 2015] Developing an Offshore Context-Driven Testing Team[HCMC STC Jan 2015] Developing an Offshore Context-Driven Testing Team
[HCMC STC Jan 2015] Developing an Offshore Context-Driven Testing Team
Ho Chi Minh City Software Testing Club
 
SlideShare 101
SlideShare 101SlideShare 101
SlideShare 101
Amit Ranjan
 

Viewers also liked (10)

Imrul: Context Driven Testing
Imrul: Context Driven TestingImrul: Context Driven Testing
Imrul: Context Driven Testing
 
Thinking and working visually for software testers - Nordic Testing Days
Thinking and working visually for software testers - Nordic Testing DaysThinking and working visually for software testers - Nordic Testing Days
Thinking and working visually for software testers - Nordic Testing Days
 
A Context-Driven Approach to Automation in Testing
A Context-Driven Approach to Automation in TestingA Context-Driven Approach to Automation in Testing
A Context-Driven Approach to Automation in Testing
 
Automação de Teste - BRATESTE 2010
Automação de Teste - BRATESTE 2010Automação de Teste - BRATESTE 2010
Automação de Teste - BRATESTE 2010
 
Context Driven School of testing w prostych przykładach
Context Driven School of testing w prostych przykładachContext Driven School of testing w prostych przykładach
Context Driven School of testing w prostych przykładach
 
Shift Left Quality Assurance: How to do it. Why it matters.
Shift Left Quality Assurance: How to do it. Why it matters.Shift Left Quality Assurance: How to do it. Why it matters.
Shift Left Quality Assurance: How to do it. Why it matters.
 
Ready, set, go! - Anna Royzman
Ready, set, go! - Anna RoyzmanReady, set, go! - Anna Royzman
Ready, set, go! - Anna Royzman
 
Case Study of Toyota Unintended Acceleration and Software Safety
Case Study of Toyota Unintended Acceleration and Software SafetyCase Study of Toyota Unintended Acceleration and Software Safety
Case Study of Toyota Unintended Acceleration and Software Safety
 
[HCMC STC Jan 2015] Developing an Offshore Context-Driven Testing Team
[HCMC STC Jan 2015] Developing an Offshore Context-Driven Testing Team[HCMC STC Jan 2015] Developing an Offshore Context-Driven Testing Team
[HCMC STC Jan 2015] Developing an Offshore Context-Driven Testing Team
 
SlideShare 101
SlideShare 101SlideShare 101
SlideShare 101
 

More from Huib Schoots

Testing in modern times a story about quality and value - agile testing dev ...
Testing in modern times  a story about quality and value - agile testing dev ...Testing in modern times  a story about quality and value - agile testing dev ...
Testing in modern times a story about quality and value - agile testing dev ...
Huib Schoots
 
A road to awesomeness
A road to awesomenessA road to awesomeness
A road to awesomeness
Huib Schoots
 
Telling the testing story - Storytelling voor testers (DUTCH)
Telling the testing story - Storytelling voor testers (DUTCH)Telling the testing story - Storytelling voor testers (DUTCH)
Telling the testing story - Storytelling voor testers (DUTCH)
Huib Schoots
 
Exploratory testing
Exploratory testingExploratory testing
Exploratory testing
Huib Schoots
 
Where words fail music speaks
Where words fail music speaksWhere words fail music speaks
Where words fail music speaks
Huib Schoots
 
Succesful Testing The Continuous Delivery Process
Succesful Testing The Continuous Delivery ProcessSuccesful Testing The Continuous Delivery Process
Succesful Testing The Continuous Delivery Process
Huib Schoots
 
Set your course
Set your courseSet your course
Set your course
Huib Schoots
 
Thinking and working visually for software testers
Thinking and working visually for software testersThinking and working visually for software testers
Thinking and working visually for software testers
Huib Schoots
 
Mind maps tutorial Agile Testing Days
Mind maps tutorial Agile Testing DaysMind maps tutorial Agile Testing Days
Mind maps tutorial Agile Testing Days
Huib Schoots
 
Changing the context
Changing the contextChanging the context
Changing the contextHuib Schoots
 
Testnet JuBoCo boek introductie
Testnet JuBoCo boek introductieTestnet JuBoCo boek introductie
Testnet JuBoCo boek introductie
Huib Schoots
 
Boost your testing power with Exploration
Boost your testing power with ExplorationBoost your testing power with Exploration
Boost your testing power with Exploration
Huib Schoots
 
So you think you can test?
So you think you can test?So you think you can test?
So you think you can test?
Huib Schoots
 

More from Huib Schoots (13)

Testing in modern times a story about quality and value - agile testing dev ...
Testing in modern times  a story about quality and value - agile testing dev ...Testing in modern times  a story about quality and value - agile testing dev ...
Testing in modern times a story about quality and value - agile testing dev ...
 
A road to awesomeness
A road to awesomenessA road to awesomeness
A road to awesomeness
 
Telling the testing story - Storytelling voor testers (DUTCH)
Telling the testing story - Storytelling voor testers (DUTCH)Telling the testing story - Storytelling voor testers (DUTCH)
Telling the testing story - Storytelling voor testers (DUTCH)
 
Exploratory testing
Exploratory testingExploratory testing
Exploratory testing
 
Where words fail music speaks
Where words fail music speaksWhere words fail music speaks
Where words fail music speaks
 
Succesful Testing The Continuous Delivery Process
Succesful Testing The Continuous Delivery ProcessSuccesful Testing The Continuous Delivery Process
Succesful Testing The Continuous Delivery Process
 
Set your course
Set your courseSet your course
Set your course
 
Thinking and working visually for software testers
Thinking and working visually for software testersThinking and working visually for software testers
Thinking and working visually for software testers
 
Mind maps tutorial Agile Testing Days
Mind maps tutorial Agile Testing DaysMind maps tutorial Agile Testing Days
Mind maps tutorial Agile Testing Days
 
Changing the context
Changing the contextChanging the context
Changing the context
 
Testnet JuBoCo boek introductie
Testnet JuBoCo boek introductieTestnet JuBoCo boek introductie
Testnet JuBoCo boek introductie
 
Boost your testing power with Exploration
Boost your testing power with ExplorationBoost your testing power with Exploration
Boost your testing power with Exploration
 
So you think you can test?
So you think you can test?So you think you can test?
So you think you can test?
 

Recently uploaded

Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
Green Software Development
 
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
rodomar2
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
Peter Muessig
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
Grant Fritchey
 
What’s New in Odoo 17 – A Complete Roadmap
What’s New in Odoo 17 – A Complete RoadmapWhat’s New in Odoo 17 – A Complete Roadmap
What’s New in Odoo 17 – A Complete Roadmap
Envertis Software Solutions
 
UI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design SystemUI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design System
Peter Muessig
 
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
dakas1
 
How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?
ToXSL Technologies
 
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
Bert Jan Schrijver
 
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesE-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
Quickdice ERP
 
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemUI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
Peter Muessig
 
Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...
Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...
Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...
Paul Brebner
 
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSISDECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
Tier1 app
 
Enhanced Screen Flows UI/UX using SLDS with Tom Kitt
Enhanced Screen Flows UI/UX using SLDS with Tom KittEnhanced Screen Flows UI/UX using SLDS with Tom Kitt
Enhanced Screen Flows UI/UX using SLDS with Tom Kitt
Peter Caitens
 
INTRODUCTION TO AI CLASSICAL THEORY TARGETED EXAMPLES
INTRODUCTION TO AI CLASSICAL THEORY TARGETED EXAMPLESINTRODUCTION TO AI CLASSICAL THEORY TARGETED EXAMPLES
INTRODUCTION TO AI CLASSICAL THEORY TARGETED EXAMPLES
anfaltahir1010
 
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
kalichargn70th171
 
The Rising Future of CPaaS in the Middle East 2024
The Rising Future of CPaaS in the Middle East 2024The Rising Future of CPaaS in the Middle East 2024
The Rising Future of CPaaS in the Middle East 2024
Yara Milbes
 
Migration From CH 1.0 to CH 2.0 and Mule 4.6 & Java 17 Upgrade.pptx
Migration From CH 1.0 to CH 2.0 and  Mule 4.6 & Java 17 Upgrade.pptxMigration From CH 1.0 to CH 2.0 and  Mule 4.6 & Java 17 Upgrade.pptx
Migration From CH 1.0 to CH 2.0 and Mule 4.6 & Java 17 Upgrade.pptx
ervikas4
 
Modelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - AmsterdamModelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - Amsterdam
Alberto Brandolini
 
Kubernetes at Scale: Going Multi-Cluster with Istio
Kubernetes at Scale:  Going Multi-Cluster  with IstioKubernetes at Scale:  Going Multi-Cluster  with Istio
Kubernetes at Scale: Going Multi-Cluster with Istio
Severalnines
 

Recently uploaded (20)

Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
 
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
 
What’s New in Odoo 17 – A Complete Roadmap
What’s New in Odoo 17 – A Complete RoadmapWhat’s New in Odoo 17 – A Complete Roadmap
What’s New in Odoo 17 – A Complete Roadmap
 
UI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design SystemUI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design System
 
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
 
How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?
 
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
 
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesE-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
 
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemUI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
 
Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...
Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...
Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...
 
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSISDECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
 
Enhanced Screen Flows UI/UX using SLDS with Tom Kitt
Enhanced Screen Flows UI/UX using SLDS with Tom KittEnhanced Screen Flows UI/UX using SLDS with Tom Kitt
Enhanced Screen Flows UI/UX using SLDS with Tom Kitt
 
INTRODUCTION TO AI CLASSICAL THEORY TARGETED EXAMPLES
INTRODUCTION TO AI CLASSICAL THEORY TARGETED EXAMPLESINTRODUCTION TO AI CLASSICAL THEORY TARGETED EXAMPLES
INTRODUCTION TO AI CLASSICAL THEORY TARGETED EXAMPLES
 
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
 
The Rising Future of CPaaS in the Middle East 2024
The Rising Future of CPaaS in the Middle East 2024The Rising Future of CPaaS in the Middle East 2024
The Rising Future of CPaaS in the Middle East 2024
 
Migration From CH 1.0 to CH 2.0 and Mule 4.6 & Java 17 Upgrade.pptx
Migration From CH 1.0 to CH 2.0 and  Mule 4.6 & Java 17 Upgrade.pptxMigration From CH 1.0 to CH 2.0 and  Mule 4.6 & Java 17 Upgrade.pptx
Migration From CH 1.0 to CH 2.0 and Mule 4.6 & Java 17 Upgrade.pptx
 
Modelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - AmsterdamModelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - Amsterdam
 
Kubernetes at Scale: Going Multi-Cluster with Istio
Kubernetes at Scale:  Going Multi-Cluster  with IstioKubernetes at Scale:  Going Multi-Cluster  with Istio
Kubernetes at Scale: Going Multi-Cluster with Istio
 

Context-driven testing in an agile context – A happy marriage?

  • 1. ... A happy marriage ? Context-driven testing in an agile context Huib Schoots Dutch Testing Conference 2014
  • 2. Topics • Testing • Context-driven testing • Agile testing • Test automation • Great testers • Happy Marriage?
  • 3. What is testing? The process consisting of all lifecycle activities, both static and dynamic, concerned with planning, preparation and evaluation of software products and related work products to determine that they satisfy specified requirements, to demonstrate that they are fit for purpose and to detect defects. (ISTQB) Testing is a process that provides insight into, and advice on, quality and the related risks. (TMap)
  • 4. What is testing? Testing gathers information about a product with the intention to inform a decision (Jerry Weinberg) Questioning a product in order to evaluate it (James Bach) Testers light the way (RST) Testers see things for what they are. They make informed decisions about quality possible, because they think critically about software (RST) Skillful investigation by experimentation (Joris Meerts)
  • 5. Testing and checking • Testing is the process of evaluating a product by learning about it through experimentation, which includes to some degree: questioning, study, modeling, observation and inference. • Checking is the process of making evaluations by applying algorithmic decision rules to specific observations of a product. Source: http://www.satisfice.com/blog/archives/856
  • 6. Testing and checking Source: http://www.satisfice.com/blog/archives/856 Human checking Machine checking Human/machine checking Learning by experimenting, including study, questioning, modeling, observation, interference, etc. Testing
  • 7. What is context-driven testing? • A paradigm • A community • An approach Context-driven testing means that to be effective, testing must consider context first and continuously. A group of people who consider testing as a human activity to solve a complex and difficult problem that requires a lot of skill. Therefore they continuously study their craft seriously, practice a lot and refuse to do bad work. The model by which I understand, experience, value, explain and categorize good testing. Source: http://www.satisfice.com/presentations/context-driven.pdf
  • 8. The 7 principles of Context-driven Testing 1. The value of any practice depends on its context. 2. There are good practices in context, but there are no best practices. 3. People, working together, are the most important part of any project's context. 4. Projects unfold over time in ways that are often not predictable. 5. The product is a solution. If the problem isn't solved, the product doesn't work. 6. Good software testing is a challenging intellectual process. 7. 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. Source: http://context-driven-testing.com/
  • 9. The context-driven values • Humanist • Skeptical • Empiricist • Adaptable • Diversified • Heuristic • Ethical • Personal Source: Keynote presentation by Michael Bolton CopenhagenContext 2014
  • 10. An example: RST The Premises of Rapid Testing: 1. Software projects and products are relationships between people, who are creatures both of emotion and rational thought. 2. Each project occurs under conditions of uncertainty and time pressure. 3. Despite our best hopes and intentions, some degree of inexperience, carelessness, and incompetence is normal. 4. A test is an activity; it is performance, not artifacts. 5. Testing’s purpose is to discover the status of the product and any threats to its value, so that our clients can make informed decisions about it. 6. We commit to performing credible, cost-effective testing, and we will inform our clients of anything that threatens that commitment. 7. We will not knowingly or negligently mislead our clients and colleagues. 8. Testers accept responsibility for the quality of their work, although they cannot control the quality of the product. Source: http://www.satisfice.com/rst.pdf
  • 11. Agile testing? • What makes testing agile? The testing itself is not so much different, it is the context in which you do the testing is different! We explained how agile testing, with its focus on business value and delivering the quality customers require, is different from traditional testing, which focuses on conformance to requirements. (Agile Testing - A Practical Guide for Testers and Agile Teams - Lisa Crispin, Janet Gregory)
  • 12. Some differences… • Less time to prepare, execute and report • Iterative and incremental approach • Focus on test check automation • Role change: less testing, more coaching • Less certainty: change is common • Team work • Continuous critical thinking Source: http://www.huibschoots.nl/wordpress/?p=1072
  • 13. Agile testing to some… • TDD • ATDD, BDD, Specification by example • 100% test automation • No more testers • Built-in quality • Faster, shorter, better! Individuals and interactions over processes and tools
  • 14. Test pyramid Acceptance Tests (API layer) Unit Tests / component tests GUI Tests Manual Tests
  • 15. Test automation • You can only automate a check • Expected results are needed • What about unexpected stuff? • No learning, only fact checking… Check
  • 16. Gone wrong: testing ice cone! Acceptance Tests (API layer) GUI Tests Unit Tests Manual Tests
  • 17. Who should do the test automation? • Testers? • Programmers? • Both? Test skills Programming skills Somebody who has the skills! check
  • 18. Great testers • A tester is somebody who knows that things can be different. (Jerry Weinberg) • A good tester is able to see the complexity of things that seem simple and the simplicity of things that appear complex. (Michael Bolton) • Aiming to become a world-class tester does not mean reaching a destination, but rather being on a constant journey into new territories.(Ilari Henrik Aegerter)
  • 19. Great testers • Testing is about questioning and learning under conditions of fundamental uncertainty • Testing is a performance • Because testing is a solution to a very difficult problem, it must be tailored to the context of the project, and therefore testing is a human activity that requires a great deal of skill to do well. That’s why we must study it seriously. We must practice our craft. Context-driven testers strive to become the Jedi knights of testing.
  • 20. Become a great tester… 1. Adapt to the context 2. Collaborate 3. Learn & practice 4. Passion 5. Have courage 6. Be curious & sceptical Content Attitude
  • 21. Steve Jobs' 2005 Stanford Commencement Address http://news.stanford.edu/news/2005/june15/jobs-061505.html
  • 22. How I became better… • I really love what I do: testing is fun! • I refuse to do bad work and stand up for what I believe • Rapid Software Testing • BBST • Skype Coaching • Become part of the community • Twitter • Conferences: Let’s Test, CAST, TestBash and many more • Learn, practice, explore • Testing dojos, weekend testing, Miagi-Do • Read blogs (http://www.huibschoots.nl/wordpress/?p=1450) • Read books (http://www.huibschoots.nl/wordpress/?p=1361)
  • 24. Happy marriage? • Focus on humans Individuals and interactions over processes and tools People, working together, are the most important part of any project’s context • Projects are uncertain Responding to change over following a plan Projects unfold over time in ways that are often not predictable • Problem solving Working software over comprehensive documentation The product is a solution. If the problem isn’t solved, the product doesn’t work • Collaboration Customer collaboration over contract negotiation 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
  • 25. Where it could go wrong… • When agile is considered developers only, no documentation, no planning, no discipline, xDD as a methodology, automate everything… • Testing is devalued as best practice, process with some artifacts like “pushing buttons” and the believe “everybody can test”…
  • 26. Read more • Open Letter to EuroSTAR organizers – testing introduction - http://thetesteye.com/blog/2013/03/open-letter-to-eurostar-organizers- testing-introduction/ (Testing) • Misconceptions about testing - http://www.huibschoots.nl/wordpress/?p=1118 (Testing) • Quality: Not Merely The Absence Of Bugs - http://www.developsense.com/blog/2009/02/quality-not-merely-absence-of-bugs/ (Testing) • Testing & Checking - http://www.satisfice.com/blog/archives/856 (Testing and checking) • Test Cases Are Not Testing: Toward a Culture of Test Performance” by James Bach & Aaron Hodder - http://www.testingcircus.com/documents/TestingTrapeze-2014-February.pdf (Testing is a performance) • A test is a performance - http://www.satisfice.com/blog/archives/1346 (Testing is a performance) • Context-driven Testing - http://www.developsense.com/presentations/2011-08-CAST-ContextDrivenTesting.pdf (Context-driven testing) • What is context-driven testing? - http://kaner.com/?p=49 (Context-driven testing) • What being a Context-Driven Tester means to me - http://testingreflections.com/node/8657 (Context-driven testing) • What makes agile testing different? - http://www.huibschoots.nl/wordpress/?p=1072 (Agile testing) • Becoming a World-Class Tester - www.ebaytechblog.com/2013/01/31/becoming-a-world-class-tester/ (Great testers) • You can learn testing - http://www.huibschoots.nl/wordpress/?p=373 (Great testers) • The Dual Nature of Context-Driven Testing - http://www.satisfice.com/blog/archives/565 (Great testers) • How to become a great tester - My talk at CopenhagenContext 2014: goo.gl/V5kknu (Attitude) • So you think you can test - My talk at Let’s Test 2012: goo.gl/CYgBxR (Learning & practice) • A tester’s syllabus by James Bach - http://www.satisfice.com/images/testsyllabus.pdf (Skills) • Agile Test Automation by James Bach - www.satisfice.com/articles/agileauto-paper.pdf (Agile Test Automation) • The Forgotten Layer of the Test Automation Pyramid - http://www.mountaingoatsoftware.com/blog/the-forgotten-layer-of-the-test- automation-pyramid (Test Automation Pyramid) • Can Exploratory Testing Be Automated? - http://www.developsense.com/blog/2010/09/can-exploratory-testing-be-automated/ (Test automation & exploratory testing) • Man and machine - http://www.kohl.ca/articles/ManandMachine_BetterSoftware_Dec2007.pdf (Test Automation) • Is Unit Testing Automated? - http://www.developsense.com/blog/2010/06/questions-from-listeners-2-is-unit-testing-automated/ (Test Automation) • Manual and automated testing - http://www.developsense.com/blog/2013/02/manual-and-automated-testing/ (Test Automation) • More great resources: http://www.huibschoots.nl/links (More links)
  • 27. huib.schoots@improveqs.nl @huibschoots www.huibschoots.nl/blog Laan van Diepenvoorde 1 5582 LA Waalre The Netherlands Tel: +31 40 2021803

Editor's Notes

  1. Steve Jobs' 2005 Stanford Commencement Address http://news.stanford.edu/news/2005/june15/jobs-061505.html
  2. | 3314 DA Dordrecht