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
310
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
76
Poniendo Kotlin en producción a palos
tuenti
0
78
Culture Matters
tuenti
1
150
Defensive Programming & Resilient systems in Real World (TM)
tuenti
1
1.2k
How .Tuenti develops tech products
tuenti
0
62
Microservices and Testing, talking from the experience
tuenti
2
130
Love your tests
tuenti
0
1.1k
Experiences with Microservices at Tuenti
tuenti
0
200
Tuenti <3 Testing
tuenti
0
1.2k
Other Decks in Programming
See All in Programming
マイクロサービスがほしいと思ったときに本当に必要だったもの〜なぜ人は共通基盤の夢を見るのか〜 / why microservice
77web
5
980
MySQL のインデックスの種類をおさらいしよう! / overviewing indexes in MySQL
okashoi
0
170
Building a Smaller App Binary
kateinoigakukun
2
200
Honoとhtmx
yusukebe
6
1.2k
Go1.22からの疑似乱数生成器について/go-122-pseudo-random-generator
convto
1
160
品質とスピードを両立: TypeScriptの柔軟な型システムをバックエンドで活用する
kosui
3
830
phpunit/php-code-coverageって何をしてるんだ #phperkaigi
o0h
PRO
2
210
Laravel標準バリデーションでできること
hmb_ok
2
360
DocC Tutorial と TCA におけるテスト機能の紹介
kalupas226
1
330
Why 1 + 1 = 2 in Swift?
1plus4
1
240
DDDはなぜ難しいのか / 良いコードの定義と設計能力の壁
pospome
24
6.7k
object-oriented-conference-2024
fuwasegu
6
1.4k
Featured
See All Featured
How to Ace a Technical Interview
jacobian
272
22k
Gamification - CAS2011
davidbonilla
76
4.5k
jQuery: Nuts, Bolts and Bling
dougneiner
57
7.1k
KATA
mclloyd
14
11k
The Brand Is Dead. Long Live the Brand.
mthomps
48
21k
Facilitating Awesome Meetings
lara
39
5.5k
Building Flexible Design Systems
yeseniaperezcruz
317
37k
Visualization
eitanlees
135
14k
Happy Clients
brianwarren
91
6.3k
Unsuck your backbone
ammeep
660
56k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
225
51k
GraphQLの誤解/rethinking-graphql
sonatard
48
9.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