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
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Tuenti
July 16, 2016
Programming
440
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
210
Defensive Programming & Resilient systems in Real World (TM)
tuenti
1
1.6k
How .Tuenti develops tech products
tuenti
0
100
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.4k
Other Decks in Programming
See All in Programming
音楽のための関数型プログラミング言語mimiumにおける多段階計算の活用
tomoyanonymous
1
360
変わらないものが、変わるものを決める — 意図駆動開発 × イベントソーシング × イミュータブル | What Doesn't Change Decides What Can — IDD × Event Sourcing × Immutability
tomohisa
0
550
Claude Opus 4.6以後の受託開発エンジニアの変化(Claude Code開発ノウハウ大公開スペシャルbyクラスメソッド)
iidatakuma
1
880
Embedded SREと共に達成した会員管理システムのAWS移行 - SRE NEXT 2026 ランチスポンサーセッション
niftycorp
PRO
1
3.1k
ITヒヤリハットを整理してみた ~ライフサイクルと原因から考える再発防止策~
koukimiura
1
120
全PRの83%がAIレビューだけでマージできるようになった開発組織はその後どうなったか
athug
0
510
<title><a id="</title>君はこのHTMLをパースできるか"></a></title> #雑LT_study
pizzacat83
0
110
AI時代のPHPer生存戦略 ~「言語、もうなんでもよくない?」に本気で向き合う~
vivion
0
190
分散システム、なんですぐ死んでしまうん?耐障害性を高めたいあなたのためのレジリエンスパターン入門
mshibuya
7
7k
jsmini JavaScript Engine を作ってみた話
yosuke_furukawa
PRO
0
250
関数型プログラミングのメリットって何だろう?
wanko_it
0
200
JAWS-UG横浜 #102 AWSサ終供養LT会 成仏できない AWS サービスたち 〜本日、三体供養します〜
maroon1st
0
240
Featured
See All Featured
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
370
Rebuilding a faster, lazier Slack
samanthasiow
85
9.6k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
3
1.1k
Writing Fast Ruby
sferik
630
63k
The World Runs on Bad Software
bkeepers
PRO
72
12k
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
640
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.3k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.9k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2.1k
The Invisible Side of Design
smashingmag
301
52k
Facilitating Awesome Meetings
lara
57
7k
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