SlideShare a Scribd company logo
1 of 35
Two Futures of Software Testing
Michael Bolton
DevelopSense
EuroSTAR
November, 2008
Who I Am
Michael Bolton
(not the singer, not the guy in Office Space)
DevelopSense, Toronto, Canada
mb@developsense.com
+1 (416) 992-8378
http://www.developsense.com
Acknowledgements
 James Bach
− some of the material comes from the Rapid
Software Testing Course, of which James is the
senior author and I am co-author
 Cem Kaner
 Bret Pettichord
 Jerry Weinberg
 Richard Feynman
Ground Rules
 There are many strong opinions expressed in
this presentation
 You are welcome and encouraged to
challenge and debate them at any time
− you can share them, too, of course
 It’s up to you to decide whether to apply these
ideas in your context
− don’t let anyone (other than, perhaps, your boss) tell you
what to do
What is Testing?
 Testing is
 questioning
 the product
 in order to evaluate it
--- James Bach
This is the operational definition that we use
when we’re talking amongst skilled testers.
What is Testing?
 Testing is a process of
 empirical
 technical
 investigation
 done on behalf of stakeholders
 with the intention of revealing
 quality-related information
 of the kind that they seek
This is the definition that we use when we’re
trying to emphasize that testers need skills.
--- Cem Kaner
These definitions are not intended to disagree.
The Four Schools of Testing
 Bret Pettichord, The Four Schools of Software
Testing. Presentation at the Workshop on Teaching
Software Testing, Melbourne, FL, 2003.
− http://www.testingeducation.org/conference/wtst_pettichord_FSofST2.pdf
 This was an important attempt to understand testing
cultures and communities and their principles
 It’s most useful when the communities are viewed
sympathetically
The Four Schools of Testing
 The Analytical or Mathematical School
− testing is fundamentally an analytical activity; programs can be proven
correct by flowcharts and formulae
 The Routine or Process School
− testing should be procedurally structured an repeatable, not dependent
upon individuals
 The Quality Control School
− testers are the owners of quality on the project
 The Context-Driven School
− testing must respond and adapt to context
− the other schools may have valuable things to teach us
− nothing will guarantee perfect testing
The Dark Future:
The Plan is Everything
 Testing shall be a rigorously planned and
controlled process
− all planning and tests prepared in advance
− we test only according to documented requirements
− all testing is verification testing
 All projects shall take two years (minimum) to
give us time to plan
 All requests for change politely refused
The Dark Future:
Change is Controlled
 Nothing is more important than following
our process strictly
− our clients will understand, of course
− if they have want to change the requirements, they
should have known that from the beginning
 By insisting that requirements don’t
change, we can eradicate project risk
The Dark Future:
Measurement
 We measure
− requirements scope by counting requirements
− developer output by counting lines of code
− complexity by counting code branches
− test coverage by counting test cases
− product quality by counting bugs
− the value of testers by counting bug reports
The Dark Future:
Putting The Testers In Charge
 Testers are the quality gatekeepers
 Testers refuse to test until they have been
supplied with complete, unambiguous, up-to-
date requirements documents
 Testers “sign off” on project readiness
 Testers can block releases
The Dark Future:
Promoting Orthodoxy
 Testers must be certified
 Testing doesn’t require skilled labour
 All testers have the same skills
 Testers must be isolated from developers
 All tests must be scripted
 Ad hoc testing is banned; variation suppressed
 Exploration and investigation are luxuries that
we cannot afford
The Dark Future:
Automation is King
 Humans are too fallible to detect defects
 By eliminating the human element, we
can eliminate variability and uncertainty
 Sure, automation takes time and effort to
prepare, therefore…
 …we must slow down development to let
testing (particularly automation) catch up
The Dark Future:
Pathologies
 Places knowledge and learning up front, at the
beginning of the project
− when we know the least about it!
 Thinking and learning through the project are ignored
 Treats testing as unskilled work
 Machines are trusted; human cognition is devalued
 Measurement is riddled with basic critical thinking
errors
− primarily reification error and rotten construct validity
The Dark Future:
Pathologies
 Testers implicitly run the project when it’s convenient
for management to let them
 Even though testers are essentially powerless, they do
get blamed for lapses
− even though bugs have been created by others
− even though bugs are hidden
 When testers fail, it’s because
− they should have better requirements,
− they should have told their bosses and developers what to do
The worst thing about
the dark future is…
The Bright Future:
Skill Is Central
 Tester skill is at the centre of testing
 Important skills include
