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
49
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
130
Android + Chromecast
gdgaracaju
1
65
Introdução ao Android Wear
gdgaracaju
0
41
Backend para aplicativos mobile
gdgaracaju
0
42
Git
gdgaracaju
0
80
Segurança no Android
gdgaracaju
0
41
Android Fundamentals Lesson 3 review
gdgaracaju
0
41
Other Decks in Programming
See All in Programming
リセットCSSを1行消したらアクセシビリティが向上した話
pvcresin
4
530
AIチームを指揮するOSS「TAKT」活用術 / How to Use “TAKT,” an OSS Tool for Orchestrating AI Teams
nrslib
2
410
oxlintはeslint/typescript-eslintを置き換えられるのか
shomafujita
2
110
ビジネスモデルから紐解く、AI+型駆動開発
hirokiomote
2
760
過去のレビュー知見をSkillsで資産化した話
pkshadeck
PRO
1
2.2k
2026年のソフトウェア開発を考える(2026/05版) / Software Engineering Scrum Fest Niigata 2026 Edition
twada
PRO
24
14k
Hive Metastoreを通して学ぶIceberg REST Catalog ― 仕様から実装まで
okumin
0
240
次世代リンターで探る、tsgo 時代における型認識カスタムルールの現実解
ytakahashii
1
710
プロパティの順序で型推論が壊れる!? TypeScript6.0の修正からContext-Sensitivityの仕組みを追う
bicstone
2
700
AlarmKitで明後日起きれるアラームアプリを作る
trickart
0
140
書き換えて学ぶTemporal #fukts
pirosikick
2
390
AWSはOSSをどのように 考えているのか?
akihisaikeda
0
130
Featured
See All Featured
HDC tutorial
michielstock
2
670
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
330
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
570
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
280
Designing for Timeless Needs
cassininazir
1
220
We Are The Robots
honzajavorek
0
230
Become a Pro
speakerdeck
PRO
31
5.9k
Writing Fast Ruby
sferik
630
63k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
170
Art, The Web, and Tiny UX
lynnandtonic
304
21k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.2k
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