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
62
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
65
Elixir in Elixir
iamvery
1
140
A Less Complex Web with Ratchet & Jank
iamvery
0
240
Ratchet & Jank
iamvery
0
190
Elixir in Elixir
iamvery
6
1.1k
Rubyist Does Swift
iamvery
0
81
Swift Introduction
iamvery
0
260
Data Integrity
iamvery
0
94
Pairing with tmux
iamvery
2
180
Other Decks in Programming
See All in Programming
GoとPHPのインターフェイスの違い
shimabox
2
190
iOSエンジニアから始める visionOS アプリ開発
nao_randd
3
130
2024年のkintone API振り返りと2025年 / kintone API look back in 2024
tasshi
0
220
技術を根付かせる / How to make technology take root
kubode
1
250
データベースのオペレーターであるCloudNativePGがStatefulSetを使わない理由に迫る
nnaka2992
0
150
コミュニティ駆動 AWS CDK ライブラリ「Open Constructs Library」 / community-cdk-library
gotok365
2
120
1年目の私に伝えたい!テストコードを怖がらなくなるためのヒント/Tips for not being afraid of test code
push_gawa
0
150
時計仕掛けのCompose
mkeeda
1
300
Honoをフロントエンドで使う 3つのやり方
yusukebe
7
3.3k
Introduction to kotlinx.rpc
arawn
0
700
もう僕は OpenAPI を書きたくない
sgash708
5
1.6k
チームリードになって変わったこと
isaka1022
0
200
Featured
See All Featured
The Language of Interfaces
destraynor
156
24k
Become a Pro
speakerdeck
PRO
26
5.1k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
193
16k
Being A Developer After 40
akosma
89
590k
Java REST API Framework Comparison - PWX 2021
mraible
28
8.4k
Product Roadmaps are Hard
iamctodd
PRO
50
11k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
2.1k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
29
1k
Typedesign – Prime Four
hannesfritz
40
2.5k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.4k
Why Our Code Smells
bkeepers
PRO
336
57k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.3k
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 ♥