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
100
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
Rubyの!メソッドをちゃんと理解する
alstrocrack
1
320
インプロセスQAにおいて大事にしていること / In-process QA Meetup
medley
0
170
M5UnitUnified 最新動向 2025/05
gob
0
140
プロダクトエンジニアのしごと 〜 受託 × 高難度を乗り越えるOptium開発 〜
algoartis
0
230
ビカム・ア・コパイロット
ymd65536
1
150
エンジニア向けCursor勉強会 @ SmartHR
yukisnow1823
3
13k
設計の本質:コード、システム、そして組織へ / The Essence of Design: To Code, Systems, and Organizations
nrslib
10
3.8k
UMAPをざっくりと理解 / Overview of UMAP
kaityo256
PRO
3
1.6k
リアーキテクチャの現場で向き合う 既存サービスの読み解きと設計判断
ymiyamu
0
130
一緒に働きたくなるプログラマの思想 #QiitaConference
mu_zaru
82
21k
OpenTelemetry + LLM = OpenLLMetry!?
yunosukey
1
160
Cloudflare Workersで進めるリモートMCP活用
syumai
7
870
Featured
See All Featured
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
21k
Become a Pro
speakerdeck
PRO
28
5.3k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
[RailsConf 2023] Rails as a piece of cake
palkan
54
5.5k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
48
5.4k
Unsuck your backbone
ammeep
671
58k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.3k
KATA
mclloyd
29
14k
YesSQL, Process and Tooling at Scale
rocio
172
14k
RailsConf 2023
tenderlove
30
1.1k
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