− critical thinking – recognizing bias and thinking errors
− general systems thinking – coping with complexity
− context-driven thinking – coping with changing situations
− scientific thinking – designing and performing experiments
− cognitive skills – learning and using lots of observational modes
− writing, recording, and reporting
− diversification of skills and tactics
− rapid learning
− programming
− but not necessarily for all testers
What IS Quality?
 Value is what someone will do (or pay)
to have their requirements met
 Quality is necessarily subjective
 Decisions about quality are political
decisions
− who has the power and authority to make them?
Quality is value to some person.
---Jerry Weinberg
The Bright Future:
Testing is a Service
 Testing provides services for the rest of the project
community
 The primary role of testing is to provide quality-related
information to management
 Testers do excellent work
− with insufficient or barely sufficient information
− under extreme time pressure
− with the tools that are available (or that they develop quickly)
− in a way that stands up to scrutiny
− even when everyone else is breaking the rules
 Management makes management decisions
The Bright Future:
Information In Context
 Testers are expert communicators
 Testers identify and frame context
− to make sure that testing matches the mission
 Testers seek alternative test approaches, explanations,
and perspectives
− to reduce the possibility that we’ll miss important problems
 Testers are skeptical (but not cynical) empiricists
 Testers reject bogus metrics
− most metrics that we currently use in testing are bogus
− see Kaner and Bond, “Software Engineering Metrics: What Do They
Measure and How Do We Know?”
The Bright Future:
Test Activities
 Testers actively question the product in order to
evaluate it
 Testers focus on risk
 Testers continuously develop new questions
 Testing is investigative, as well as confirmatory
− as in the agile model, developers handle the bulk of the
confirmatory testing effort at the unit level…
− where automation is inexpensive and feedback is immediate
 Testers develop skill in exploratory testing
− parallel test design, test execution, and learning
The Bright Future:
Change Happens
 Testers expect and embrace change
 Confirmatory testing serves as a change detector
− We would love it if the developers embraced unit tests and TDD
− …because it would allow us to obtain greater coverage in less time
− …but ultimately that’s their business (and management’s), NOT ours
 Investigative testing changes rapidly depending on what is
being investigated and discovered, so test artifacts are
− lightweight, where appropriate
− efficient (leaving us more time to run tests)
− produced in service of a genuine purpose
− not clerical or bureaucratic
− not overinvested
− not wasteful
The Bright Future:
Machines Do Mechanical Work
 Automation assists the testing effort
− machines do high-speed, simple-oracle tasks
− people do high-skill, high-cognition tasks
 Testers do not work from scripts
− testers do excellent work with concise guidance
− where recording is important, keep records
 Testers work from far more than requirements
documents
− testers apply inference, conference, and reference heuristics
− testers are general-systems thinkers
The Bright Future:
Testers Collaborate
 Many (even most) testers are co-located with
developers
 Testers provide extremely rapid feedback
 Testers and developers collaborate on
testability
− controllability (scriptable interfaces, easy reconfiguration)
− visibility (on-screen status, log files)
 Many testers learn to program
− many, but not all
− most testers learn regular expressions and spreadsheet skills
The Bright Future:
Narratives vs. Numbers
 Testers compose, edit, and narrate cogent stories
− about the product
− how it can work
− how it might fail
− and about their testing
− what they did, and why
− what they didn’t do, and why
− and why the testing was good enough
 Test managers encourage management to reject
deceptive quantitative measures
− example: counting test cases
− example: counting bugs
 Testers don’t supply numbers without a story
The Bright Future:
Testers Focus on the Mission
 If the mission requires lots of documentation and
data, we supply it
− but we regularly check to make sure that it’s adding value
− I guarantee that someone will leave this presentation claiming that I
advocate no documentation, ever
− I don’t advocate that, and this is the documented proof
− I advocate no documentation that wastes time and effort
 If the mission requires lots of automated testing, we
develop it
− but we don’t stop brain-engaged exploratory tests
 If the mission requires us to suspend our skills, we do
− on the understanding that someone else is responsible for the quality of
our work
This is our role.
We see things for what they are.
We make informed decisions about quality possible,
because we think critically about software.
We let management make those decisions.
Testers Light The Way
We also think critically about our own work.
We question our context and our choices,
both of which evolve over time.
We question testing folklore.
Testing is NOT mythodology.
Testers Light The Way
Learning More:
Finding Bugs
 Lessons Learned in Software Testing
