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
Tuenti
July 16, 2016
Programming
420
5
Share
Testing Express: 0 to 100 in 30 slides
Tuenti
July 16, 2016
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
200
Defensive Programming & Resilient systems in Real World (TM)
tuenti
1
1.6k
How .Tuenti develops tech products
tuenti
0
96
Microservices and Testing, talking from the experience
tuenti
2
170
Love your tests
tuenti
0
1.2k
Experiences with Microservices at Tuenti
tuenti
0
280
Tuenti <3 Testing
tuenti
0
1.3k
Other Decks in Programming
See All in Programming
飯MCP
yusukebe
0
490
ドメインイベントでビジネスロジックを解きほぐす #phpcon_odawara
kajitack
2
130
PCOVから学ぶコードカバレッジ #phpcon_odawara
o0h
PRO
0
250
セグメントとターゲットを意識するプロポーザルの書き方 〜採択の鍵は、誰に刺すかを見極めるマーケティング戦略にある〜
m3m0r7
PRO
0
400
Vibe NLP for Applied NLP
inesmontani
PRO
0
230
Xdebug と IDE による デバッグ実行の仕組みを見る / Exploring-How-Debugging-Works-with-Xdebug-and-an-IDE
shin1x1
0
360
PHP で mp3 プレイヤーを実装しよう
m3m0r7
PRO
0
220
20260320登壇資料
pharct
0
170
事業会社でのセキュリティ長期インターンについて
masachikaura
0
240
PHP でエミュレータを自作して Ubuntu を動かそう
m3m0r7
PRO
2
170
forteeの改修から振り返るPHPerKaigi 2026
muno92
PRO
3
250
YJITとZJITにはイカなる違いがあるのか?
nakiym
0
180
Featured
See All Featured
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
720
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.2k
Code Reviewing Like a Champion
maltzj
528
40k
How to train your dragon (web standard)
notwaldorf
97
6.6k
Building Applications with DynamoDB
mza
96
7k
Designing for Timeless Needs
cassininazir
0
190
Amusing Abliteration
ianozsvald
1
150
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.5k
Code Review Best Practice
trishagee
74
20k
The browser strikes back
jonoalderson
0
940
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
260
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
9.9k
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