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
Testing Express: 0 to 100 in 30 slides
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Tuenti
July 16, 2016
Programming
5
410
Testing Express: 0 to 100 in 30 slides
Tuenti
July 16, 2016
Tweet
Share
More Decks by Tuenti
See All by Tuenti
Creating a culture of learning at Tuenti
tuenti
1
140
Poniendo Kotlin en producción a palos
tuenti
0
120
Culture Matters
tuenti
1
190
Defensive Programming & Resilient systems in Real World (TM)
tuenti
1
1.6k
How .Tuenti develops tech products
tuenti
0
90
Microservices and Testing, talking from the experience
tuenti
2
170
Love your tests
tuenti
0
1.2k
Experiences with Microservices at Tuenti
tuenti
0
270
Tuenti <3 Testing
tuenti
0
1.3k
Other Decks in Programming
See All in Programming
AI時代のソフトウェア開発でも「人が仕様を書く」から始めよう-医療IT現場での実践とこれから
koukimiura
0
150
Agent Skills Workshop - AIへの頼み方を仕組み化する
gotalab555
15
8.8k
ふつうの Rubyist、ちいさなデバイス、大きな一年
bash0c7
0
960
文字コードの話
qnighy
44
17k
20260313 - Grafana & Friends Taipei #1 - Kubernetes v1.36 的開發雜記:那些困在 Alpha 加護病房太久的 Metrics
tico88612
0
200
grapheme_strrev関数が採択されました(あと雑感)
youkidearitai
PRO
1
220
nuget-server - あなたが必要だったNuGetサーバー
kekyo
PRO
0
260
AIとペアプロして処理時間を97%削減した話 #pyconshizu
kashewnuts
1
240
2026年は Rust 置き換えが流行る! / 20260220-niigata-5min-tech
girigiribauer
0
240
モダンOBSプラグイン開発
umireon
0
130
The Ralph Wiggum Loop: First Principles of Autonomous Development
sembayui
0
3.7k
maplibre-gl-layers - 地図に移動体たくさん表示したい
kekyo
PRO
0
270
Featured
See All Featured
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
110
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
118
110k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.1k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.3k
So, you think you're a good person
axbom
PRO
2
2k
YesSQL, Process and Tooling at Scale
rocio
174
15k
The SEO Collaboration Effect
kristinabergwall1
0
390
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
62
52k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
Odyssey Design
rkendrick25
PRO
2
550
Producing Creativity
orderedlist
PRO
348
40k
Transcript
Testing Express: 0 to 100 in 30 slides
[email protected]
@kinisoftware
Self-promotion Q&A => http:/ /goo.gl/slides/x4c4xw
Why this talk? • We <3 our customers • Confidence
• Safety Net • Refactoring, refactoring, refactoring • It is professional, guys :) Q&A => http:/ /goo.gl/slides/x4c4xw
By Mike Cohn Q&A => http:/ /goo.gl/slides/x4c4xw
Black-box oriented tests End to end Phone/simulator No tests doubles
can be used Needs a full & provisionable server environment Slow tests Page Objects Q&A => http:/ /goo.gl/slides/x4c4xw
JVM No need external env set up Tests run in
build time Use test doubles Slower tests than unit tests Q&A => http:/ /goo.gl/slides/x4c4xw
JVM Application classes in isolation Test doubles Build time Really
fast tests F.I.R.S.T. Q&A => http:/ /goo.gl/slides/x4c4xw
What’s wrong with this?
Testability • Mixing object graph construction with application logic •
Ask for things, don’t look for things • Doing work in constructor • Global State/Singletons • Static methods Q&A => http:/ /goo.gl/slides/x4c4xw
Test Doubles • Stubs => Canned answers • Mocks =>
Stubs + verify • Spies => Record interaction info • Fake => I seem real but not • Dummy => I do nothing at all Q&A => http:/ /goo.gl/slides/x4c4xw
“It’s overwhelmingly easy to write bad unit tests that add
very little value to a project while inflating the cost of code changes astronomically.” • Code coverage != Test quality • Don’t Repeat Yourself (Globally) • Mocks, mocks everywhere • Test smells
Talk is cheap. Show me the code.
Q&A => http:/ /goo.gl/slides/x4c4xw
None
Q&A => http:/ /goo.gl/slides/x4c4xw
None
Code readability + Naming + Code structure + DSL
None
Q&A => http:/ /goo.gl/slides/x4c4xw
None
• Builders
Builders + Mothers
None
None
None
Q&A => http:/ /goo.gl/slides/x4c4xw
Q&A
[email protected]
@kinisoftware http:/ /goo.gl/slides/x4c4xw
Thanks!! We are hiring!
[email protected]
@kinisoftware
Extra Ball • Mix JVM Languages (Groovy, Scala, Kotlin, etc)
• Java 8 fuck yeah! • JUnit 5 • Mutation Testing
Extra Ball • Effective Unit Testing • WEWUT • Pragmatic
Unit Testing with JUnit • GOOS • The Art of Unit Testing • JUnit in Action • xUnit Patterns • Refactoring