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
GDG Aracaju
February 07, 2015
Programming
1
33
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
90
Aplicações em Asp.NET WebAPI 2.2 e AngularJS
gdgaracaju
2
110
Android + Chromecast
gdgaracaju
1
57
Introdução ao Android Wear
gdgaracaju
0
32
Backend para aplicativos mobile
gdgaracaju
0
31
Git
gdgaracaju
0
69
Segurança no Android
gdgaracaju
0
31
Android Fundamentals Lesson 3 review
gdgaracaju
0
33
Other Decks in Programming
See All in Programming
「ElixirでIoT!!」のこれまでとこれから
takasehideki
0
370
Deep Dive into ~/.claude/projects
hiragram
8
1.5k
関数型まつり2025登壇資料「関数プログラミングと再帰」
taisontsukada
2
850
技術同人誌をMCP Serverにしてみた
74th
1
350
Code as Context 〜 1にコードで 2にリンタ 34がなくて 5にルール? 〜
yodakeisuke
0
100
なんとなくわかった気になるブロックテーマ入門/contents.nagoya 2025 6.28
chiilog
1
210
Systèmes distribués, pour le meilleur et pour le pire - BreizhCamp 2025 - Conférence
slecache
0
100
Haskell でアルゴリズムを抽象化する / 関数型言語で競技プログラミング
naoya
17
4.9k
Java on Azure で LangGraph!
kohei3110
0
170
LINEヤフー データグループ紹介
lycorp_recruit_jp
0
890
データの民主化を支える、透明性のあるデータ利活用への挑戦 2025-06-25 Database Engineering Meetup#7
y_ken
0
320
Google Agent Development Kit でLINE Botを作ってみた
ymd65536
2
180
Featured
See All Featured
Facilitating Awesome Meetings
lara
54
6.4k
GraphQLとの向き合い方2022年版
quramy
48
14k
Navigating Team Friction
lara
187
15k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
Writing Fast Ruby
sferik
628
61k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Rails Girls Zürich Keynote
gr2m
94
14k
Measuring & Analyzing Core Web Vitals
bluesmoon
7
490
Making the Leap to Tech Lead
cromwellryan
134
9.3k
YesSQL, Process and Tooling at Scale
rocio
173
14k
The Cult of Friendly URLs
andyhume
79
6.5k
Code Reviewing Like a Champion
maltzj
524
40k
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