− by Cem Kaner, James Bach, and Bret Pettichord
 Testing Computer Software
− Cem Kaner, Jack Falk, and Hung Quoc Nguyen
 How to Break Software
− Whittaker
 How to Break Software Security
− Whittaker and Thompson
 Testing Applications on the Web
− Hung Quoc Nguyuen
 Hacking Web Applications Exposed
− Joel Scambray and Mike Shema
Learning More:
Testing Philosophy
 The Pleasure of Finding Things Out
− Richard Feynman. Read his Appendix to the Challenger Report.
 Surely You’re Joking, Dr. Feynman! Adventures of a
Curious Character
− Richard Feynman
 What Do You Care About What Other People Think?
− Richard Feynman
 Quality Software Management Vols. 1 – 4
− Jerry Weinberg
 Anything by Jerry Weinberg
Learning More:
Other Wonderful Stuff
• Please Understand Me
• David Kiersey
• The Myers-Briggs Type Inventory, which provides insight into your own
preferences and why other people seem to think so strangely
• The Visual Display of Quantitative Information
• Edward Tufte
• How to present information in persuasive, compelling, and beautiful ways
• A Pattern Language
• Christopher Alexander et. al
• A book about architecture
• even more interesting as a book about thinking and creating similar but unique
things—like computer programs and tests for them
• Better Software
• a most unfortunate name of a most wonderful magazine
• The Amplifying Your Effectiveness Conference
• held every November in Phoenix, AZ
• See http://www.ayeconference.com for details
Learning More:
On the Net
• StickyMinds http://www.StickyMinds.com
• Risks Digest http://catless.ncl.ac.uk/risks
• Cem Kaner http://www.kaner.com
• James Bach http://www.satisfice.com
• Michael Bolton http://www.developsense.com
• The Florida Institute of Technology
• http://www.testingeducation.org
• http://www.testingeducation.org/BBST/index.html
Our Work Is Never Done…
Who I Am
Michael Bolton
(not the singer, not the guy in Office Space)
DevelopSense, Toronto, Canada
mb@developsense.com
+1 (416) 992-8378
http://www.developsense.com

More Related Content

What's hot

Using Functional ,Test Automation to Prevent Defects from Escaping the Develo...
Using Functional ,Test Automation to Prevent Defects from Escaping the Develo...Using Functional ,Test Automation to Prevent Defects from Escaping the Develo...
Using Functional ,Test Automation to Prevent Defects from Escaping the Develo...
TEST Huddle
 
Michael Roar Borlund & Christian Carlsen - Real Exploratory Testing, Now With...
Michael Roar Borlund & Christian Carlsen - Real Exploratory Testing, Now With...Michael Roar Borlund & Christian Carlsen - Real Exploratory Testing, Now With...
Michael Roar Borlund & Christian Carlsen - Real Exploratory Testing, Now With...
TEST Huddle
 

What's hot (20)

Gustav Olsson - Agile - Common Sense with a New Name Tag revised
Gustav Olsson - Agile - Common Sense with a New Name Tag revisedGustav Olsson - Agile - Common Sense with a New Name Tag revised
Gustav Olsson - Agile - Common Sense with a New Name Tag revised
 
Paula O' Grady - Prioritising tests? - Use Your Gut Instinct
Paula O' Grady - Prioritising tests? - Use Your Gut InstinctPaula O' Grady - Prioritising tests? - Use Your Gut Instinct
Paula O' Grady - Prioritising tests? - Use Your Gut Instinct
 
Vipul Kocher - Software Testing, A Framework Based Approach
Vipul Kocher - Software Testing, A Framework Based ApproachVipul Kocher - Software Testing, A Framework Based Approach
Vipul Kocher - Software Testing, A Framework Based Approach
 
Using Functional ,Test Automation to Prevent Defects from Escaping the Develo...
Using Functional ,Test Automation to Prevent Defects from Escaping the Develo...Using Functional ,Test Automation to Prevent Defects from Escaping the Develo...
Using Functional ,Test Automation to Prevent Defects from Escaping the Develo...
 
Christian Bk Hansen - Agile on Huge Banking Mainframe Legacy Systems - EuroST...
Christian Bk Hansen - Agile on Huge Banking Mainframe Legacy Systems - EuroST...Christian Bk Hansen - Agile on Huge Banking Mainframe Legacy Systems - EuroST...
Christian Bk Hansen - Agile on Huge Banking Mainframe Legacy Systems - EuroST...
 
