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
56
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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
170
Firebase e Android
gdgaracaju
0
100
Aplicações em Asp.NET WebAPI 2.2 e AngularJS
gdgaracaju
2
130
Android + Chromecast
gdgaracaju
1
71
Introdução ao Android Wear
gdgaracaju
0
51
Backend para aplicativos mobile
gdgaracaju
0
45
Git
gdgaracaju
0
86
Segurança no Android
gdgaracaju
0
47
Android Fundamentals Lesson 3 review
gdgaracaju
0
51
Other Decks in Programming
See All in Programming
Cloudflare is Agents
chimame
0
170
What's New in Android 2026
veronikapj
0
270
Detecting Compromised CI with eBPF and Cilium Tetragon
lizrice
0
220
仕様書を書く前にハーネスを作る - Agent Native開発は「探索を速く、判定を固く」
gotalab555
4
1.7k
書籍「プロフェッショナルAI駆動開発」紹介スライド
juntaromatsumoto
0
230
in-process GraphQL のすすめ #ginzajs
izumin5210
4
1.4k
React本体のコードリーディング
high_g_engineer
1
150
リアルな遅延を測る仕様
kota_yata
1
120
Gmail/Google DriveをトリガーにAIエージェントを動かそう! / Run AI agents with Gmail/Google Drive as triggers!
har1101
1
210
Pythonの実行はどこまで賢くなったのか? CPythonとPyPyから見る最適化のしくみ
curekoshimizu
0
190
AWS DevOps AgentのAzure接続機能を検証して見えた活用法/Use Cases Verified for the AWS DevOps Agent's Azure Connectivity Feature
masakiokuda
1
250
170k Jobs a Day on GKE: Scaling Mercari's CI Platform - and What's Next for AI-Native Development
junyaokabe
0
120
Featured
See All Featured
Six Lessons from altMBA
skipperchong
29
4.4k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.6k
Designing for Performance
lara
611
70k
How GitHub (no longer) Works
holman
316
150k
The Pragmatic Product Professional
lauravandoore
37
7.4k
Crafting Experiences
bethany
1
260
Fashionably flexible responsive web design (full day workshop)
malarkey
408
67k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.5k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.4k
A designer walks into a library…
pauljervisheath
211
24k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
63
45k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
490
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