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
David
November 18, 2022
Technology
0
28
Fast, Robust, Accurate Or how to love your tests again
An empiric take to testing.
David
November 18, 2022
Tweet
Share
More Decks by David
See All by David
Testing beyond QualityAssurance
xuaps
0
77
WebRTC
xuaps
0
120
Why Django sucks?
xuaps
0
71
Other Decks in Technology
See All in Technology
2025/09/16 仕様駆動開発とAI-DLCが導くAI駆動開発の新フェーズ
masahiro_okamura
0
110
EncryptedSharedPreferences が deprecated になっちゃった!どうしよう! / Oh no! EncryptedSharedPreferences has been deprecated! What should I do?
yanzm
0
480
企業の生成AIガバナンスにおけるエージェントとセキュリティ
lycorptech_jp
PRO
2
190
MagicPod導入から半年、オープンロジQAチームで実際にやったこと
tjoko
0
110
JTCにおける内製×スクラム開発への挑戦〜内製化率95%達成の舞台裏/JTC's challenge of in-house development with Scrum
aeonpeople
0
250
人工衛星のファームウェアをRustで書く理由
koba789
15
8.2k
💡Ruby 川辺で灯すPicoRubyからの光
bash0c7
0
120
Snowflake Intelligenceにはこうやって立ち向かう!クラシルが考えるAI Readyなデータ基盤と活用のためのDataOps
gappy50
0
270
Autonomous Database - Dedicated 技術詳細 / adb-d_technical_detail_jp
oracle4engineer
PRO
4
10k
新アイテムをどう使っていくか?みんなであーだこーだ言ってみよう / 20250911-rpi-jam-tokyo
akkiesoft
0
330
スクラムガイドに載っていないスクラムのはじめかた - チームでスクラムをはじめるときに知っておきたい勘所を集めてみました! - / How to start Scrum that is not written in the Scrum Guide 2nd
takaking22
1
150
プラットフォーム転換期におけるGitHub Copilot活用〜Coding agentがそれを加速するか〜 / Leveraging GitHub Copilot During Platform Transition Periods
aeonpeople
1
220
Featured
See All Featured
RailsConf 2023
tenderlove
30
1.2k
Unsuck your backbone
ammeep
671
58k
How to train your dragon (web standard)
notwaldorf
96
6.2k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.9k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Reflections from 52 weeks, 52 projects
jeffersonlam
352
21k
4 Signs Your Business is Dying
shpigford
184
22k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Building an army of robots
kneath
306
46k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.6k
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]