Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
TDD - Test Driven Development
Search
Scalone
November 12, 2014
Programming
190
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
TDD - Test Driven Development
A superficial presentation about TDD, in portuguese, to FATEC Tech Week (Franca, SP, Brasil).
Scalone
November 12, 2014
More Decks by Scalone
See All by Scalone
TDD - Test Driven Development
scalone
0
3
Ruby, Web and IOT with the same Platform
scalone
0
120
20k mRuby devices in Production
scalone
0
510
DaFunk, IOT Framework in Ruby
scalone
0
200
Concurrency in the imperative and functional world
scalone
0
240
Git e Github
scalone
0
120
Git, o que é, do que é feito, para que serve?
scalone
0
390
DaFunk, IOT Framework in Ruby
scalone
0
240
Uzmenino Marketplace
scalone
0
170
Other Decks in Programming
See All in Programming
AI Augmentation Techniques with Liberty
ivargrimstad
0
190
AIがコードを書いてくれる時代、我々は何を確かめるのか
yosuke_furukawa
PRO
13
5.3k
S3 TablesのIcebergデータに、AIエージェントからアクセスしてみた / 20261016developersio2026joetsu-accessing-iceberg-in-s3tables-via-agent
kasacchiful
PRO
0
240
AI時代のFlutter品質設計 — アプリ品質を守るQuality Layers
omatty198
0
320
個人開発者よ、Honoを使え(おじさんver)
tanahiro2010
2
290
Inertia Rails: The One-Person Framework with React & Friends
skryukov
0
200
Herb in Rails 8.2: Your ERB views, now HTML-aware @ Kaigi on Rails 2026, Tokyo, Japan
marcoroth
2
370
私なりのハーネスエンジニアリング ~独自の言語処理系の開発を通して~
seosoft
0
150
선언형 햅틱 라이브러리 진동을 소개합니다
l2hyunwoo
1
150
クラウドエージェントは、 何がそんなに便利なのか / what makes cloud agents so useful
rkaga
3
630
ChromeでローカルLLM
ryu1013
0
180
AI時代のシニアエンジニアとは
yosuke_furukawa
PRO
12
11k
Featured
See All Featured
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
12k
Utilizing Notion as your number one productivity tool
mfonobong
4
630
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
20k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
560
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.6k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
750
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
510
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6.2k
GitHub's CSS Performance
jonrohan
1033
470k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
570
Test your architecture with Archunit
thirion
2
2.5k
Transcript
TDD Test Driven Development
THIAGO SCALONE
@SCALONE
TDD Test Driven Development
O QUE É TESTE?
–Wikipédia “O teste do software é a investigação do software
a fim de fornecer informações sobre sua qualidade em relação ao contexto em que ele deve operar. Isso inclui o processo de utilizar o produto para encontrar seus defeitos.”
O QUE É TDD? Desenvolvimento Orientado a Teste
– Wikipédia “Processo de desenvolvimento de software aonde se escreve
o teste primeiro”
TESTE PRIMEIRO? show me the code!
MUNDO REAL
HISTORINHA
ERA UMA VEZ UM PROJETO
LINDO MARAVILHO
O TEMPO
O PROJETO SE TRANSFORMA
CÓDIGO LEGADO
LENTO
CLIENTES IRRITADOS
DIFÍCIL MANUTENÇÃO
Alteração
Alteração Teste Manual
Alteração Teste Manual
Alteração Teste Manual Produção
Alteração Teste Manual Produção
Alteração Teste Manual Produção
CÓDIGO LEGADO SEM TESTE
–Kent Beck “The more stress you feel, the less testing
you will do”
–Kent Beck “The less testing you do, the more errors
you will make”
NÃO POSSO MUDAR O PASSADO
PRECISO ESCREVER TESTES
EU AMO SOFTWARE
VAMOS VOLTAR UM POUCO
HISTÓRIA DO TDD
12000 BC - FOGO
18XX - PRIMEIRO PROGRAMA Ada Lovelace <3
18XX - PRIMEIRO BUG Preciso de testes….
1957 - CITAÇÃO DE TESTES “The first attack on the
checkout problem may be made before coding is begun” - Michael Bolton
1959/63 - NASA PROJECT MERCURY
1989 - JERRY WEINBERG Cartões perfurados!!!
1994 - KENT BECK SUnit, primeiro framework para testes, em
Smaltalk
1995 - MOVIMENTO XP Kent Beck outra vez
EXTREME PROGRAMMING Feedback rápido Presumir simplicidade Mudanças incrementais Abraçar mudanças
Trabalho de alta qualidade.
COMO TDD?
BABY STEPS
RED, GREEN, REFACTOR
RED GREEN REFACTOR
RED GREEN REFACTOR
RED GREEN REFACTOR
RED GREEN REFACTOR
COBERTURA
DIMINUIR DEPENDÊNCIA
MODULAR
O QUE É TEST ANTES?
PREVENÇÃO DE BUGS
–Robert C. Martin “Testing is about trust.”
CONFIANÇA
DOCUMENTAÇÃO
BOM DESIGN Código legível Pequeno Simples
QUALIDADE
CLIENTE FELIZ
SONO
E AONDE NÃO APLICA?
SISTEMAS MUITOS DISTRIBUIDOS Dependência entre serviços
AMBIENTE NÃO REPRODUZÍVEL Satélite Embedded Kernel Space Alguns drivers
PROTÓTIPOS Não faz sentido
HISTORINHA?
TDD
SONO
NÃO
NO SILVER BULLET
OBRIGADO
LIVROS
TEST DRIVEN DEVELOPMENT: BY EXAMPLE
GROWING OBJECT- ORIENTED SOFTWARE, GUIDED BY TESTS
TEST DRIVEN DEVELOPMENT FOR EMBEDDED C
TEST-DRIVEN DEVELOPMENT A PRACTICAL GUIDE
TEST DRIVEN DEVELOPMENT: TESTE E DESIGN NO MUNDO REAL COM
RUBY