Otto Vinter - Analysing Your Defect Data for Improvement Potential
Otto Vinter - Analysing Your Defect Data for Improvement PotentialOtto Vinter - Analysing Your Defect Data for Improvement Potential
Otto Vinter - Analysing Your Defect Data for Improvement Potential
 
Elise Greveraars - Tester Needed? No Thanks, We Use MBT!
Elise Greveraars - Tester Needed? No Thanks, We Use MBT!Elise Greveraars - Tester Needed? No Thanks, We Use MBT!
Elise Greveraars - Tester Needed? No Thanks, We Use MBT!
 
Geoff Thompson - Why Do We Bother With Test Strategies
Geoff Thompson - Why Do We Bother With Test StrategiesGeoff Thompson - Why Do We Bother With Test Strategies
Geoff Thompson - Why Do We Bother With Test Strategies
 
Michael Roar Borlund & Christian Carlsen - Real Exploratory Testing, Now With...
Michael Roar Borlund & Christian Carlsen - Real Exploratory Testing, Now With...Michael Roar Borlund & Christian Carlsen - Real Exploratory Testing, Now With...
Michael Roar Borlund & Christian Carlsen - Real Exploratory Testing, Now With...
 
Kasper Hanselman - Imagination is More Important Than Knowledge
Kasper Hanselman - Imagination is More Important Than KnowledgeKasper Hanselman - Imagination is More Important Than Knowledge
Kasper Hanselman - Imagination is More Important Than Knowledge
 
James Whittaker - Pursuing Quality-You Won't Get There - EuroSTAR 2011
James Whittaker - Pursuing Quality-You Won't Get There - EuroSTAR 2011James Whittaker - Pursuing Quality-You Won't Get There - EuroSTAR 2011
James Whittaker - Pursuing Quality-You Won't Get There - EuroSTAR 2011
 
Julian Harty - Alternatives To Testing - EuroSTAR 2010
Julian Harty - Alternatives To Testing - EuroSTAR 2010Julian Harty - Alternatives To Testing - EuroSTAR 2010
Julian Harty - Alternatives To Testing - EuroSTAR 2010
 
Klaus Olsen - Agile Test Management Using Scrum
Klaus Olsen - Agile Test Management Using ScrumKlaus Olsen - Agile Test Management Using Scrum
Klaus Olsen - Agile Test Management Using Scrum
 
Clive Bates - A Pragmatic Approach to Improving Your Testing Process - EuroST...
Clive Bates - A Pragmatic Approach to Improving Your Testing Process - EuroST...Clive Bates - A Pragmatic Approach to Improving Your Testing Process - EuroST...
Clive Bates - A Pragmatic Approach to Improving Your Testing Process - EuroST...
 
Mattias Diagl - Low Budget Tooling - Excel-ent
Mattias Diagl - Low Budget Tooling - Excel-entMattias Diagl - Low Budget Tooling - Excel-ent
Mattias Diagl - Low Budget Tooling - Excel-ent
 
Darius Silingas - From Model Driven Testing to Test Driven Modelling
Darius Silingas - From Model Driven Testing to Test Driven ModellingDarius Silingas - From Model Driven Testing to Test Driven Modelling
Darius Silingas - From Model Driven Testing to Test Driven Modelling
 
Ruud Teunissen - Personal Test Improvement - Dealing with the Future
Ruud Teunissen - Personal Test Improvement -  Dealing with the FutureRuud Teunissen - Personal Test Improvement -  Dealing with the Future
Ruud Teunissen - Personal Test Improvement - Dealing with the Future
 
Martin Koojj - Testers in the Board of Directors
Martin Koojj - Testers in the Board of DirectorsMartin Koojj - Testers in the Board of Directors
Martin Koojj - Testers in the Board of Directors
 
Thomas Axen - Lean Kaizen Applied To Software Testing - EuroSTAR 2010
Thomas Axen - Lean Kaizen Applied To Software Testing - EuroSTAR 2010Thomas Axen - Lean Kaizen Applied To Software Testing - EuroSTAR 2010
Thomas Axen - Lean Kaizen Applied To Software Testing - EuroSTAR 2010
 
Doron Reuveni - The Mobile App Quality Challenge - EuroSTAR 2010
Doron Reuveni - The Mobile App Quality Challenge - EuroSTAR 2010Doron Reuveni - The Mobile App Quality Challenge - EuroSTAR 2010
Doron Reuveni - The Mobile App Quality Challenge - EuroSTAR 2010
 

