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
35
0
Share
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
81
WebRTC
xuaps
0
120
Why Django sucks?
xuaps
0
84
Other Decks in Technology
See All in Technology
Dario Amodi『Policy on the AI Exponential』を理解する
nagatsu
0
160
ChatworkとBPaaS 異なる特性で学んだAI機能開発の ベストプラクティス
kubell_hr
2
2.6k
もりもり新機能を一挙紹介! AgentCoreに入門して、AWS上にAIエージェントを構築しよう
minorun365
PRO
6
760
AIプラットフォームを運用し続けるための可観測性
tanimuyk
4
1.1k
Oracle AI Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
4
2.8k
ルールやカスタム機能、どう使う?理想の出力を引き出すために今知りたいIBM Bob 5つの機能
muehara
1
330
Claude Codeを組織で使いこなす— サーバサイドAIエージェント運用の実践知
techtekt
PRO
0
200
電子辞書Brainをネットに繋げてみた(自力編)
raspython3
0
440
美味しいスイスチーズを作ろう🧀🐭
taigamikami
1
230
形式手法特論:公平性制約の位相的特徴づけ #kernelvm / Kernel VM Study Kansai 12th
ytaka23
1
710
Djangoユーザが知っ得なPostgreSQL機能 - 設計の選択肢を増やす / Djang-use-PostgreSQL
soudai
PRO
0
170
AIガバナンス実践 - 生成AIコネクタのデータ漏洩リスクと実務対策
knishioka
0
180
Featured
See All Featured
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
200
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.5k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
480
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.5k
Unsuck your backbone
ammeep
672
58k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.8k
How to Think Like a Performance Engineer
csswizardry
28
2.6k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.9k
Optimizing for Happiness
mojombo
378
71k
Six Lessons from altMBA
skipperchong
29
4.3k
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]