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
370
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
120
Poniendo Kotlin en producción a palos
tuenti
0
98
Culture Matters
tuenti
1
180
Defensive Programming & Resilient systems in Real World (TM)
tuenti
1
1.5k
How .Tuenti develops tech products
tuenti
0
76
Microservices and Testing, talking from the experience
tuenti
2
150
Love your tests
tuenti
0
1.2k
Experiences with Microservices at Tuenti
tuenti
0
260
Tuenti <3 Testing
tuenti
0
1.3k
Other Decks in Programming
See All in Programming
Playwrightはどのようにクロスブラウザをサポートしているのか
yotahada3
7
2.3k
止められない医療アプリ、そっと Swift 6 へ
medley
1
120
Goで実践するドメイン駆動開発 AIと歩み始めた新規プロダクト開発の現在地
imkaoru
4
600
デミカツ切り抜きで面倒くさいことはPythonにやらせよう
aokswork3
0
190
どの様にAIエージェントと 協業すべきだったのか?
takefumiyoshii
2
600
CSC509 Lecture 04
javiergs
PRO
0
290
Web技術を最大限活用してRAW画像を現像する / Developing RAW Images on the Web
ssssota
2
1.2k
CSC305 Lecture 01
javiergs
PRO
1
400
CSC509 Lecture 06
javiergs
PRO
0
240
CSC509 Lecture 05
javiergs
PRO
0
290
なぜあの開発者はDevRelに伴走し続けるのか / Why Does That Developer Keep Running Alongside DevRel?
nrslib
3
370
AIエージェント時代における TypeScriptスキーマ駆動開発の新たな役割
bicstone
4
1.5k
Featured
See All Featured
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
358
30k
Writing Fast Ruby
sferik
629
62k
The Straight Up "How To Draw Better" Workshop
denniskardys
237
140k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.2k
Faster Mobile Websites
deanohume
310
31k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.5k
Site-Speed That Sticks
csswizardry
11
880
Producing Creativity
orderedlist
PRO
347
40k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
19
1.2k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
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