Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
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.1k
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
全員アーキテクトで挑む、 巨大で高密度なドメインの紐解き方
agatan
5
6.2k
What's New in Web AI?
christianliebel
PRO
0
130
詳細の決定を遅らせつつ実装を早くする
shimabox
1
1.3k
CSC509 Lecture 13
javiergs
PRO
0
260
Building AI Agents with TypeScript #TSKaigiHokuriku
izumin5210
5
680
Microservices Platforms: When Team Topologies Meets Microservices Patterns
cer
PRO
0
120
DartASTとその活用
sotaatos
2
140
最新のDirectX12で使えるレイトレ周りの機能追加について
projectasura
0
280
Java_プロセスのメモリ監視の落とし穴_NMT_で見抜けない_glibc_キャッシュ問題_.pdf
ntt_dsol_java
0
220
OSS開発者の憂鬱
yusukebe
12
5.5k
FlutterKaigi 2025 システム裏側
yumnumm
0
1.1k
Claude Code on the Web を超える!? Codex Cloud の実践テク5選
sunagaku
0
580
Featured
See All Featured
What's in a price? How to price your products and services
michaelherold
246
12k
The Cost Of JavaScript in 2023
addyosmani
55
9.3k
Why Our Code Smells
bkeepers
PRO
340
57k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
9
980
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Embracing the Ebb and Flow
colly
88
4.9k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.1k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.6k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.7k
Making the Leap to Tech Lead
cromwellryan
135
9.6k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
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 ♥