SlideShare una empresa de Scribd logo
1 de 43
Descargar para leer sin conexión
TDD
Tuesday, April 16, 13
- Short history of software methods
- What is TDD?
- Prime number example
- Tips & Traps
- Try it out
- Roundup
Agenda
Tuesday, April 16, 13
Tuesday, April 16, 13
90’s
Object Orientation
replaces ‘procedural’
History
Tuesday, April 16, 13
90’s
High Ceremony Methodology
History
Tuesday, April 16, 13
eXtreme
Programming
History
Tuesday, April 16, 13
agile etc.....
History
Tuesday, April 16, 13
Tuesday, April 16, 13
red
green
refactor
What?
Tuesday, April 16, 13
Listening, Testing, Coding, Refactoring.
That's all there is to software. Anyone
who tells you different is selling
something. - Kent Beck
What?
Tuesday, April 16, 13
write a test
that fails
What?
Tuesday, April 16, 13
write a spec
that fails
What?
Tuesday, April 16, 13
thinking about
the interface
(design)
What?
Tuesday, April 16, 13
understand
What?
Tuesday, April 16, 13
setup
execute
validate
clean up
What?
Tuesday, April 16, 13
unfail that
test
What?
Tuesday, April 16, 13
only unfail
that test
What?
Tuesday, April 16, 13
refactor
What?
Tuesday, April 16, 13
NO NEW
FUNCTIONALITY
What?
Tuesday, April 16, 13
you aren’t
gonna need it
(yagni)
What?
Tuesday, April 16, 13
keep it simple
stupid
(kiss)
What?
Tuesday, April 16, 13
red
green
refactor
What?
Tuesday, April 16, 13
personal benefits:
pride
sense of accomplishment
security
What?
Tuesday, April 16, 13
organisational benefits:
stability
predictability
readability
maintainability
What?
Tuesday, April 16, 13
Tuesday, April 16, 13
- Short history of software methods
- What is TDD?
- Prime number example
- Tips & Traps
- Try it out
- Roundup
Agenda
Tuesday, April 16, 13
Tuesday, April 16, 13
coding
guidelines for
tests?
Tips & Traps
Tuesday, April 16, 13
be lenient
on DRY
Tips & Traps
Tuesday, April 16, 13
one test per
method?
Tips & Traps
Tuesday, April 16, 13
one test class
per class?
Tips & Traps
Tuesday, April 16, 13
how
much?
Tips & Traps
Tuesday, April 16, 13
what about
user
interfaces?
Tips & Traps
Tuesday, April 16, 13
code bases
without test
coverage?
Tips & Traps
Tuesday, April 16, 13
design &
architecture
Tips & Traps
Tuesday, April 16, 13
mocking?
Tips & Traps
Tuesday, April 16, 13
mock
frameworks
Tips & Traps
Tuesday, April 16, 13
practice
Tips & Traps
Tuesday, April 16, 13
classic vs
london
Tips & Traps
Tuesday, April 16, 13
double
TDD loop
Tips & Traps
Tuesday, April 16, 13
@froderik
www.highlevelbits.com
photo credits to flickr users
indigoprime
Photochiel
martinlabar
and Michel Filion
in order of appearance
Tuesday, April 16, 13
Tuesday, April 16, 13
- prime numbers again
- roman numeral
- first search hit on “kata catalogue”
- something from the real world
- OO vs functional
- cycle size
Exercises IN PAIRS
Tuesday, April 16, 13

Más contenido relacionado

Similar a TDD at Smartbear

Unmoderated User Testing
Unmoderated User TestingUnmoderated User Testing
Unmoderated User TestingZURB
 
Structuring apps in Scala
Structuring apps in ScalaStructuring apps in Scala
Structuring apps in ScalaPhil Calçado
 
In tidligfase kurs del 2 - endelig
In tidligfase kurs    del 2 - endeligIn tidligfase kurs    del 2 - endelig
In tidligfase kurs del 2 - endeligHelge Hannisdal
 
Which Programming Language is the best one?
Which Programming Language is the best one?Which Programming Language is the best one?
Which Programming Language is the best one?Ricardo Terra
 
ChefConf2014 - Chef TDD
ChefConf2014 - Chef TDD ChefConf2014 - Chef TDD
ChefConf2014 - Chef TDD Daniel Tracy
 
OSDC 2013 | PostgreSQL im Jahr 2013. Wo sind wir? Wohin geht die Reise? by Mi...
OSDC 2013 | PostgreSQL im Jahr 2013. Wo sind wir? Wohin geht die Reise? by Mi...OSDC 2013 | PostgreSQL im Jahr 2013. Wo sind wir? Wohin geht die Reise? by Mi...
OSDC 2013 | PostgreSQL im Jahr 2013. Wo sind wir? Wohin geht die Reise? by Mi...NETWAYS
 
