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
510
Gamification
delucas
1
120
Pedacitos de rubí
delucas
0
70
¿Aún no usás git y GitHub?
delucas
0
47
Desarrollo de Aplicaciones Móviles - Maestría en Informática
delucas
0
130
You already git started. Now... what?
delucas
3
140
TDD IRL reloaded
delucas
0
84
Adaptación de una plataforma de e-learning a nuevos entornos
delucas
0
220
Introducción wecode.io
delucas
0
68
Other Decks in Technology
See All in Technology
マルチモーダル / AI Agent / LLMOps 3つの技術トレンドで理解するLLMの今後の展望
hirosatogamo
37
12k
AWS Media Services 最新サービスアップデート 2024
eijikominami
0
200
EventHub Startup CTO of the year 2024 ピッチ資料
eventhub
0
120
TypeScript、上達の瞬間
sadnessojisan
46
13k
【Pycon mini 東海 2024】Google Colaboratoryで試すVLM
kazuhitotakahashi
2
530
Terraform CI/CD パイプラインにおける AWS CodeCommit の代替手段
hiyanger
1
240
10XにおけるData Contractの導入について: Data Contract事例共有会
10xinc
6
650
Evangelismo técnico: ¿qué, cómo y por qué?
trishagee
0
360
安心してください、日本語使えますよ―Ubuntu日本語Remix提供休止に寄せて― 2024-11-17
nobutomurata
1
1k
オープンソースAIとは何か? --「オープンソースAIの定義 v1.0」詳細解説
shujisado
9
1k
Python(PYNQ)がテーマのAMD主催のFPGAコンテストに参加してきた
iotengineer22
0
500
CysharpのOSS群から見るModern C#の現在地
neuecc
2
3.4k
Featured
See All Featured
A Modern Web Designer's Workflow
chriscoyier
693
190k
GraphQLの誤解/rethinking-graphql
sonatard
67
10k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
506
140k
Embracing the Ebb and Flow
colly
84
4.5k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
232
17k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
Being A Developer After 40
akosma
87
590k
The Power of CSS Pseudo Elements
geoffreycrofte
73
5.3k
Adopting Sorbet at Scale
ufuk
73
9.1k
Happy Clients
brianwarren
98
6.7k
Agile that works and the tools we love
rasmusluckow
327
21k
Writing Fast Ruby
sferik
627
61k
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