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
Fast, Robust, Accurate Or how to love your test...
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
David
November 18, 2022
Technology
40
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Fast, Robust, Accurate Or how to love your tests again
An empiric take to testing.
David
November 18, 2022
More Decks by David
See All by David
Testing beyond QualityAssurance
xuaps
0
82
WebRTC
xuaps
0
120
Why Django sucks?
xuaps
0
85
Other Decks in Technology
See All in Technology
探索・可視化・自動化を一本化 Amazon Quickでデータ活用スピードを上げる方法
koheiyoshikawa
0
140
『モデル + ハーネス』で読み解く AIエージェント入門
oracle4engineer
PRO
1
110
個人開発で育てる「大規模設計の苗床」 - AI時代の1人開発から始める業務への知識接続 / The Seedbed for Large-Scale Design - From AI-Era Solo Projects to Professional Knowledge
bitkey
PRO
1
300
LLM/Agent評価:トップ営業の発言を「正解」にする 〜暗黙的正解による評価を営業資産に変える〜
takkuhiro
1
240
非定型なドキュメントを効率よくリファクタする 〜えぇ!?仕様書27本の移行が1日で終わったって!?〜
subroh0508
2
590
AI時代の開発生産性は、個人技からチーム設計へ
moongift
PRO
4
2.4k
AmplifyHostingConstructからSSRフレームワークのためのホスティング設計を考察する/amplify-hosting-construct
fossamagna
1
270
Devsumi 2026 Summer 人もAIも使える共通基盤を事業の加速装置にする~デザインシステム運用に学ぶ組織レバレッジ~ 渡辺 凌央
legalontechnologies
PRO
1
260
ガバナンスの「ちょうどいい落とし所」を探れ!開発スピードを妨げない運用判断の勘所 / SRE NEXT 2026
genda
1
270
2年前に削除したPHPクラスが、 ある日突然決済をエラーにした
ykagano
1
630
キャリアLT会#3
beli68
0
170
マルチアカウント環境でSecurity Hubの運用、その後どうなった? / SRE NEXT 2026 miniLT会
genda
0
110
Featured
See All Featured
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.6k
Statistics for Hackers
jakevdp
799
230k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.5k
For a Future-Friendly Web
brad_frost
183
10k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
67k
Everyday Curiosity
cassininazir
0
260
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
650
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
240
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.9k
Paper Plane (Part 1)
katiecoart
PRO
1
9.7k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
550
Transcript
@xuapsdev Fast, Robust, Accurate (WIP) Or how to love your
tests again
This is not a talk about opinions
1 - We progress faster with test
2 - Bad tests could be worst than no tests
None
So, what is a bad test from an empirical point
of view?
None
Slow tests
Slow tests False alarms
Slow tests False alarms Di ffi cult to read tests
Brittle tests Slow tests False alarms Di ffi cult to
read tests
Brittle tests Slow tests False alarms Di ffi cult to
read tests What else?
3 properties Speed Detection of regressions Resistance to refactor
Speed
Resistance to refactor
Detection of regression
Resistance to refactor Detection of regressions Speed End to end
test Trivial tests Brittle tests
Oh boy my tests are really bad…
I am so happy that my tests are so good…
None
Lets get some data
Speed
DEMO
Resistance to refactor
Resistance to refactor
DEMO
Detection of regression
Detection of regression
DEMO
I need to start using this right now
How am I using this data?
To decide how to test something
Tune it!
Tune it! Resistance to refactor Speed Detection of regressions
Tune it! Resistance to refactor Speed Detection of regressions Resistance
to refactor Detection of regressions Speed End to end test Trivial tests Brittle tests
To decide if write a test is worthy or not
No test is better than a bad test but, then
we need something else
O b s e r v a b i l
i t y
@xuapsdev @
[email protected]
Do you want an extra ball?
Maintainability Extra ball
None
@xuapsdev @
[email protected]