Outside-In Test-Driven Development
Learn how to apply Test-Driven Development to target both the big picture and the smallest details of your application.
Authored by:
Mark Seemann
Duration: 2h 27m
Level: Intermediate
Released: 1/16/2013
Features:
Duration: 2h 27m
Level: Intermediate
Released: 1/16/2013
Features:
Course Rating:
You are currently not signed in. Please sign in to access subscriber-only content.
Currently using: {{getCurrentPlayerName()}} [Change]
| expand all | collapse all | Progress | Duration | |
|---|---|---|---|
Walking Skeleton |
|
00:41:31 | |
|
Introduction
|
|
00:52 | |
|
This is not a TDD introduction
|
|
00:30 | |
|
Purpose of Outside-In TDD
|
|
01:10 | |
|
Outside-In TDD at a glance
|
|
01:59 | |
|
Testing means many things
|
|
00:35 | |
|
Isn't this simply BDD?
|
|
01:20 | |
|
The agile testing quadrants
|
|
00:44 | |
|
The test pyramid
|
|
01:31 | |
|
Testing at boundary and unit levels
|
|
00:19 | |
|
Outside-In or Bottom-Up
|
|
00:59 | |
|
Walking Skeleton
|
|
01:34 | |
|
Technical constraints
|
|
01:26 | |
|
Demo introduction
|
|
01:15 | |
|
Demo: Getting a response from a Walking Skeleton
|
|
14:22 | |
|
Demo recap
|
|
01:01 | |
|
Demo: Posting an entry
|
|
03:14 | |
|
Demo recap
|
|
01:03 | |
|
Demo: Posting and reading back an entry
|
|
05:55 | |
|
Demo recap
|
|
00:32 | |
|
Did I cheat?
|
|
00:29 | |
|
Summary
|
|
00:41 | |
Spiking |
|
00:28:24 | |
|
Introduction
|
|
00:47 | |
|
Application perspective
|
|
02:49 | |
|
FIRST
|
|
01:26 | |
|
Four-Phase Test
|
|
02:22 | |
|
Setting up and tearing down a database
|
|
01:42 | |
|
Demo introduction
|
|
00:42 | |
|
Demo: database setup and teardown
|
|
06:58 | |
|
Demo recap
|
|
00:33 | |
|
Backdoor Manipulation
|
|
00:45 | |
|
Demo introduction
|
|
00:41 | |
|
Demo: spiking
|
|
06:40 | |
|
Demo recap
|
|
00:42 | |
|
Did I cheat?
|
|
00:42 | |
|
Summary
|
|
01:35 | |
Triangulation |
|
00:36:40 | |
|
Introduction
|
|
00:23 | |
|
Outside-In versus Bottom-Up
|
|
00:35 | |
|
When to use
|
|
00:58 | |
|
Stimulus/Response
|
|
00:30 | |
|
Triangulation
|
|
00:50 | |
|
Sampling
|
|
02:12 | |
|
Test cases as examples
|
|
01:11 | |
|
Demo introduction
|
|
00:37 | |
|
Demo: Simple Web Token serialization
|
|
08:01 | |
|
Demo recap
|
|
00:22 | |
|
Devil's Advocate. Motivation
|
|
00:50 | |
|
Red/Green/Refactor
|
|
00:26 | |
|
Ping Pong
|
|
00:51 | |
|
Devil's Advocate
|
|
01:20 | |
|
Gollum Style
|
|
00:35 | |
|
Demo introduction
|
|
00:17 | |
|
Demo: Simple Web Token parsing
|
|
09:07 | |
|
Demo recap
|
|
00:25 | |
|
Demo introduction
|
|
00:29 | |
|
Demo: using the Simple Web Token through the Spike
|
|
04:13 | |
|
Demo recap
|
|
00:26 | |
|
Concerns
|
|
01:05 | |
|
Summary
|
|
00:57 | |
Behavior Verification |
|
00:41:02 | |
|
Introduction
|
|
00:33 | |
|
Prerequisites
|
|
01:08 | |
|
Outside-In versus Bottom-Up
|
|
00:29 | |
|
Behavior Verification
|
|
00:20 | |
|
How many things can go wrong here?
|
|
02:15 | |
|
Triangulate all the things!
|
|
01:01 | |
|
Triangulate all the things - not
|
|
00:37 | |
|
Cyclomatic Complexity
|
|
00:47 | |
|
Code Coverage
|
|
00:46 | |
|
Componentization
|
|
01:34 | |
|
Dependency Injection required
|
|
00:23 | |
|
Formal proofs
|
|
00:30 | |
|
Data Flow
|
|
00:30 | |
|
Side Effects
|
|
00:23 | |
|
Observation
|
|
00:17 | |
|
Stimulus/Response
|
|
00:43 | |
|
Initial coverage from Outside-In
|
|
00:30 | |
|
Number of tests per unit
|
|
00:34 | |
|
Characterization Tests
|
|
00:40 | |
|
Demo introduction
|
|
01:07 | |
|
Demo: Refactor review; Characterization Tests
|
|
06:22 | |
|
Demo recap
|
|
00:43 | |
|
Demo introduction
|
|
00:20 | |
|
Demo: Data Flow; Side Effects
|
|
05:00 | |
|
Demo recap
|
|
00:37 | |
|
Demo introduction
|
|
00:14 | |
|
Demo: making the user name code robust
|
|
09:58 | |
|
Demo recap
|
|
00:42 | |
|
Monolith
|
|
00:39 | |
|
Summary
|
|
01:20 |
Walking Skeleton