Similar to Michael Bolton - Two Futures of Software Testing

Exploratory testing
Exploratory testingExploratory testing
Exploratory testing
Huib Schoots
 

Similar to Michael Bolton - Two Futures of Software Testing (20)

! Testing for agile teams
! Testing for agile teams! Testing for agile teams
! Testing for agile teams
 
Exploratory testing
Exploratory testingExploratory testing
Exploratory testing
 
Fundamentals of Testing Section 1/6
Fundamentals of Testing   Section 1/6Fundamentals of Testing   Section 1/6
Fundamentals of Testing Section 1/6
 
[Paul Holland] Trends in Software Testing
[Paul Holland] Trends in Software Testing[Paul Holland] Trends in Software Testing
[Paul Holland] Trends in Software Testing
 
Software Testing 2/5
Software Testing 2/5Software Testing 2/5
Software Testing 2/5
 
QA process Presentation
QA process PresentationQA process Presentation
QA process Presentation
 
Антон Мужайло, «Using the test process improvement models. Case study based o...
Антон Мужайло, «Using the test process improvement models. Case study based o...Антон Мужайло, «Using the test process improvement models. Case study based o...
Антон Мужайло, «Using the test process improvement models. Case study based o...
 
Using the test process improvement models. Case study based on TPI Next model...
Using the test process improvement models. Case study based on TPI Next model...Using the test process improvement models. Case study based on TPI Next model...
Using the test process improvement models. Case study based on TPI Next model...
 
New model
New modelNew model
New model
 
A New Model For Testing
A New Model For TestingA New Model For Testing
A New Model For Testing
 
Schools of software testing
Schools of software testingSchools of software testing
Schools of software testing
 
Exploratory Testing: Make It Part of Your Test Strategy
Exploratory Testing: Make It Part of Your Test StrategyExploratory Testing: Make It Part of Your Test Strategy
Exploratory Testing: Make It Part of Your Test Strategy
 
Design testabilty
Design testabiltyDesign testabilty
Design testabilty
 
New Model Testing: A New Test Process and Tool
New Model Testing:  A New Test Process and ToolNew Model Testing:  A New Test Process and Tool
New Model Testing: A New Test Process and Tool
 
Rapid Software Testing: Strategy
Rapid Software Testing: StrategyRapid Software Testing: Strategy
Rapid Software Testing: Strategy
 
Exploratory Testing Explained and Experienced
Exploratory Testing Explained and ExperiencedExploratory Testing Explained and Experienced
Exploratory Testing Explained and Experienced
 
Dare to Explore: Discover ET!
Dare to Explore: Discover ET!Dare to Explore: Discover ET!
Dare to Explore: Discover ET!
 
Exploratory Testing, A Guide Towards Better Test Coverage.pdf
Exploratory Testing, A Guide Towards Better Test Coverage.pdfExploratory Testing, A Guide Towards Better Test Coverage.pdf
Exploratory Testing, A Guide Towards Better Test Coverage.pdf
 
An analytical approach to effective risk based test planning
An analytical approach to effective risk based test planning An analytical approach to effective risk based test planning
An analytical approach to effective risk based test planning
 
Acceptance testing for rome
Acceptance testing for romeAcceptance testing for rome
Acceptance testing for rome
 

More from TEST Huddle

More from TEST Huddle (20)

Why We Need Diversity in Testing- Accenture
Why We Need Diversity in Testing- AccentureWhy We Need Diversity in Testing- Accenture
Why We Need Diversity in Testing- Accenture
 
Keys to continuous testing for faster delivery euro star webinar
Keys to continuous testing for faster delivery euro star webinar Keys to continuous testing for faster delivery euro star webinar
Keys to continuous testing for faster delivery euro star webinar
 
Why you Shouldnt Automated But You Will Anyway
Why you Shouldnt Automated But You Will Anyway Why you Shouldnt Automated But You Will Anyway
Why you Shouldnt Automated But You Will Anyway
 
Being a Tester in Scrum
Being a Tester in ScrumBeing a Tester in Scrum
Being a Tester in Scrum
 
Leveraging Visual Testing with Your Functional Tests
Leveraging Visual Testing with Your Functional TestsLeveraging Visual Testing with Your Functional Tests
Leveraging Visual Testing with Your Functional Tests
 
