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...
Instant Critiques
Instant Critiques: Take a TDD exercise and get instant feedback from our automated band of experts. 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
  • 108 pages
  • A Catalog of TDD Patterns
  • 14 Videos
  • 2 Exercises
  • 3 Interactive Quizzes
  • A TDD Flowchart
  • Automated TDD Critique
  • Platform-independent code
  • Support for Visual Studio
  • Support for Eclipse CDT
  • Uses Google Test

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
Why Record? 51
The Steps To Take 52
Download the Exercise 53
Import the Exercise 54
Perform the Exercise 55
Upload the Archive 56
Critique Your Performance 57
Remaining Issues 58
Carry On! 59
The Purpose of this Exercise 61
Critiquing Your Performance 62
Proceed with Caution 63
Download the Code 64
Exercise Instructions 65
Upload Your Work 66
A Graph of Your TDD Activity 67
Your Critique Results 68
Your Customized Feedback 69
Our Solution 70
TDDing Big Bill's Billing System ← Click to Preview 72
Some Advice Before You Begin 73
Setup 74
An Exercise Composed of Four Tasks 75
Task 1: Calculate A Simple Phone Bill 76
Task 2: Calculate Excess Minutes 77
Task 3: Calculate Family Discount 78
Task 4: Calculate Complete Phone Bill 79
Task 1 Solution ← Click to Preview 80
Task 2 Solution 81
Task 3 Solution 82
Task 4 Solution 83
An Alternative Solution 84
A Third Solution 85
The Secret To TDDing GUIs 87
The Open Dialog 88
A Naive Implementation 89
The Thick Black Line 90
Model: The Dialog Without The GUI Parts 91
Models Don't Speak GUI 92
View: All GUI, All The Time 93
How The Split Helps 94
The Meta-Pattern: Split Along TDD-Happy Lines 95
Does TDD Eliminate Formal Design? 97
What Is Design, Anyway? 98
A Massively Experienced TDD Team ← Click to Preview 99
Where's My Design? 100
Inverted Design? 101
Distributed Design 102
Incremental Design 103
The Stepwise Premise 104
Architecture 105
Architecture Story 106
Conclusion 108

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...
Instant Critiques
Instant Critiques: Take a TDD exercise and get instant feedback from our automated band of experts. 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
  • 108 pages
  • A Catalog of TDD Patterns
  • 14 Videos
  • 2 Exercises
  • 3 Interactive Quizzes
  • A TDD Flowchart
  • Automated TDD Critique
  • Platform-independent code
  • Support for Visual Studio
  • Support for Eclipse CDT
  • Uses Google Test

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
Why Record? 51
The Steps To Take 52
Download the Exercise 53
Import the Exercise 54
Perform the Exercise 55
Upload the Archive 56
Critique Your Performance 57
Remaining Issues 58
Carry On! 59
The Purpose of this Exercise 61
Critiquing Your Performance 62
Proceed with Caution 63
Download the Code 64
Exercise Instructions 65
Upload Your Work 66
A Graph of Your TDD Activity 67
Your Critique Results 68
Your Customized Feedback 69
Our Solution 70
TDDing Big Bill's Billing System ← Click to Preview 72
Some Advice Before You Begin 73
Setup 74
An Exercise Composed of Four Tasks 75
Task 1: Calculate A Simple Phone Bill 76
Task 2: Calculate Excess Minutes 77
Task 3: Calculate Family Discount 78
Task 4: Calculate Complete Phone Bill 79
Task 1 Solution ← Click to Preview 80
Task 2 Solution 81
Task 3 Solution 82
Task 4 Solution 83
An Alternative Solution 84
A Third Solution 85
The Secret To TDDing GUIs 87
The Open Dialog 88
A Naive Implementation 89
The Thick Black Line 90
Model: The Dialog Without The GUI Parts 91
Models Don't Speak GUI 92
View: All GUI, All The Time 93
How The Split Helps 94
The Meta-Pattern: Split Along TDD-Happy Lines 95
Does TDD Eliminate Formal Design? 97
What Is Design, Anyway? 98
A Massively Experienced TDD Team ← Click to Preview 99
Where's My Design? 100
Inverted Design? 101
Distributed Design 102
Incremental Design 103
The Stepwise Premise 104
Architecture 105
Architecture Story 106
Conclusion 108

Related Items