SlideShare uma empresa Scribd logo
1 de 36
TDD Refresh
A Small Step Forward for Test-
Driven Kind, and a New Kind of
Testing Library
Scott Bellware
Chief Systems Officer
Aptus Technologies
TDD Refresh
A Small Step Forward for Test-
Driven Kind, and a New Kind of
Testing Library
Scott Bellware
Chief Systems Officer
Aptus Technologies
TDD is Still
Poorly
Understood
(and poorly done)
developers still want credit for
TDD
one of the reasons that it is
becoming a cargo-culted, lost art
which defeats legitimate learning
and improvemnt efforts
Machinations
red, green, refactor are only
machinations
going through the motions
useful as fundamentals practice
drills
machinations are the things we
get stuck in when we get stuck
Subtle
easy to miss
difficult to grasp
finery
Crude
tangible
material
Stuck
intellectual materialism
not going beyond what you
already have (or know)
guaranteed by the existence of
mateiral
Transfer
crude things are easier to transfer
subtle things can’t be directly
transferred
breakthroughs have to be
experienced personally
be careful of expecting everything
to be directly transferable
the techniques that make the kind
of difference that matters can’t be
just given to you the way a tool
or a pattern can
Mastery
(the process, not the
destination)
Successive advances are
increasingly more subtle
Mastery
Mastery Curve
Advances require ever-more
subtlety and fine control, but yield
exponential improvements
What is TDD for then?
“TDD is Design”
but what is design?
and what kind of design is “good”
and how can you build a process
to learn it and reinforce it?
What is good design?
• Encapsulation
• Coupling
• Abstraction
Focus On:
Clarity
(it’s the whole point of design)
The Mess
poor coupling, poor encapsulation, poor abstraction
Shhh...
(A quick secret)
EVERY TEST IS AN
ADDITIONAL
COUPLING!!
Worse yet...
The poorer the design,
the more tests you end
up with
(solve the design, and you have fewer risks that
require tests as a mitigation strategy)
Every test framework
available to you
encourages the
violation of productive
design principles
Iterative and
Incremental
design and thinking
Prefer the terms:
“Elaborative” and
“Elaborations”
“Workable”
not just “working”
getting something to work is child’s play
it’s not worth paying someone for
just getting something to work is something we can get
cheaper from outsourcing
your job is to make it work, and protect forward
momentum
Caution:
Automators Automate
not all testing is automated
only automated testing is automated
as an automator, you have to stay on top of your
compulsions
you are likely already excessive
The Ironies of Automation
Lisanne Bainbridge
Department of Psychology, University College London, 1983
http://j.mp/ironies
“This paper discusses ways in which automation of industrial
processes may expand rather than eliminate problems with the
human operator. “
Taking inspiration from
Service-Oriented
Architecture
Hint: Services don’t return data - databases do
Most “services” are just HTTP database interfaces
Services don’t expose data (APIs are not “services”)
Services only accept instructions (commands)
Services respond with status updates (events)
Control and
Observe
the essence of testing
and...
the foundational principles of
doing just about anything
Control: Setup and Invocation
Observe:Assertion
Focus on the
controls, and
then automate
them
return to automating the
observations when you’re
assured that you’re solving the
right problem the right way
Semi-
automated
or autonomous, or jidoka
http://en.wikipedia.org/wiki/Autonomation
On to the tooling...
Proof
The “Tell, Don’t Ask” Testing
Library
• Gets you working quickly on ideas
• Encourages the respect of encapsulation
• Elaborative (start with “sketching”, then firm up
structure when the time is right)
• Simple tooling (primitive, even)
• Plain old Ruby
• Use the file system organization you want
• Output through logging to STDOUT (or
whatever you want, per the logging gem)
Characteristics
Let’s try it...

Mais conteúdo relacionado

Mais procurados

Mais procurados (20)

Ken Johnston - Big Bugs That Got Away - EuroSTAR 2010
Ken Johnston - Big Bugs That Got Away -  EuroSTAR 2010Ken Johnston - Big Bugs That Got Away -  EuroSTAR 2010
Ken Johnston - Big Bugs That Got Away - EuroSTAR 2010
 
Santa Barbara Agile: Exploratory Testing Explained and Experienced
Santa Barbara Agile: Exploratory Testing Explained and ExperiencedSanta Barbara Agile: Exploratory Testing Explained and Experienced
Santa Barbara Agile: Exploratory Testing Explained and Experienced
 
What is What is Professional Testing?
What is What is Professional Testing?What is What is Professional Testing?
What is What is Professional Testing?
 
5 why training_presentation
5 why training_presentation5 why training_presentation
5 why training_presentation
 
James thomas
James thomasJames thomas
James thomas
 