Using Test Trees to get an Overview of Test Work
Using Test Trees to get an Overview of Test WorkUsing Test Trees to get an Overview of Test Work
Using Test Trees to get an Overview of Test Work
 
Big Data: The Magic to Attain New Heights
Big Data:  The Magic to Attain New HeightsBig Data:  The Magic to Attain New Heights
Big Data: The Magic to Attain New Heights
 
Will Robots Replace Testers?
Will Robots Replace Testers?Will Robots Replace Testers?
Will Robots Replace Testers?
 
TDD For The Rest Of Us
TDD For The Rest Of UsTDD For The Rest Of Us
TDD For The Rest Of Us
 
Scaling Agile with LeSS (Large Scale Scrum)
Scaling Agile with LeSS (Large Scale Scrum)Scaling Agile with LeSS (Large Scale Scrum)
Scaling Agile with LeSS (Large Scale Scrum)
 
Creating Agile Test Strategies for Larger Enterprises
Creating Agile Test Strategies for Larger EnterprisesCreating Agile Test Strategies for Larger Enterprises
Creating Agile Test Strategies for Larger Enterprises
 
Is There A Risk?
Is There A Risk?Is There A Risk?
Is There A Risk?
 
Are Your Tests Well-Travelled? Thoughts About Test Coverage
Are Your Tests Well-Travelled? Thoughts About Test CoverageAre Your Tests Well-Travelled? Thoughts About Test Coverage
Are Your Tests Well-Travelled? Thoughts About Test Coverage
 
Growing a Company Test Community: Roles and Paths for Testers
Growing a Company Test Community: Roles and Paths for TestersGrowing a Company Test Community: Roles and Paths for Testers
Growing a Company Test Community: Roles and Paths for Testers
 
Do we need testers on agile teams?
Do we need testers on agile teams?Do we need testers on agile teams?
Do we need testers on agile teams?
 
How to use selenium successfully
How to use selenium successfullyHow to use selenium successfully
How to use selenium successfully
 
Testers & Teams on the Agile Fluency™ Journey
Testers & Teams on the Agile Fluency™ Journey Testers & Teams on the Agile Fluency™ Journey
Testers & Teams on the Agile Fluency™ Journey
 
Practical Test Strategy Using Heuristics
Practical Test Strategy Using HeuristicsPractical Test Strategy Using Heuristics
Practical Test Strategy Using Heuristics
 
Thinking Through Your Role
Thinking Through Your RoleThinking Through Your Role
Thinking Through Your Role
 
Using Selenium 3 0
Using Selenium 3 0Using Selenium 3 0
Using Selenium 3 0
 

Recently uploaded

%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
masabamasaba
 

Recently uploaded (20)

tonesoftg
tonesoftgtonesoftg
tonesoftg
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
 

