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
Save the world: design for testability
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
GDG Aracaju
February 07, 2015
Programming
1
46
Save the world: design for testability
Presentation by @lucasxas
GDG Aracaju
February 07, 2015
Tweet
Share
More Decks by GDG Aracaju
See All by GDG Aracaju
Como aumentar a sua produtividade no Android Studio
gdgaracaju
0
150
Firebase e Android
gdgaracaju
0
96
Aplicações em Asp.NET WebAPI 2.2 e AngularJS
gdgaracaju
2
120
Android + Chromecast
gdgaracaju
1
60
Introdução ao Android Wear
gdgaracaju
0
38
Backend para aplicativos mobile
gdgaracaju
0
38
Git
gdgaracaju
0
74
Segurança no Android
gdgaracaju
0
37
Android Fundamentals Lesson 3 review
gdgaracaju
0
37
Other Decks in Programming
See All in Programming
CSC307 Lecture 13
javiergs
PRO
0
310
社内規程RAGの精度を73.3% → 100%に改善した話
oharu121
13
7.5k
AIに仕事を丸投げしたら、本当に楽になれるのか
dip_tech
PRO
0
180
Go1.26 go fixをプロダクトに適用して困ったこと
kurakura0916
0
320
ふつうの Rubyist、ちいさなデバイス、大きな一年
bash0c7
0
340
new(1.26) ← これすき / kamakura.go #8
utgwkk
0
1.6k
メタプログラミングで実現する「コードを仕様にする」仕組み/nikkei-tech-talk43
nikkei_engineer_recruiting
0
160
AI駆動開発の本音 〜Claude Code並列開発で見えたエンジニアの新しい役割〜
hisuzuya
4
470
CSC307 Lecture 12
javiergs
PRO
0
460
Go 1.26でのsliceのメモリアロケーション最適化 / Go 1.26 リリースパーティ #go126party
mazrean
1
350
ベクトル検索のフィルタを用いた機械学習モデルとの統合 / python-meetup-fukuoka-06-vector-attr
monochromegane
2
310
LangChain4jとは一味違うLangChain4j-CDI
kazumura
1
140
Featured
See All Featured
Designing for Performance
lara
611
70k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
120
We Have a Design System, Now What?
morganepeng
55
8k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Faster Mobile Websites
deanohume
310
31k
The Curious Case for Waylosing
cassininazir
0
260
Code Review Best Practice
trishagee
74
20k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
94
Practical Orchestrator
shlominoach
191
11k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
950
My Coaching Mixtape
mlcsv
0
63
Transcript
design for testability Save the world Lucas Xavier @lucasxavier
About me Lucas Xavier @lucasxavier • Lucas Xavier - Software
Engineer for five years - Test Specialist, UFPE - Bsc in Information Systems, UFS - Nonsense humour - Game of Thrones - Rock!
Agenda • Value proposition • What’s testability? • Best practices
• Anti-patterns • Unit Testing and TDD • Hands-on! Lucas Xavier @lucasxavier
Value proposition • Design + coding + debugging + testing
• Certainties in life • Death • Taxes • Bugs • Early feedback Lucas Xavier @lucasxavier
What’s testability? • Repeatable • Easy to Write • Easy
to Understand • Fast Lucas Xavier @lucasxavier
What’s testability? • Components: • Control • Visibility • Operability
• Simplicity • Understandability • Suitability • Stability Lucas Xavier @lucasxavier
Best practices • Set up and teardown • KISS •
Loose coupling • Dependency injection • Elimination of globals • Clear code Lucas Xavier @lucasxavier
Anti-patterns • Unclear execution paths • Train Wrecks • Dependencies
between test cases • Testing precise timing or performance • All-knowing oracles • Slow running tests Lucas Xavier @lucasxavier
Unit Testing and TDD • Unit Testing • Test Driven
Development • Unit Testing is a component of TDD Lucas Xavier @lucasxavier
Hands-on! Lucas Xavier @lucasxavier