Ajay Balamnrugadas - Weekend Testing, Skilled Software Testing Unleashed - Eu...
Ajay Balamnrugadas - Weekend Testing, Skilled Software Testing Unleashed - Eu...Ajay Balamnrugadas - Weekend Testing, Skilled Software Testing Unleashed - Eu...
Ajay Balamnrugadas - Weekend Testing, Skilled Software Testing Unleashed - Eu...
 
A Taste of Exploratory Testing
A Taste of Exploratory TestingA Taste of Exploratory Testing
A Taste of Exploratory Testing
 
Break to build - the mindset of the modern day tester
Break to build - the mindset of the modern day testerBreak to build - the mindset of the modern day tester
Break to build - the mindset of the modern day tester
 
Hindsight lessons about API testing
Hindsight lessons about API testingHindsight lessons about API testing
Hindsight lessons about API testing
 
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
 
5 why analysis
5 why analysis5 why analysis
5 why analysis
 
Exploratory testing workshop
Exploratory testing workshopExploratory testing workshop
Exploratory testing workshop
 
Test automation – the bitter truth
Test automation – the bitter truthTest automation – the bitter truth
Test automation – the bitter truth
 
Worst practices in software testing by the Testing troll
Worst practices in software testing by the Testing trollWorst practices in software testing by the Testing troll
Worst practices in software testing by the Testing troll
 
Test-Driven Development
 Test-Driven Development  Test-Driven Development
Test-Driven Development
 
Fabian Scarano - Preparing Your Team for the Future
Fabian Scarano - Preparing Your Team for the FutureFabian Scarano - Preparing Your Team for the Future
Fabian Scarano - Preparing Your Team for the Future
 
Imrul: Context Driven Testing
Imrul: Context Driven TestingImrul: Context Driven Testing
Imrul: Context Driven Testing
 
VictorPSRCCA
VictorPSRCCA VictorPSRCCA
VictorPSRCCA
 
"Worst" practices of software testing
"Worst" practices of software testing"Worst" practices of software testing
"Worst" practices of software testing
 
SAM
SAMSAM
SAM
 

Destaque (6)

TDD step patterns
TDD step patternsTDD step patterns
TDD step patterns
 
First Step TDD
First Step TDDFirst Step TDD
First Step TDD
 
Continuos delivery by example
Continuos delivery by exampleContinuos delivery by example
Continuos delivery by example
 
Cucumber BDD
Cucumber BDDCucumber BDD
Cucumber BDD
 
Pair Programming Presentation
Pair Programming PresentationPair Programming Presentation
Pair Programming Presentation
 
Hooked Model
Hooked ModelHooked Model
Hooked Model
 

Semelhante a TDD Refresh - Austin RB - 2013-07-01 - public

The ten commandments of TDD
The ten commandments of TDDThe ten commandments of TDD
The ten commandments of TDD
Hernan Wilkinson
 
Testing and TDD - KoJUG
Testing and TDD - KoJUGTesting and TDD - KoJUG
Testing and TDD - KoJUG
lburdz
 

Semelhante a TDD Refresh - Austin RB - 2013-07-01 - public (20)

Test Driven Development (TDD)
Test Driven Development (TDD)Test Driven Development (TDD)
Test Driven Development (TDD)
 
A New Model for Testing
A New Model for TestingA New Model for Testing
A New Model for Testing
 
Re-thinking Test Automation and Test Process Modelling (in pictures)
Re-thinking Test Automation and Test Process Modelling (in pictures)Re-thinking Test Automation and Test Process Modelling (in pictures)
Re-thinking Test Automation and Test Process Modelling (in pictures)
 
The ten commandments of TDD
The ten commandments of TDDThe ten commandments of TDD
The ten commandments of TDD
 
[Webinar] Test First, Fail Fast - Simplifying the Tester's Transition to DevOps
[Webinar] Test First, Fail Fast - Simplifying the Tester's Transition to DevOps[Webinar] Test First, Fail Fast - Simplifying the Tester's Transition to DevOps
[Webinar] Test First, Fail Fast - Simplifying the Tester's Transition to DevOps
 
Get the Balance Right: Acceptance Test Driven Development, GUI Automation and...
Get the Balance Right: Acceptance Test Driven Development, GUI Automation and...Get the Balance Right: Acceptance Test Driven Development, GUI Automation and...
Get the Balance Right: Acceptance Test Driven Development, GUI Automation and...
 
Why You Don't Want to be a Tester; an agile discussion
Why You Don't Want to be a Tester; an agile discussionWhy You Don't Want to be a Tester; an agile discussion
Why You Don't Want to be a Tester; an agile discussion
 
#DOAW16 - DevOps@work Roma 2016 - Testing your databases
#DOAW16 - DevOps@work Roma 2016 - Testing your databases#DOAW16 - DevOps@work Roma 2016 - Testing your databases
#DOAW16 - DevOps@work Roma 2016 - Testing your databases
 