Michael Bolton - Two Futures of Software Testing

  • 1. Two Futures of Software Testing Michael Bolton DevelopSense EuroSTAR November, 2008
  • 2. Who I Am Michael Bolton (not the singer, not the guy in Office Space) DevelopSense, Toronto, Canada mb@developsense.com +1 (416) 992-8378 http://www.developsense.com
  • 3. Acknowledgements  James Bach − some of the material comes from the Rapid Software Testing Course, of which James is the senior author and I am co-author  Cem Kaner  Bret Pettichord  Jerry Weinberg  Richard Feynman
  • 4. Ground Rules  There are many strong opinions expressed in this presentation  You are welcome and encouraged to challenge and debate them at any time − you can share them, too, of course  It’s up to you to decide whether to apply these ideas in your context − don’t let anyone (other than, perhaps, your boss) tell you what to do
  • 5. What is Testing?  Testing is  questioning  the product  in order to evaluate it --- James Bach This is the operational definition that we use when we’re talking amongst skilled testers.
  • 6. What is Testing?  Testing is a process of  empirical  technical  investigation  done on behalf of stakeholders  with the intention of revealing  quality-related information  of the kind that they seek This is the definition that we use when we’re trying to emphasize that testers need skills. --- Cem Kaner These definitions are not intended to disagree.
  • 7. The Four Schools of Testing  Bret Pettichord, The Four Schools of Software Testing. Presentation at the Workshop on Teaching Software Testing, Melbourne, FL, 2003. − http://www.testingeducation.org/conference/wtst_pettichord_FSofST2.pdf  This was an important attempt to understand testing cultures and communities and their principles  It’s most useful when the communities are viewed sympathetically
  • 8. The Four Schools of Testing  The Analytical or Mathematical School − testing is fundamentally an analytical activity; programs can be proven correct by flowcharts and formulae  The Routine or Process School − testing should be procedurally structured an repeatable, not dependent upon individuals  The Quality Control School − testers are the owners of quality on the project  The Context-Driven School − testing must respond and adapt to context − the other schools may have valuable things to teach us − nothing will guarantee perfect testing
  • 9. The Dark Future: The Plan is Everything  Testing shall be a rigorously planned and controlled process − all planning and tests prepared in advance − we test only according to documented requirements − all testing is verification testing  All projects shall take two years (minimum) to give us time to plan  All requests for change politely refused
  • 10. The Dark Future: Change is Controlled  Nothing is more important than following our process strictly − our clients will understand, of course − if they have want to change the requirements, they should have known that from the beginning  By insisting that requirements don’t change, we can eradicate project risk
  • 11. The Dark Future: Measurement  We measure − requirements scope by counting requirements − developer output by counting lines of code − complexity by counting code branches − test coverage by counting test cases − product quality by counting bugs − the value of testers by counting bug reports
  • 12. The Dark Future: Putting The Testers In Charge  Testers are the quality gatekeepers  Testers refuse to test until they have been supplied with complete, unambiguous, up-to- date requirements documents  Testers “sign off” on project readiness  Testers can block releases
  • 13. The Dark Future: Promoting Orthodoxy  Testers must be certified  Testing doesn’t require skilled labour  All testers have the same skills  Testers must be isolated from developers  All tests must be scripted  Ad hoc testing is banned; variation suppressed  Exploration and investigation are luxuries that we cannot afford
  • 14. The Dark Future: Automation is King  Humans are too fallible to detect defects  By eliminating the human element, we can eliminate variability and uncertainty  Sure, automation takes time and effort to prepare, therefore…  …we must slow down development to let testing (particularly automation) catch up
  • 15. The Dark Future: Pathologies  Places knowledge and learning up front, at the beginning of the project − when we know the least about it!  Thinking and learning through the project are ignored  Treats testing as unskilled work  Machines are trusted; human cognition is devalued  Measurement is riddled with basic critical thinking errors − primarily reification error and rotten construct validity
  • 16. The Dark Future: Pathologies  Testers implicitly run the project when it’s convenient for management to let them  Even though testers are essentially powerless, they do get blamed for lapses − even though bugs have been created by others − even though bugs are hidden  When testers fail, it’s because − they should have better requirements, − they should have told their bosses and developers what to do
  • 17. The worst thing about the dark future is…
  • 18. The Bright Future: Skill Is Central  Tester skill is at the centre of testing  Important skills include − critical thinking – recognizing bias and thinking errors − general systems thinking – coping with complexity − context-driven thinking – coping with changing situations − scientific thinking – designing and performing experiments − cognitive skills – learning and using lots of observational modes − writing, recording, and reporting − diversification of skills and tactics − rapid learning − programming − but not necessarily for all testers
  • 19. What IS Quality?  Value is what someone will do (or pay) to have their requirements met  Quality is necessarily subjective  Decisions about quality are political decisions − who has the power and authority to make them? Quality is value to some person. ---Jerry Weinberg
  • 20. The Bright Future: Testing is a Service  Testing provides services for the rest of the project community  The primary role of testing is to provide quality-related information to management  Testers do excellent work − with insufficient or barely sufficient information − under extreme time pressure − with the tools that are available (or that they develop quickly) − in a way that stands up to scrutiny − even when everyone else is breaking the rules  Management makes management decisions
  • 21. The Bright Future: Information In Context  Testers are expert communicators  Testers identify and frame context − to make sure that testing matches the mission  Testers seek alternative test approaches, explanations, and perspectives − to reduce the possibility that we’ll miss important problems  Testers are skeptical (but not cynical) empiricists  Testers reject bogus metrics − most metrics that we currently use in testing are bogus − see Kaner and Bond, “Software Engineering Metrics: What Do They Measure and How Do We Know?”
  • 22. The Bright Future: Test Activities  Testers actively question the product in order to evaluate it  Testers focus on risk  Testers continuously develop new questions  Testing is investigative, as well as confirmatory − as in the agile model, developers handle the bulk of the confirmatory testing effort at the unit level… − where automation is inexpensive and feedback is immediate  Testers develop skill in exploratory testing − parallel test design, test execution, and learning
  • 23. The Bright Future: Change Happens  Testers expect and embrace change  Confirmatory testing serves as a change detector − We would love it if the developers embraced unit tests and TDD − …because it would allow us to obtain greater coverage in less time − …but ultimately that’s their business (and management’s), NOT ours  Investigative testing changes rapidly depending on what is being investigated and discovered, so test artifacts are − lightweight, where appropriate − efficient (leaving us more time to run tests) − produced in service of a genuine purpose − not clerical or bureaucratic − not overinvested − not wasteful
  • 24. The Bright Future: Machines Do Mechanical Work  Automation assists the testing effort − machines do high-speed, simple-oracle tasks − people do high-skill, high-cognition tasks  Testers do not work from scripts − testers do excellent work with concise guidance − where recording is important, keep records  Testers work from far more than requirements documents − testers apply inference, conference, and reference heuristics − testers are general-systems thinkers
  • 25. The Bright Future: Testers Collaborate  Many (even most) testers are co-located with developers  Testers provide extremely rapid feedback  Testers and developers collaborate on testability − controllability (scriptable interfaces, easy reconfiguration) − visibility (on-screen status, log files)  Many testers learn to program − many, but not all − most testers learn regular expressions and spreadsheet skills
  • 26. The Bright Future: Narratives vs. Numbers  Testers compose, edit, and narrate cogent stories − about the product − how it can work − how it might fail − and about their testing − what they did, and why − what they didn’t do, and why − and why the testing was good enough  Test managers encourage management to reject deceptive quantitative measures − example: counting test cases − example: counting bugs  Testers don’t supply numbers without a story
  • 27. The Bright Future: Testers Focus on the Mission  If the mission requires lots of documentation and data, we supply it − but we regularly check to make sure that it’s adding value − I guarantee that someone will leave this presentation claiming that I advocate no documentation, ever − I don’t advocate that, and this is the documented proof − I advocate no documentation that wastes time and effort  If the mission requires lots of automated testing, we develop it − but we don’t stop brain-engaged exploratory tests  If the mission requires us to suspend our skills, we do − on the understanding that someone else is responsible for the quality of our work
  • 28. This is our role. We see things for what they are. We make informed decisions about quality possible, because we think critically about software. We let management make those decisions. Testers Light The Way
  • 29. We also think critically about our own work. We question our context and our choices, both of which evolve over time. We question testing folklore. Testing is NOT mythodology. Testers Light The Way
  • 30. Learning More: Finding Bugs  Lessons Learned in Software Testing − by Cem Kaner, James Bach, and Bret Pettichord  Testing Computer Software − Cem Kaner, Jack Falk, and Hung Quoc Nguyen  How to Break Software − Whittaker  How to Break Software Security − Whittaker and Thompson  Testing Applications on the Web − Hung Quoc Nguyuen  Hacking Web Applications Exposed − Joel Scambray and Mike Shema
  • 31. Learning More: Testing Philosophy  The Pleasure of Finding Things Out − Richard Feynman. Read his Appendix to the Challenger Report.  Surely You’re Joking, Dr. Feynman! Adventures of a Curious Character − Richard Feynman  What Do You Care About What Other People Think? − Richard Feynman  Quality Software Management Vols. 1 – 4 − Jerry Weinberg  Anything by Jerry Weinberg
  • 32. Learning More: Other Wonderful Stuff • Please Understand Me • David Kiersey • The Myers-Briggs Type Inventory, which provides insight into your own preferences and why other people seem to think so strangely • The Visual Display of Quantitative Information • Edward Tufte • How to present information in persuasive, compelling, and beautiful ways • A Pattern Language • Christopher Alexander et. al • A book about architecture • even more interesting as a book about thinking and creating similar but unique things—like computer programs and tests for them • Better Software • a most unfortunate name of a most wonderful magazine • The Amplifying Your Effectiveness Conference • held every November in Phoenix, AZ • See http://www.ayeconference.com for details
  • 33. Learning More: On the Net • StickyMinds http://www.StickyMinds.com • Risks Digest http://catless.ncl.ac.uk/risks • Cem Kaner http://www.kaner.com • James Bach http://www.satisfice.com • Michael Bolton http://www.developsense.com • The Florida Institute of Technology • http://www.testingeducation.org • http://www.testingeducation.org/BBST/index.html
  • 34. Our Work Is Never Done…
  • 35. Who I Am Michael Bolton (not the singer, not the guy in Office Space) DevelopSense, Toronto, Canada mb@developsense.com +1 (416) 992-8378 http://www.developsense.com