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
How Much Should We Test?
Search
Michael Cheng
March 09, 2017
Programming
210
1
Share
How Much Should We Test?
Presented at SP Tech Talk
Michael Cheng
March 09, 2017
More Decks by Michael Cheng
See All by Michael Cheng
Intro to GraphQL Workshop
miccheng
0
140
Prioritizing Technical Debt
miccheng
0
190
JuniorDevSG - Intro to Coding Dojo
miccheng
0
180
Intro to Web Development with PHP - Lesson 1
miccheng
0
150
Engineers.SG Volunteers Training (4 Aug 2018)
miccheng
0
100
Introduction to PHPConf.Asia 2018
miccheng
0
770
What about Ruby on Rails?... from a PHP Guy
miccheng
0
160
Engineers.SG Volunteers Training (July 2017)
miccheng
0
120
Concourse CI in the Wild
miccheng
0
260
Other Decks in Programming
See All in Programming
メッセージングを利用して時間的結合を分離しよう #phperkaigi
kajitack
3
550
The Monolith Strikes Back: Why AI Agents ❤️ Rails Monoliths
serradura
0
110
条件判定に名前、つけてますか? #phperkaigi #c
77web
2
950
VueエンジニアがReactを触って感じた_設計の違い
koukimiura
0
150
我々はなぜ「層」を分けるのか〜「関心の分離」と「抽象化」で手に入れる変更に強いシンプルな設計〜 #phperkaigi / PHPerKaigi 2026
shogogg
2
780
Ruby and LLM Ecosystem 2nd
koic
1
1.5k
おれのAgentic Coding 2026/03
tsukasagr
1
130
Coding as Prompting Since 2025
ragingwind
0
680
モダンOBSプラグイン開発
umireon
0
200
2026-03-27 #terminalnight 変数展開とコマンド展開でターミナル作業をスマートにする方法
masasuzu
0
290
煩雑なSkills管理をSoC(関心の分離)により解決する――関心を分離し、プロンプトを部品として育てるためのOSSを作った話 / Solving Complex Skills Management Through SoC (Separation of Concerns)
nrslib
3
390
ネイティブアプリとWebフロントエンドのAPI通信ラッパーにおける共通化の勘所
suguruooki
0
240
Featured
See All Featured
Making the Leap to Tech Lead
cromwellryan
135
9.8k
So, you think you're a good person
axbom
PRO
2
2k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
25k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
The Language of Interfaces
destraynor
162
26k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.5k
A designer walks into a library…
pauljervisheath
211
24k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
1.9k
Mind Mapping
helmedeiros
PRO
1
140
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
140
Fireside Chat
paigeccino
42
3.9k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Transcript
HOW MUCH SHOULD WE TEST? Or how to stop hating
your tests
GOALS OF TEST SUITE • Tests should be thorough •
Tests should be stable • Tests should be fast • Tests should be few (minimal)
TEST DRIVEN DEVELOPMENT • We use test cases to guide
the design of our code • 2 approaches to testing - Inside Out and Outside In • Outside In - Use integration tests to guide you • Inside Out - Build & test individual components, integrate later
None
None
Object under test
Object under test Incoming Messages
Object under test Incoming Messages Outgoing Messages
Object under test Incoming Messages Outgoing Messages
Object under test Incoming Messages Outgoing Messages Send to self
Object under test Incoming Messages Outgoing Messages Send to self
Message Types:
Object under test Incoming Messages Outgoing Messages Send to self
Query Message Types:
Object under test Incoming Messages Outgoing Messages Send to self
Command Query Message Types:
MESSAGE TYPES • Query: Returns something / changes nothing •
Command: Returns nothing / changes something Object under test Incoming Messages Outgoing Messages Send to self Command Query
None
None
None
None
None
None
RESOURCES • “The Magic Tricks of Testing” - Sandi Metz
http://confreaks.tv/videos/railsconf2013- the-magic-tricks-of-testing • “Working Effectively with Unit Tests” - Jay Fields https://leanpub.com/wewut