Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Feature. Tests. Implementation.
Search
Jay Hayes
April 26, 2017
Programming
0
67
Feature. Tests. Implementation.
Slides to accompany
https://github.com/iamvery/testing-workshop/releases/tag/v1
Jay Hayes
April 26, 2017
Tweet
Share
More Decks by Jay Hayes
See All by Jay Hayes
Build Elixir Phoenix
iamvery
0
73
Elixir in Elixir
iamvery
1
150
A Less Complex Web with Ratchet & Jank
iamvery
0
320
Ratchet & Jank
iamvery
0
190
Elixir in Elixir
iamvery
6
1.2k
Rubyist Does Swift
iamvery
0
87
Swift Introduction
iamvery
0
280
Data Integrity
iamvery
0
100
Pairing with tmux
iamvery
2
210
Other Decks in Programming
See All in Programming
20 years of Symfony, what's next?
fabpot
2
350
C-Shared Buildで突破するAI Agent バックテストの壁
po3rin
0
380
「コードは上から下へ読むのが一番」と思った時に、思い出してほしい話
panda728
PRO
38
26k
DSPy Meetup Tokyo #1 - はじめてのDSPy
masahiro_nishimi
1
160
俺流レスポンシブコーディング 2025
tak_dcxi
14
8.7k
【CA.ai #3】Google ADKを活用したAI Agent開発と運用知見
harappa80
0
300
大体よく分かるscala.collection.immutable.HashMap ~ Compressed Hash-Array Mapped Prefix-tree (CHAMP) ~
matsu_chara
2
220
Giselleで作るAI QAアシスタント 〜 Pull Requestレビューに継続的QAを
codenote
0
170
How Software Deployment tools have changed in the past 20 years
geshan
0
29k
ローターアクトEクラブ アメリカンナイト:川端 柚菜 氏(Japan O.K. ローターアクトEクラブ 会長):2720 Japan O.K. ロータリーEクラブ2025年12月1日卓話
2720japanoke
0
730
Cell-Based Architecture
larchanjo
0
110
CSC509 Lecture 14
javiergs
PRO
0
220
Featured
See All Featured
Bash Introduction
62gerente
615
210k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.8k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
How STYLIGHT went responsive
nonsquared
100
6k
Faster Mobile Websites
deanohume
310
31k
The Cult of Friendly URLs
andyhume
79
6.7k
Making the Leap to Tech Lead
cromwellryan
135
9.7k
Done Done
chrislema
186
16k
KATA
mclloyd
PRO
32
15k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
54k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Producing Creativity
orderedlist
PRO
348
40k
Transcript
@iamvery ♥ FEATURE. TESTS. IMPL.
@iamvery ♥ MATERIALS bit.ly/rc17tddv1 ✨ ✨ TDD: From Feature to
Tests to Implementation bit.ly/rc17tddlive
@iamvery ♥ FEATURE. TESTS. IMPL.
@iamvery ♥ bit.ly/rc17tddv1
@iamvery ♥ bit.ly/rc17tddv1 ✍
@iamvery ♥ bit.ly/rc17tddv1
@iamvery ♥ bit.ly/rc17tddv1
Jay Hayes https://iamvery.com — @iamvery
@iamvery ♥
None
We develop.
We teach.
We write.
@iamvery ♥ bit.ly/rc17tddv1 Why write tests?
@iamvery ♥ bit.ly/rc17tddv1 DEFINE DONE
@iamvery ♥ bit.ly/rc17tddv1 CONFI DENCE
@iamvery ♥ bit.ly/rc17tddv1 What types of tests are there?
@iamvery ♥ bit.ly/rc17tddv1 acceptance unit model system smoke integration load
@iamvery ♥ bit.ly/rc17tddv1 INTEGRATED. ISOLATED.
@iamvery ♥ bit.ly/rc17tddv1 INTEGRATED. Plays well with others.
@iamvery ♥ bit.ly/rc17tddv1 VERIFY BEHAVIOR
@iamvery ♥ bit.ly/rc17tddv1 SYSTEM
@iamvery ♥ bit.ly/rc17tddv1 ISOLATED. Lonely, like a wolf.
@iamvery ♥ bit.ly/rc17tddv1 DRIVE DESIGN
@iamvery ♥ bit.ly/rc17tddv1 Other names define purpose.
@iamvery ♥ bit.ly/rc17tddv1 Acceptance Tests acceptable behavior. “feature”
@iamvery ♥ bit.ly/rc17tddv1 Load Test system resilience. “pressure”
@iamvery ♥ bit.ly/rc17tddv1 Smoke Low coverage, high level “sanity”
@iamvery ♥ bit.ly/rc17tddv1 ETC.
@iamvery ♥ bit.ly/rc17tddv1 THEY’RE ALL INTEGRATED
@iamvery ♥ bit.ly/rc17tddv1 What about paradigms?
@iamvery ♥ bit.ly/rc17tddv1 TDD
@iamvery ♥ bit.ly/rc17tddv1 BDD
@iamvery ♥ bit.ly/rc17tddv1 ADD
@iamvery ♥ bit.ly/rc17tddv1 TBH
@iamvery ♥ bit.ly/rc17tddv1 IDC
@iamvery ♥ bit.ly/rc17tddv1 Methodology.
@iamvery ♥ bit.ly/rc17tddv1 Documentation.
@iamvery ♥ bit.ly/rc17tddv1 Communicate intent.
@iamvery ♥ bit.ly/rc17tddv1 You are here
@iamvery ♥ bit.ly/rc17tddv1 Ok, tell me what to do.
@iamvery ♥ bit.ly/rc17tddv1 STEP 1
@iamvery ♥ bit.ly/rc17tddv1 Acceptance ✍
@iamvery ♥ bit.ly/rc17tddv1 Integrated.
@iamvery ♥ bit.ly/rc17tddv1 User perspective.
@iamvery ♥ bit.ly/rc17tddv1 Make stuff up.
@iamvery ♥ bit.ly/rc17tddv1 Write the test you want.
@iamvery ♥ bit.ly/rc17tddv1 Last test to pass.
@iamvery ♥ bit.ly/rc17tddv1 STEP 2
@iamvery ♥ bit.ly/rc17tddv1 Run it.
@iamvery ♥ bit.ly/rc17tddv1 Listen.
@iamvery ♥ bit.ly/rc17tddv1 STEP 3
@iamvery ♥ bit.ly/rc17tddv1 Try to make it happy.
@iamvery ♥ bit.ly/rc17tddv1 Zoom in.
@iamvery ♥ bit.ly/rc17tddv1 Build units♻
@iamvery ♥ bit.ly/rc17tddv1 Isolated.
@iamvery ♥ bit.ly/rc17tddv1 GOTO 2
@iamvery ♥ bit.ly/rc17tddv1 …
@iamvery ♥ bit.ly/rc17tddv1 ✅
@iamvery ♥ bit.ly/rc17tddv1 BEWARE
@iamvery ♥ bit.ly/rc17tddv1 “NOOOPE”
@iamvery ♥ https://github.com/testdouble/contributing-tests/wiki/Testing-Pyramid
@iamvery ♥ bit.ly/rc17tddv1 TL;DR coupling
@iamvery ♥ bit.ly/rc17tddv1 OVER TESTING
@iamvery ♥ bit.ly/rc17tddv1
@iamvery ♥ bit.ly/rc17tddv1 SUPER POWERS +
@iamvery ♥ bit.ly/rc17tddv1 MORE PRODUCTIVE
@iamvery ♥ bit.ly/rc17tddv1 EASIER N THE BRAIN
@iamvery ♥ bit.ly/rc17tddv1 DEMO
QUEST IONS? @iamvery ♥ bit.ly/rc17tddv1
/ YOUR TURN @iamvery ♥ bit.ly/rc17tddv1
@iamvery ♥ bit.ly/rc17tddv1 YOUR FIRST TEST
QUEST IONS? @iamvery ♥ bit.ly/rc17tddv1
/ YOUR TURN @iamvery ♥ bit.ly/rc17tddv1
@iamvery ♥ bit.ly/rc17tddv1 NEW INTERFACE
QUEST IONS? @iamvery ♥ bit.ly/rc17tddv1
/ YOUR TURN @iamvery ♥ bit.ly/rc17tddv1
@iamvery ♥ bit.ly/rc17tddv1 GET REAL
QUEST IONS? @iamvery ♥ bit.ly/rc17tddv1
/ YOUR TURN @iamvery ♥ bit.ly/rc17tddv1
@iamvery ♥ bit.ly/rc17tddv1 WRAP IT
QUEST IONS? @iamvery ♥ bit.ly/rc17tddv1
/ YOUR TURN @iamvery ♥ bit.ly/rc17tddv1
@iamvery ♥ bit.ly/rc17tddv1 FAKE IT
QUEST IONS? @iamvery ♥ bit.ly/rc17tddv1
/ YOUR TURN @iamvery ♥ bit.ly/rc17tddv1
@iamvery ♥ bit.ly/rc17tddv1 INJECT IT
QUEST IONS? @iamvery ♥ bit.ly/rc17tddv1
@iamvery ♥ bit.ly/rc17tddv1 BONUS
@iamvery ♥