Test-Driven Development

Evolving Simple Designs Guided By Tests — Java 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
  • 117 pages
  • A Catalog of TDD Patterns
  • 14 Videos
  • 2 Exercises
  • 3 Interactive Quizzes
  • A TDD Flowchart
  • Automated TDD Critique
  • Support for Eclipse
  • Support for IntelliJ

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
Good Or Bad Framing? 39
Do The Simplest Thing That Could Possibly Work 40
Do The Simplest Thing That Could Possibly Work Video 41
Break It To Make It 42
Break It To Make It Video 43
Refactor Mercilessly 44
Refactor Mercilessly Video 45
Test Driving 46
Test Driving Video 47
Summary of the Patterns 48
TDD Cycle Deeper Look Video 50
Why Record? 52
The Steps To Take 53
Install the Recorder 54
Download the Exercise 55
Import the Exercise 56
Perform the Exercise 57
Upload the Archive 58
Critique Your Performance 59
Remaining Issues 60
Carry On! 61
The Purpose of this Exercise 63
Critiquing Your Performance 64
Proceed with Caution 65
Installing Our Plugin 66
Download the Code 67
Exercise Instructions 68
Upload Your Work 69
A Graph of Your TDD Activity 70
Your Critique Results 71
Your Customized Feedback 72
Our Solution 73
TDDing Big Bill's Billing System ← Click to Preview 75
Some Advice Before You Begin 76
Critiquing Your Performance 77
Installing Our Plugin 78
Setup 79
An Exercise Composed of Four Tasks 80
Task 1: Calculate A Simple Phone Bill 81
Task 2: Calculate Excess Minutes 82
Task 3: Calculate Family Discount 83
Task 4: Calculate Complete Phone Bill 84
Upload Your Work 85
A Graph of Your TDD Activity 86
Your Critique Results 87
Your Customized Feedback 88
Task 1 Solution ← Click to Preview 89
Task 2 Solution 90
Task 3 Solution 91
Task 4 Solution 92
An Alternative Solution 93
A Third Solution 94
The Secret To TDDing GUIs 96
The Open Dialog 97
A Naive Implementation 98
The Thick Black Line 99
Model: The Dialog Without The GUI Parts 100
Models Don't Speak GUI 101
View: All GUI, All The Time 102
How The Split Helps 103
The Meta-Pattern: Split Along TDD-Happy Lines 104
Does TDD Eliminate Formal Design? 106
What Is Design, Anyway? 107
A Massively Experienced TDD Team ← Click to Preview 108
Where's My Design? 109
Inverted Design? 110
Distributed Design 111
Incremental Design 112
The Stepwise Premise 113
Architecture 114
Architecture Story 115
Conclusion 117

Related Items

Get this Album

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
  • 117 pages
  • A Catalog of TDD Patterns
  • 14 Videos
  • 2 Exercises
  • 3 Interactive Quizzes
  • A TDD Flowchart
  • Automated TDD Critique
  • Support for Eclipse
  • Support for IntelliJ

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
Good Or Bad Framing? 39
Do The Simplest Thing That Could Possibly Work 40
Do The Simplest Thing That Could Possibly Work Video 41
Break It To Make It 42
Break It To Make It Video 43
Refactor Mercilessly 44
Refactor Mercilessly Video 45
Test Driving 46
Test Driving Video 47
Summary of the Patterns 48
TDD Cycle Deeper Look Video 50
Why Record? 52
The Steps To Take 53
Install the Recorder 54
Download the Exercise 55
Import the Exercise 56
Perform the Exercise 57
Upload the Archive 58
Critique Your Performance 59
Remaining Issues 60
Carry On! 61
The Purpose of this Exercise 63
Critiquing Your Performance 64
Proceed with Caution 65
Installing Our Plugin 66
Download the Code 67
Exercise Instructions 68
Upload Your Work 69
A Graph of Your TDD Activity 70
Your Critique Results 71
Your Customized Feedback 72
Our Solution 73
TDDing Big Bill's Billing System ← Click to Preview 75
Some Advice Before You Begin 76
Critiquing Your Performance 77
Installing Our Plugin 78
Setup 79
An Exercise Composed of Four Tasks 80
Task 1: Calculate A Simple Phone Bill 81
Task 2: Calculate Excess Minutes 82
Task 3: Calculate Family Discount 83
Task 4: Calculate Complete Phone Bill 84
Upload Your Work 85
A Graph of Your TDD Activity 86
Your Critique Results 87
Your Customized Feedback 88
Task 1 Solution ← Click to Preview 89
Task 2 Solution 90
Task 3 Solution 91
Task 4 Solution 92
An Alternative Solution 93
A Third Solution 94
The Secret To TDDing GUIs 96
The Open Dialog 97
A Naive Implementation 98
The Thick Black Line 99
Model: The Dialog Without The GUI Parts 100
Models Don't Speak GUI 101
View: All GUI, All The Time 102
How The Split Helps 103
The Meta-Pattern: Split Along TDD-Happy Lines 104
Does TDD Eliminate Formal Design? 106
What Is Design, Anyway? 107
A Massively Experienced TDD Team ← Click to Preview 108
Where's My Design? 109
Inverted Design? 110
Distributed Design 111
Incremental Design 112
The Stepwise Premise 113
Architecture 114
Architecture Story 115
Conclusion 117

Related Items