Test-Driven Development

Evolving Simple Designs Guided By Tests — C Edition

Art for Test-Driven Development Check Out A Preview

By Mike Hill, Joshua Kerievsky

How can you increase the speed and joy of software development while decreasing the stress of modifying code? Test-Driven Development can help! TDD is a rhythm, a design technique, a development process and a revolution, all in one.

Highlights

Code with Confidence
Code with Confidence: Learn & practice Test-Driven Development to improve your code quality and speed. Learn more...
Expert Videos
Expert Videos: Learn tools & techniques by watching short videos from industry experts. Learn more...
Integrated Forums
Integrated Forums: Ask questions, get expert replies and read fascinating discussions. Learn more...

Includes

  • 3-5 hours of content
  • 88 pages
  • A Catalog of TDD Patterns
  • 14 Videos
  • 2 Exercises
  • 3 Interactive Quizzes
  • A TDD Flowchart
  • Support for Visual Studio
  • Support for Eclipse CDT
  • Uses embUnit

Contents

You Are Here 3
Test-Driven Development In One Sentence 4
Some TDD -Isms 5
Why Adopt TDD? 6
This Album 7
A First Look At The TDD Cycle ← Click to Preview 9
Keyword: Red 10
Getting To Red 11
Keyword: Green 12
Getting To Green 13
It Isn't Easy Getting to Green 14
Keyword: Refactor 15
Refactorings In The TDD Cycle 16
Refactoring Is Critical 17
Keyword: Integrate 18
Integration 19
Continuous Integration 20
This Will Never Work! 22
We Only Have Hard Defects Here 23
It All Boils Down to Expectations… 24
TDD Will Not Validate Our System 25
Tests+Code > Just Code ← Click to Preview 26
An End To The Arguments? 27
Introducing TDD Patterns 29
Introduction Video 30
Essence First 31
Essence First Video 32
Test First 33
Test First Video 34
Assert First 35
Assert First Video 36
Frame First ← Click to Preview 37
Frame First Video ← Click to Preview 38
Do The Simplest Thing That Could Possibly Work 39
Do The Simplest Thing That Could Possibly Work Video 40
Break It To Make It 41
Break It To Make It Video 42
Refactor Mercilessly 43
Refactor Mercilessly Video 44
Test Driving 45
Test Driving Video 46
Summary of the Patterns 47
TDD Cycle Deeper Look Video 49
TDDing Big Bill's Billing System ← Click to Preview 51
Some Advice Before You Begin 52
Installing Our Plugin 53
Setup 54
An Exercise Composed of Four Tasks 55
Task 1: Calculate A Simple Phone Bill 56
Task 2: Calculate Excess Minutes 57
Task 3: Calculate Family Discount 58
Task 4: Calculate Complete Phone Bill 59
Task 1 Solution ← Click to Preview 60
Task 2 Solution 61
Task 3 Solution 62
Task 4 Solution 63
An Alternative Solution 64
A Third Solution 65
The Secret To TDDing GUIs 67
The Open Dialog 68
A Naive Implementation 69
The Thick Black Line 70
Model: The Dialog Without The GUI Parts 71
Models Don't Speak GUI 72
View: All GUI, All The Time 73
How The Split Helps 74
The Meta-Pattern: Split Along TDD-Happy Lines 75
Does TDD Eliminate Formal Design? 77
What Is Design, Anyway? 78
A Massively Experienced TDD Team ← Click to Preview 79
Where's My Design? 80
Inverted Design? 81
Distributed Design 82
Incremental Design 83
The Stepwise Premise 84
Architecture 85
Architecture Story 86
Conclusion 88

Related Items

Volume Licensing

Have Any Questions?

Highlights

Code with Confidence
Code with Confidence: Learn & practice Test-Driven Development to improve your code quality and speed. Learn more...
Expert Videos
Expert Videos: Learn tools & techniques by watching short videos from industry experts. Learn more...
Integrated Forums
Integrated Forums: Ask questions, get expert replies and read fascinating discussions. Learn more...

Includes

  • 3-5 hours of content
  • 88 pages
  • A Catalog of TDD Patterns
  • 14 Videos
  • 2 Exercises
  • 3 Interactive Quizzes
  • A TDD Flowchart
  • Support for Visual Studio
  • Support for Eclipse CDT
  • Uses embUnit

Contents

You Are Here 3
Test-Driven Development In One Sentence 4
Some TDD -Isms 5
Why Adopt TDD? 6
This Album 7
A First Look At The TDD Cycle ← Click to Preview 9
Keyword: Red 10
Getting To Red 11
Keyword: Green 12
Getting To Green 13
It Isn't Easy Getting to Green 14
Keyword: Refactor 15
Refactorings In The TDD Cycle 16
Refactoring Is Critical 17
Keyword: Integrate 18
Integration 19
Continuous Integration 20
This Will Never Work! 22
We Only Have Hard Defects Here 23
It All Boils Down to Expectations… 24
TDD Will Not Validate Our System 25
Tests+Code > Just Code ← Click to Preview 26
An End To The Arguments? 27
Introducing TDD Patterns 29
Introduction Video 30
Essence First 31
Essence First Video 32
Test First 33
Test First Video 34
Assert First 35
Assert First Video 36
Frame First ← Click to Preview 37
Frame First Video ← Click to Preview 38
Do The Simplest Thing That Could Possibly Work 39
Do The Simplest Thing That Could Possibly Work Video 40
Break It To Make It 41
Break It To Make It Video 42
Refactor Mercilessly 43
Refactor Mercilessly Video 44
Test Driving 45
Test Driving Video 46
Summary of the Patterns 47
TDD Cycle Deeper Look Video 49
TDDing Big Bill's Billing System ← Click to Preview 51
Some Advice Before You Begin 52
Installing Our Plugin 53
Setup 54
An Exercise Composed of Four Tasks 55
Task 1: Calculate A Simple Phone Bill 56
Task 2: Calculate Excess Minutes 57
Task 3: Calculate Family Discount 58
Task 4: Calculate Complete Phone Bill 59
Task 1 Solution ← Click to Preview 60
Task 2 Solution 61
Task 3 Solution 62
Task 4 Solution 63
An Alternative Solution 64
A Third Solution 65
The Secret To TDDing GUIs 67
The Open Dialog 68
A Naive Implementation 69
The Thick Black Line 70
Model: The Dialog Without The GUI Parts 71
Models Don't Speak GUI 72
View: All GUI, All The Time 73
How The Split Helps 74
The Meta-Pattern: Split Along TDD-Happy Lines 75
Does TDD Eliminate Formal Design? 77
What Is Design, Anyway? 78
A Massively Experienced TDD Team ← Click to Preview 79
Where's My Design? 80
Inverted Design? 81
Distributed Design 82
Incremental Design 83
The Stepwise Premise 84
Architecture 85
Architecture Story 86
Conclusion 88

Related Items