Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
Software Architecture and Thinking. Raising TDD from the dead.
Slide 2
Slide 2 text
Who am I ? @l3l0 http://github.com/l3l0
Slide 3
Slide 3 text
Agenda Basics about TDD. Mocking explanation. Software Architecture and TDD. How TDD impact the speed of development?
Slide 4
Slide 4 text
What is TDD?
Slide 5
Slide 5 text
Are we really testing?
Slide 6
Slide 6 text
TDD is about code specification and planning.
Slide 7
Slide 7 text
PHPSpec
Slide 8
Slide 8 text
PHPSpec
Slide 9
Slide 9 text
Few words about mocking.
Slide 10
Slide 10 text
Dummy, Stub, Mock.
Slide 11
Slide 11 text
Dummy
Slide 12
Slide 12 text
Production code
Slide 13
Slide 13 text
Stub
Slide 14
Slide 14 text
Production code
Slide 15
Slide 15 text
Mock
Slide 16
Slide 16 text
Production code
Slide 17
Slide 17 text
States vs Messages.
Slide 18
Slide 18 text
OOP is about messaging.
Slide 19
Slide 19 text
Mockist TDD is about planning communication, interfaces and message protocols.
Slide 20
Slide 20 text
Classic TDD is about planning expected state or just checking the result.
Slide 21
Slide 21 text
Mockist TDD example
Slide 22
Slide 22 text
Classic TDD example
Slide 23
Slide 23 text
Classic TDD example
Slide 24
Slide 24 text
Mock or not to mock?
Slide 25
Slide 25 text
Mocking drawbacks.
Slide 26
Slide 26 text
Classic approach drawbacks.
Slide 27
Slide 27 text
Let's find the balance!
Slide 28
Slide 28 text
TDD as a software design tool.
Slide 29
Slide 29 text
TDD is an enabler for thinking about communication and messages.
Slide 30
Slide 30 text
Revealing object dependencies.
Slide 31
Slide 31 text
Mocking allow to design base on abstraction, so finish with...
Slide 32
Slide 32 text
No content
Slide 33
Slide 33 text
TDD and development time.
Slide 34
Slide 34 text
Do you spend more time writing code doing TDD?
Slide 35
Slide 35 text
I bet you DO! but...
Slide 36
Slide 36 text
What about time spent on fixing bugs ? What about time spent on creating upfront design ? What about time spent on manually testing our work ?
Slide 37
Slide 37 text
SO...
Slide 38
Slide 38 text
IS TDD DEAD ?
Slide 39
Slide 39 text
FU***NG NO!!!
Slide 40
Slide 40 text
Thanks!
Slide 41
Slide 41 text
http://cocoders.com @l3l0 l3l0 [at] cocoders.com https://github.com/l3l0/tdd-architecture-talk-exam ples