Test-Driven Development
Test-Driven DevelopmentTest-Driven Development
Test-Driven Development
 
SDET approach for Agile Testing
SDET approach for Agile TestingSDET approach for Agile Testing
SDET approach for Agile Testing
 
Why does agile need unit testing
Why does agile need unit testingWhy does agile need unit testing
Why does agile need unit testing
 
Continuous testing the new must have skill of tomorrow's tech leaders
Continuous testing  the new must have skill of tomorrow's tech leadersContinuous testing  the new must have skill of tomorrow's tech leaders
Continuous testing the new must have skill of tomorrow's tech leaders
 
DevOps 101
DevOps 101DevOps 101
DevOps 101
 
DOES15 - Damon Edwards - DevOps Kaizen Practical Steps to Start & Sustain a T...
DOES15 - Damon Edwards - DevOps Kaizen Practical Steps to Start & Sustain a T...DOES15 - Damon Edwards - DevOps Kaizen Practical Steps to Start & Sustain a T...
DOES15 - Damon Edwards - DevOps Kaizen Practical Steps to Start & Sustain a T...
 
DevOps Kaizen: Practical Steps to Start & Sustain a Transformation
DevOps Kaizen: Practical Steps to Start & Sustain a TransformationDevOps Kaizen: Practical Steps to Start & Sustain a Transformation
DevOps Kaizen: Practical Steps to Start & Sustain a Transformation
 
Dare to Explore: Discover ET!
Dare to Explore: Discover ET!Dare to Explore: Discover ET!
Dare to Explore: Discover ET!
 
STOP! You're Testing Too Much - Shawn Wallace
STOP!  You're Testing Too Much - Shawn WallaceSTOP!  You're Testing Too Much - Shawn Wallace
STOP! You're Testing Too Much - Shawn Wallace
 
Stop! you're testing too much
Stop!  you're testing too muchStop!  you're testing too much
Stop! you're testing too much
 
STLDODN - Agile Testing in a Waterfall World
STLDODN - Agile Testing in a Waterfall WorldSTLDODN - Agile Testing in a Waterfall World
STLDODN - Agile Testing in a Waterfall World
 
Testing and TDD - KoJUG
Testing and TDD - KoJUGTesting and TDD - KoJUG
Testing and TDD - KoJUG
 

Último

Future of Trade 2024 - Decoupled and Reconfigured - Snapshot Report
Future of Trade 2024 - Decoupled and Reconfigured - Snapshot ReportFuture of Trade 2024 - Decoupled and Reconfigured - Snapshot Report
Future of Trade 2024 - Decoupled and Reconfigured - Snapshot Report
Dubai Multi Commodity Centre
 
Obat Aborsi Pasuruan 0851\7696\3835 Jual Obat Cytotec Di Pasuruan
Obat Aborsi Pasuruan 0851\7696\3835 Jual Obat Cytotec Di PasuruanObat Aborsi Pasuruan 0851\7696\3835 Jual Obat Cytotec Di Pasuruan
Obat Aborsi Pasuruan 0851\7696\3835 Jual Obat Cytotec Di Pasuruan
Obat Aborsi Jakarta Wa 085176963835 Apotek Jual Obat Cytotec Di Jakarta
 
#Mtp-Kit Prices » Qatar. Doha (+27737758557) Abortion Pills For Sale In Doha,...
#Mtp-Kit Prices » Qatar. Doha (+27737758557) Abortion Pills For Sale In Doha,...#Mtp-Kit Prices » Qatar. Doha (+27737758557) Abortion Pills For Sale In Doha,...
#Mtp-Kit Prices » Qatar. Doha (+27737758557) Abortion Pills For Sale In Doha,...
drm1699
 
Powerpoint showing results from tik tok metrics
Powerpoint showing results from tik tok metricsPowerpoint showing results from tik tok metrics
Powerpoint showing results from tik tok metrics
CaitlinCummins3
 
Presentation4 (2) survey responses clearly labelled
Presentation4 (2) survey responses clearly labelledPresentation4 (2) survey responses clearly labelled
Presentation4 (2) survey responses clearly labelled
CaitlinCummins3
 

Último (20)

How Bookkeeping helps you in Cost Saving, Tax Saving and Smooth Business Runn...
How Bookkeeping helps you in Cost Saving, Tax Saving and Smooth Business Runn...How Bookkeeping helps you in Cost Saving, Tax Saving and Smooth Business Runn...
How Bookkeeping helps you in Cost Saving, Tax Saving and Smooth Business Runn...
 
Elevate Your Online Presence with SEO Services
Elevate Your Online Presence with SEO ServicesElevate Your Online Presence with SEO Services
Elevate Your Online Presence with SEO Services
 
Moradia Isolada com Logradouro; Detached house with patio in Penacova
Moradia Isolada com Logradouro; Detached house with patio in PenacovaMoradia Isolada com Logradouro; Detached house with patio in Penacova
Moradia Isolada com Logradouro; Detached house with patio in Penacova
 
