TDD patterns
-
Upload
gil-zilberfeld -
Category
Technology
-
view
863 -
download
0
description
Transcript of TDD patterns
![Page 1: TDD patterns](https://reader033.fdocuments.us/reader033/viewer/2022052323/559456e01a28ab6a2f8b4656/html5/thumbnails/1.jpg)
@gil_zilberfeld
TDD Patterns
![Page 2: TDD patterns](https://reader033.fdocuments.us/reader033/viewer/2022052323/559456e01a28ab6a2f8b4656/html5/thumbnails/2.jpg)
@gil_zilberfeld
Hello!
I AM GIL ZILBERFELD
www.gilzilberfeld.comwww.everydayunittesting.com
www.fastee.im
@gil_zilberfeld
![Page 3: TDD patterns](https://reader033.fdocuments.us/reader033/viewer/2022052323/559456e01a28ab6a2f8b4656/html5/thumbnails/3.jpg)
@gil_zilberfeld
Patterns? In TDD?
Share, care and avoid those potholes
![Page 4: TDD patterns](https://reader033.fdocuments.us/reader033/viewer/2022052323/559456e01a28ab6a2f8b4656/html5/thumbnails/4.jpg)
@gil_zilberfeld
The mental model
![Page 5: TDD patterns](https://reader033.fdocuments.us/reader033/viewer/2022052323/559456e01a28ab6a2f8b4656/html5/thumbnails/5.jpg)
@gil_zilberfeld
Getting it!
Waiting for the value
Test-first != Test-Drive
![Page 6: TDD patterns](https://reader033.fdocuments.us/reader033/viewer/2022052323/559456e01a28ab6a2f8b4656/html5/thumbnails/6.jpg)
@gil_zilberfeld
Stupid is as stupid does
Simplest thing that works
Stupidest thing that works
![Page 7: TDD patterns](https://reader033.fdocuments.us/reader033/viewer/2022052323/559456e01a28ab6a2f8b4656/html5/thumbnails/7.jpg)
@gil_zilberfeld
Social patterns
![Page 8: TDD patterns](https://reader033.fdocuments.us/reader033/viewer/2022052323/559456e01a28ab6a2f8b4656/html5/thumbnails/8.jpg)
@gil_zilberfeld
Togetherness
Alone
Driver-Navigator
Ping-Pong
Domain-Design
![Page 9: TDD patterns](https://reader033.fdocuments.us/reader033/viewer/2022052323/559456e01a28ab6a2f8b4656/html5/thumbnails/9.jpg)
@gil_zilberfeld
Making decisions
![Page 10: TDD patterns](https://reader033.fdocuments.us/reader033/viewer/2022052323/559456e01a28ab6a2f8b4656/html5/thumbnails/10.jpg)
@gil_zilberfeld
Versus
Greenfield vs brownfield
Feature vs bug fix
![Page 11: TDD patterns](https://reader033.fdocuments.us/reader033/viewer/2022052323/559456e01a28ab6a2f8b4656/html5/thumbnails/11.jpg)
@gil_zilberfeld
From problem to solution
Starting from High-level design
ATDD as guidance
![Page 12: TDD patterns](https://reader033.fdocuments.us/reader033/viewer/2022052323/559456e01a28ab6a2f8b4656/html5/thumbnails/12.jpg)
@gil_zilberfeld
Coming up with test cases
Identifying examples up front
Jump around
Incremental test-by-test
Copy and mutate
![Page 13: TDD patterns](https://reader033.fdocuments.us/reader033/viewer/2022052323/559456e01a28ab6a2f8b4656/html5/thumbnails/13.jpg)
@gil_zilberfeld
Where do I stop?
Optimist vs pessimist
Best code ever
Running out of ideas
![Page 14: TDD patterns](https://reader033.fdocuments.us/reader033/viewer/2022052323/559456e01a28ab6a2f8b4656/html5/thumbnails/14.jpg)
@gil_zilberfeld
Bangin’ that keyboard
![Page 15: TDD patterns](https://reader033.fdocuments.us/reader033/viewer/2022052323/559456e01a28ab6a2f8b4656/html5/thumbnails/15.jpg)
@gil_zilberfeld
A rose by any other name
Convention-based
Just the specs
BDD style
![Page 16: TDD patterns](https://reader033.fdocuments.us/reader033/viewer/2022052323/559456e01a28ab6a2f8b4656/html5/thumbnails/16.jpg)
@gil_zilberfeld
Two roads diverged in a wood
Easy path first
Happy path first
![Page 17: TDD patterns](https://reader033.fdocuments.us/reader033/viewer/2022052323/559456e01a28ab6a2f8b4656/html5/thumbnails/17.jpg)
@gil_zilberfeld
Filling in the gaps
Test the whole functionality
Test just new functionality
Fill in the gaps without tests
![Page 18: TDD patterns](https://reader033.fdocuments.us/reader033/viewer/2022052323/559456e01a28ab6a2f8b4656/html5/thumbnails/18.jpg)
@gil_zilberfeld
Algorithms
Examples
Build the framework
Hack and slash
Child tests
![Page 19: TDD patterns](https://reader033.fdocuments.us/reader033/viewer/2022052323/559456e01a28ab6a2f8b4656/html5/thumbnails/19.jpg)
@gil_zilberfeld
In case of emergency
Test breaks many others
Retract and refactor
![Page 20: TDD patterns](https://reader033.fdocuments.us/reader033/viewer/2022052323/559456e01a28ab6a2f8b4656/html5/thumbnails/20.jpg)
@gil_zilberfeld
Patterns are a communication tool
Once identified we can decide what to do about them
![Page 21: TDD patterns](https://reader033.fdocuments.us/reader033/viewer/2022052323/559456e01a28ab6a2f8b4656/html5/thumbnails/21.jpg)
@gil_zilberfeld
Thanks!
ANY QUESTIONS?
You can find me at:
@gil_zilberfeld
http://www.GilZilberfeld.com
http://www.EverydayUnitTesting.com
http://www.fastee.im