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
48
1
Share
Save the world: design for testability
Presentation by @lucasxas
GDG Aracaju
February 07, 2015
More Decks by GDG Aracaju
See All by GDG Aracaju
Como aumentar a sua produtividade no Android Studio
gdgaracaju
0
160
Firebase e Android
gdgaracaju
0
99
Aplicações em Asp.NET WebAPI 2.2 e AngularJS
gdgaracaju
2
120
Android + Chromecast
gdgaracaju
1
65
Introdução ao Android Wear
gdgaracaju
0
41
Backend para aplicativos mobile
gdgaracaju
0
41
Git
gdgaracaju
0
79
Segurança no Android
gdgaracaju
0
41
Android Fundamentals Lesson 3 review
gdgaracaju
0
41
Other Decks in Programming
See All in Programming
ソフトウェア設計の結合バランス #phperkaigi
kajitack
0
490
Lightning-Fast Method Calls with Ruby 4.1 ZJIT / RubyKaigi 2026
k0kubun
3
2.4k
Agent Skills を社内で育てる仕組み作り
jackchuka
1
1.1k
Agentic Elixir
whatyouhide
0
440
Programming with a DJ Controller — not vibe coding
m_seki
3
780
Symfony AI in Action - SymfonyLive Berlin 2026
chr_hertel
1
110
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
130
運転動画を検索可能にする〜Cosmos-Embed1とDatabricks Vector Searchで〜/cosmos-embed1-databricks-vector-search
studio_graph
1
640
2026年のソフトウェア開発を考える(2026/05版) / Software Engineering Scrum Fest Niigata 2026 Edition
twada
PRO
21
10k
Kingdom of the Machine
yui_knk
2
1.4k
Kubernetesを使わない環境にもCloud Nativeなデプロイを実現する / Enabling Cloud Native deployments without the complexity of Kubernetes
linyows
1
160
検索設計から 推論設計への重心移動と Recall-First Retrieval
po3rin
5
1.5k
Featured
See All Featured
Deep Space Network (abreviated)
tonyrice
0
130
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
55k
WCS-LA-2024
lcolladotor
0
570
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Between Models and Reality
mayunak
3
280
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
We Have a Design System, Now What?
morganepeng
55
8.1k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.7k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
170
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
500
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.5k
Side Projects
sachag
455
43k
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