Frontend United: Etching wireframes & agile UX
Frontend United: Etching wireframes & agile UXFrontend United: Etching wireframes & agile UX
Frontend United: Etching wireframes & agile UXWunderkraut
 
[DevDay 2016] How to get hired by a software company - Speaker: Till Gartner...
 [DevDay 2016] How to get hired by a software company - Speaker: Till Gartner... [DevDay 2016] How to get hired by a software company - Speaker: Till Gartner...
[DevDay 2016] How to get hired by a software company - Speaker: Till Gartner...DevDay.org
 
What do you mean, backwards compatibility?
What do you mean, backwards compatibility?What do you mean, backwards compatibility?
What do you mean, backwards compatibility?Trisha Gee
 
Writing testable code
Writing testable codeWriting testable code
Writing testable codeAlvaro Videla
 
Morgenbooster #63 | Tools for Insights
Morgenbooster #63 | Tools for InsightsMorgenbooster #63 | Tools for Insights
Morgenbooster #63 | Tools for Insights1508 A/S
 
Sot resume2013
Sot resume2013Sot resume2013
Sot resume2013John Clegg
 
Week 1 presentation
Week 1 presentationWeek 1 presentation
Week 1 presentationMotherCoders
 
Android meetup
Android meetupAndroid meetup
Android meetupTy Smith
 
Intro to R - Columbia
Intro to R - ColumbiaIntro to R - Columbia
Intro to R - Columbiajlsutherland
 

Similar a TDD at Smartbear (20)

Unmoderated User Testing
Unmoderated User TestingUnmoderated User Testing
Unmoderated User Testing
 
The Testable Web
The Testable WebThe Testable Web
The Testable Web
 
Structuring apps in Scala
Structuring apps in ScalaStructuring apps in Scala
Structuring apps in Scala
 
Unit Testing
Unit TestingUnit Testing
Unit Testing
 
In tidligfase kurs del 2 - endelig
In tidligfase kurs    del 2 - endeligIn tidligfase kurs    del 2 - endelig
In tidligfase kurs del 2 - endelig
 
Which Programming Language is the best one?
Which Programming Language is the best one?Which Programming Language is the best one?
Which Programming Language is the best one?
 
ChefConf2014 - Chef TDD
ChefConf2014 - Chef TDD ChefConf2014 - Chef TDD
ChefConf2014 - Chef TDD
 
OSDC 2013 | PostgreSQL im Jahr 2013. Wo sind wir? Wohin geht die Reise? by Mi...
OSDC 2013 | PostgreSQL im Jahr 2013. Wo sind wir? Wohin geht die Reise? by Mi...OSDC 2013 | PostgreSQL im Jahr 2013. Wo sind wir? Wohin geht die Reise? by Mi...
OSDC 2013 | PostgreSQL im Jahr 2013. Wo sind wir? Wohin geht die Reise? by Mi...
 
Frontend United: Etching wireframes & agile UX
Frontend United: Etching wireframes & agile UXFrontend United: Etching wireframes & agile UX
Frontend United: Etching wireframes & agile UX
 
[DevDay 2016] How to get hired by a software company - Speaker: Till Gartner...
 [DevDay 2016] How to get hired by a software company - Speaker: Till Gartner... [DevDay 2016] How to get hired by a software company - Speaker: Till Gartner...
[DevDay 2016] How to get hired by a software company - Speaker: Till Gartner...
 
What do you mean, backwards compatibility?
What do you mean, backwards compatibility?What do you mean, backwards compatibility?
What do you mean, backwards compatibility?
 
Writing testable code
Writing testable codeWriting testable code
Writing testable code
 
Morgenbooster #63 | Tools for Insights
Morgenbooster #63 | Tools for InsightsMorgenbooster #63 | Tools for Insights
Morgenbooster #63 | Tools for Insights
 
Sot resume2013
Sot resume2013Sot resume2013
Sot resume2013
 
Week 1 presentation
Week 1 presentationWeek 1 presentation
Week 1 presentation
 
Android meetup
Android meetupAndroid meetup
Android meetup
 
Intro to R - Columbia
Intro to R - ColumbiaIntro to R - Columbia
Intro to R - Columbia
 
Aten ntc-stories
Aten ntc-storiesAten ntc-stories
Aten ntc-stories
 
Dust[in]
Dust[in]Dust[in]
Dust[in]
 
Sd
SdSd
Sd
 

Último

"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 

Último (20)

"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 

TDD at Smartbear