Future of Trade 2024 - Decoupled and Reconfigured - Snapshot Report
Future of Trade 2024 - Decoupled and Reconfigured - Snapshot ReportFuture of Trade 2024 - Decoupled and Reconfigured - Snapshot Report
Future of Trade 2024 - Decoupled and Reconfigured - Snapshot Report
 
Pitch Deck Teardown: Goodcarbon's $5.5m Seed deck
Pitch Deck Teardown: Goodcarbon's $5.5m Seed deckPitch Deck Teardown: Goodcarbon's $5.5m Seed deck
Pitch Deck Teardown: Goodcarbon's $5.5m Seed deck
 
Global Internal Audit Standards 2024.pdf
Global Internal Audit Standards 2024.pdfGlobal Internal Audit Standards 2024.pdf
Global Internal Audit Standards 2024.pdf
 
wagamamaLab presentation @MIT 20240509 IRODORI
wagamamaLab presentation @MIT 20240509 IRODORIwagamamaLab presentation @MIT 20240509 IRODORI
wagamamaLab presentation @MIT 20240509 IRODORI
 
Navigating Tax Season with Confidence Streamlines CPA Firms
Navigating Tax Season with Confidence Streamlines CPA FirmsNavigating Tax Season with Confidence Streamlines CPA Firms
Navigating Tax Season with Confidence Streamlines CPA Firms
 
Hyundai capital 2024 1q Earnings release
Hyundai capital 2024 1q Earnings releaseHyundai capital 2024 1q Earnings release
Hyundai capital 2024 1q Earnings release
 
Obat Aborsi Pasuruan 0851\7696\3835 Jual Obat Cytotec Di Pasuruan
Obat Aborsi Pasuruan 0851\7696\3835 Jual Obat Cytotec Di PasuruanObat Aborsi Pasuruan 0851\7696\3835 Jual Obat Cytotec Di Pasuruan
Obat Aborsi Pasuruan 0851\7696\3835 Jual Obat Cytotec Di Pasuruan
 
Toyota Kata Coaching for Agile Teams & Transformations
Toyota Kata Coaching for Agile Teams & TransformationsToyota Kata Coaching for Agile Teams & Transformations
Toyota Kata Coaching for Agile Teams & Transformations
 
#Mtp-Kit Prices » Qatar. Doha (+27737758557) Abortion Pills For Sale In Doha,...
#Mtp-Kit Prices » Qatar. Doha (+27737758557) Abortion Pills For Sale In Doha,...#Mtp-Kit Prices » Qatar. Doha (+27737758557) Abortion Pills For Sale In Doha,...
#Mtp-Kit Prices » Qatar. Doha (+27737758557) Abortion Pills For Sale In Doha,...
 
stock price prediction using machine learning
stock price prediction using machine learningstock price prediction using machine learning
stock price prediction using machine learning
 
PitchBook’s Guide to VC Funding for Startups
PitchBook’s Guide to VC Funding for StartupsPitchBook’s Guide to VC Funding for Startups
PitchBook’s Guide to VC Funding for Startups
 
Progress Report - UKG Analyst Summit 2024 - A lot to do - Good Progress1-1.pdf
Progress Report - UKG Analyst Summit 2024 - A lot to do - Good Progress1-1.pdfProgress Report - UKG Analyst Summit 2024 - A lot to do - Good Progress1-1.pdf
Progress Report - UKG Analyst Summit 2024 - A lot to do - Good Progress1-1.pdf
 
Powerpoint showing results from tik tok metrics
Powerpoint showing results from tik tok metricsPowerpoint showing results from tik tok metrics
Powerpoint showing results from tik tok metrics
 
Presentation4 (2) survey responses clearly labelled
Presentation4 (2) survey responses clearly labelledPresentation4 (2) survey responses clearly labelled
Presentation4 (2) survey responses clearly labelled
 
MEANING AND CHARACTERISTICS OF TAXATION.
MEANING AND CHARACTERISTICS OF TAXATION.MEANING AND CHARACTERISTICS OF TAXATION.
MEANING AND CHARACTERISTICS OF TAXATION.
 
Exploring-Pipe-Flanges-Applications-Types-and-Benefits.pptx
Exploring-Pipe-Flanges-Applications-Types-and-Benefits.pptxExploring-Pipe-Flanges-Applications-Types-and-Benefits.pptx
Exploring-Pipe-Flanges-Applications-Types-and-Benefits.pptx
 
Inside the Black Box of Venture Capital (VC)
Inside the Black Box of Venture Capital (VC)Inside the Black Box of Venture Capital (VC)
Inside the Black Box of Venture Capital (VC)
 

TDD Refresh - Austin RB - 2013-07-01 - public