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
5
350
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
99
Poniendo Kotlin en producción a palos
tuenti
0
93
Culture Matters
tuenti
1
170
Defensive Programming & Resilient systems in Real World (TM)
tuenti
1
1.4k
How .Tuenti develops tech products
tuenti
0
73
Microservices and Testing, talking from the experience
tuenti
2
140
Love your tests
tuenti
0
1.2k
Experiences with Microservices at Tuenti
tuenti
0
240
Tuenti <3 Testing
tuenti
0
1.3k
Other Decks in Programming
See All in Programming
Browser and UI #2 HTML/ARIA
ken7253
2
160
By the way Google Cloud Next 2025に行ってみてどうだった
ymd65536
0
110
Fiber Scheduler vs. General-Purpose Parallel Client
hayaokimura
1
230
「影響が少ない」を自分の目でみてみる
o0h
PRO
2
1.2k
iOSアプリで測る!名古屋駅までの 方向と距離
ryunakayama
0
130
Enterprise Web App. Development (1): Build Tool Training Ver. 5
knakagawa
1
120
GitHub Copilot for Azureを使い倒したい
ymd65536
1
260
On-the-fly Suggestions of Rewriting Method Deprecations
ohbarye
1
4.2k
Vibe Coding の話をしよう
schroneko
12
3.4k
「”誤った使い方をすることが困難”な設計」で良いコードの基礎を固めよう / phpcon-odawara-2025
taniguhey
0
180
Golangci-lint v2爆誕: 君たちはどうすべきか
logica0419
1
200
Boost Your Performance and Developer Productivity with Jakarta EE 11
ivargrimstad
0
500
Featured
See All Featured
The Language of Interfaces
destraynor
157
25k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.6k
Building a Modern Day E-commerce SEO Strategy
aleyda
40
7.2k
Stop Working from a Prison Cell
hatefulcrawdad
268
20k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Building Adaptive Systems
keathley
41
2.5k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
680
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Site-Speed That Sticks
csswizardry
6
510
Transcript
Testing Express: 0 to 100 in 30 slides kini@tuenti.com @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 kini@tuenti.com @kinisoftware http:/ /goo.gl/slides/x4c4xw
Thanks!! We are hiring! kini@tuenti.com @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