Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
TDD IRL
Search
delucas
September 09, 2014
Technology
1
110
TDD IRL
Charla de TDD dada en la UTN F.R. Rosario, el día 09/09/2014
delucas
September 09, 2014
Tweet
Share
More Decks by delucas
See All by delucas
TBD - Too Busy Disorder
delucas
0
500
Gamification
delucas
1
120
Pedacitos de rubí
delucas
0
64
¿Aún no usás git y GitHub?
delucas
0
44
Desarrollo de Aplicaciones Móviles - Maestría en Informática
delucas
0
86
You already git started. Now... what?
delucas
3
130
TDD IRL reloaded
delucas
0
79
Adaptación de una plataforma de e-learning a nuevos entornos
delucas
0
180
Introducción wecode.io
delucas
0
68
Other Decks in Technology
See All in Technology
いつか使うかも貯金してたらめちゃめちゃ機能が増えてた話
riyaamemiya
0
570
.NET Profiler in 2024.
kkamegawa
2
820
Tellus の衛星データを見てみよう #mf_fukuoka
kongmingstrap
0
260
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
4
37k
LayerXにおけるLLMプロダクト開発の今までとこれから
layerx
PRO
3
590
JSON攻略法.pdf
miyakemito
8
5.2k
コードファーストの考え方。 Amplify Gen2から学ぶAWS次世代のWeb開発体験
yoshiitaka
1
250
AOAI をきっかけに 社内の Azure 管理を見直した話
recruitengineers
PRO
1
430
開発パフォーマンスを最大化するための開発体制
ham0215
7
910
2024春 注目のWeb系 OSS & SaaS 3選
makies
0
170
実例で紹介するRAG導入時の知見と精度向上の勘所
yamahiro
4
1.3k
競技としてのKaggle、役に立つKaggle
yu4u
6
2.3k
Featured
See All Featured
GitHub's CSS Performance
jonrohan
1025
450k
Pencils Down: Stop Designing & Start Developing
hursman
117
11k
StorybookのUI Testing Handbookを読んだ
zakiyama
13
4.6k
Product Roadmaps are Hard
iamctodd
45
9.7k
The Straight Up "How To Draw Better" Workshop
denniskardys
228
130k
Keith and Marios Guide to Fast Websites
keithpitt
408
22k
RailsConf 2023
tenderlove
8
550
The Illustrated Children's Guide to Kubernetes
chrisshort
32
46k
How STYLIGHT went responsive
nonsquared
92
4.8k
Principles of Awesome APIs and How to Build Them.
keavy
121
16k
Put a Button on it: Removing Barriers to Going Fast.
kastner
58
3.1k
The Brand Is Dead. Long Live the Brand.
mthomps
49
29k
Transcript
#tdd @wecodeio @luke_ar
Expectativas • 1:30 horas • 27 diapositivas • 1 demostración
en vivo* • código simple, en Java * “en vivo”, significa que puede fallar :)
¿Testing?
None
None
None
None
@Test public void prueba(){ assertEquals(5, sumar(2, 3)); }
@Test public void prueba(){ assertEquals(5, sumar(2, 3)); } sumar() assertEquals
2 3 ? 5
Test Driven Development
@Test public void prueba(){ assertEquals(5, sumar(2, 3)); }
@Test public void prueba(){ assertEquals(5, sumar(2, 3)); }
@Test public void prueba(){ assertEquals(5, sumar(2, 3)); }
@Test public void prueba(){ assertEquals(5, sumar(2, 3)); }
El Mantra
El Mantra mínimo código nueva prueba mejoras de diseño
demostración factores primos
¿Dónde está la magia? • Ciclos cortos • No es
sólo sobre las pruebas • Pruebas → diseño
Reglas de oro • Nunca se escribe una nueva funcionalidad
si hay algún test que falla. • Nunca se escribe código si no hay un test que evidencie su ausencia. • No se debe escribir más código del necesario para hacer pasar la prueba.
Refactoring • Cambiar estructura sin cambiar comportamiento. • Remueve duplicación.
• Vuelve el código más simple. • Vuelve el código más legible. • Se debe aplicar tanto al código productivo como a las pruebas.
¿Por qué no le gusta a la industria? • Tiempos
• Tiempos • Tiempos • Tiempos
TDD no es hace magia • No deriva arquitectura: deriva
diseño local • Se necesita una visión de arquitectura, aunque se valide con TDD • No es necesario ser miope
Consejos • Siempre tener una lista junto al teclado para
anotar los casos que se nos ocurran extemporáneamente. • Practicar con pequeños ejemplos reales. • Practicar con problemas conocidos.
El secreto “A medida que los tests se vuelven más
específicos, el código se vuelve más genérico”
Recursos • TDD by example, de Kent Beck http://amzn.to/1k24MZ7 •
Roman Numerals Kata, de Jim Weirich http://youtu.be/983zk0eqYLY • http://codekata.com/ • https://github.com/garora/TDD-Katas
¿Preguntas?
Gracias :) @wecodeio @luke_ar