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
51
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
100
Aplicações em Asp.NET WebAPI 2.2 e AngularJS
gdgaracaju
2
130
Android + Chromecast
gdgaracaju
1
67
Introdução ao Android Wear
gdgaracaju
0
43
Backend para aplicativos mobile
gdgaracaju
0
43
Git
gdgaracaju
0
81
Segurança no Android
gdgaracaju
0
43
Android Fundamentals Lesson 3 review
gdgaracaju
0
44
Other Decks in Programming
See All in Programming
GitHub Copilot CLIのいいところ
htkym
2
1.2k
「エンジニアインターン、どうやって取った?」準備のリアルを語るLT会 Progate BAR
akiomatic
0
110
Swiftのレキシカルスコープ管理
kntkymt
0
210
ふつうのFeature Flag実践入門
irof
7
3.5k
CSC307 Lecture 17
javiergs
PRO
0
310
AI時代の仕事技芸論 — ソフトウェア開発で「遊ぶように働く」職人的熟達のすすめ
kuranuki
1
580
技術記事、AIに書かせるか、自分で書くか? 〜それでも私が自分の手で書く理由〜 / #QiitaConference
jnchito
2
1.2k
OSもどきOS
arkw
0
380
Technical Debt: Understanding it Rightly, Engaging it Rightly #LaravelLiveJP
shogogg
0
190
Why Laravel apps break—Mastering the fundamentals to keep them maintainable
kentaroutakeda
1
330
TypeScriptだけでAIエージェントを作る フロント・エージェント・インフラのフルスタック実践
har1101
6
1.3k
Inspired By RubyKaigi (EN)
atzzcokek
0
490
Featured
See All Featured
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
390
Optimising Largest Contentful Paint
csswizardry
37
3.7k
How GitHub (no longer) Works
holman
316
150k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
200
Scaling GitHub
holman
464
140k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Documentation Writing (for coders)
carmenintech
77
5.4k
Designing for Performance
lara
611
70k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
290
Building Adaptive Systems
keathley
44
3k
The Invisible Side of Design
smashingmag
302
52k
Are puppies a ranking factor?
jonoalderson
1
3.5k
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