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
430
5
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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
150
Poniendo Kotlin en producción a palos
tuenti
0
130
Culture Matters
tuenti
1
200
Defensive Programming & Resilient systems in Real World (TM)
tuenti
1
1.6k
How .Tuenti develops tech products
tuenti
0
98
Microservices and Testing, talking from the experience
tuenti
2
180
Love your tests
tuenti
0
1.2k
Experiences with Microservices at Tuenti
tuenti
0
290
Tuenti <3 Testing
tuenti
0
1.3k
Other Decks in Programming
See All in Programming
AIチームを指揮するOSS「TAKT」活用術 / How to Use “TAKT,” an OSS Tool for Orchestrating AI Teams
nrslib
6
860
OSもどきOS
arkw
0
470
Skillsは効率化、Agentsは"自分の拡張"——Builder時代のエージェント編成(CC Night 2026)
wemra
1
120
その問い、本当に正しいですか?AI時代のエンジニアに必要な哲学と認知科学 / ai-philosophy-cognitive-science
minodriven
4
2.8k
The Arts and Crafts of Work in the AI Era — Toward Mastery in Software Development
kuranuki
1
740
ECSアプリログをFireLensでコスト削減しようとしたけど諦めた話 in Fargate×Node.js
akihisaikeda
2
4k
TypeScript+Orvalで実現する型安全かつ堅牢でスケーラブルなマルチチャネル通知基盤 / TSKaigi Night talks ~after conference~
d0riven
0
320
AIエージェントの隔離技術の徹底比較
kawayu
0
470
AIとASP.NET Coreで雑Webアプリを作った話
mayuki
0
480
Dataformのリポジトリを立ち上げるときにまずやること / dataform-day0-2026
snhryt
0
130
LLMによるContent Moderationの本番運用の裏側と品質担保への挑戦
suikabar
2
260
Agentic UI
manfredsteyer
PRO
0
120
Featured
See All Featured
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
23k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
400
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
10k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
250
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
240
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Building Applications with DynamoDB
mza
96
7.1k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
280
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Thoughts on Productivity
jonyablonski
76
5.2k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
540
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.5k
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