Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
TDD - Test Driven Development
Search
Scalone
November 12, 2014
Programming
1
150
TDD - Test Driven Development
A superficial presentation about TDD, in portuguese, to FATEC Tech Week (Franca, SP, Brasil).
Scalone
November 12, 2014
Tweet
Share
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
99
20k mRuby devices in Production
scalone
0
450
DaFunk, IOT Framework in Ruby
scalone
0
160
Concurrency in the imperative and functional world
scalone
0
210
Git e Github
scalone
0
95
Git, o que é, do que é feito, para que serve?
scalone
0
340
DaFunk, IOT Framework in Ruby
scalone
0
210
Uzmenino Marketplace
scalone
0
130
Other Decks in Programming
See All in Programming
Deno Tunnel を使ってみた話
kamekyame
0
240
LLM Çağında Backend Olmak: 10 Milyon Prompt'u Milisaniyede Sorgulamak
selcukusta
0
130
Giselleで作るAI QAアシスタント 〜 Pull Requestレビューに継続的QAを
codenote
0
290
新卒エンジニアのプルリクエスト with AI駆動
fukunaga2025
0
230
LLMで複雑な検索条件アセットから脱却する!! 生成的検索インタフェースの設計論
po3rin
4
960
Combinatorial Interview Problems with Backtracking Solutions - From Imperative Procedural Programming to Declarative Functional Programming - Part 2
philipschwarz
PRO
0
110
AIの誤りが許されない業務システムにおいて“信頼されるAI” を目指す / building-trusted-ai-systems
yuya4
6
3.9k
Tinkerbellから学ぶ、Podで DHCPをリッスンする手法
tomokon
0
140
実はマルチモーダルだった。ブラウザの組み込みAI🧠でWebの未来を感じてみよう #jsfes #gemini
n0bisuke2
3
1.3k
Findy AI+の開発、運用におけるMCP活用事例
starfish719
0
1.7k
Rubyで鍛える仕組み化プロヂュース力
muryoimpl
0
160
大規模Cloud Native環境におけるFalcoの運用
owlinux1000
0
190
Featured
See All Featured
Making the Leap to Tech Lead
cromwellryan
135
9.7k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
1
27
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.1k
Everyday Curiosity
cassininazir
0
110
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
170
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.8k
Mobile First: as difficult as doing things right
swwweet
225
10k
Navigating Weather and Climate Data
rabernat
0
51
The Cult of Friendly URLs
andyhume
79
6.7k
Navigating Team Friction
lara
191
16k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
0
400
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