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
88
Aplicações em Asp.NET WebAPI 2.2 e AngularJS
gdgaracaju
2
110
Android + Chromecast
gdgaracaju
1
56
Introdução ao Android Wear
gdgaracaju
0
31
Backend para aplicativos mobile
gdgaracaju
0
30
Git
gdgaracaju
0
68
Segurança no Android
gdgaracaju
0
30
Android Fundamentals Lesson 3 review
gdgaracaju
0
31
Other Decks in Programming
See All in Programming
オープンソースコントリビュート入門
_katsuma
0
120
State of Namespace
tagomoris
5
2.4k
20250429 - CNTUG Meetup #67 / DevOps Taiwan Meetup #69 - Deep Dive into Tetragon: Building Runtime Security and Observability with eBPF
tico88612
0
170
開発者フレンドリーで顧客も満足?Platformの秘密
algoartis
0
170
UMAPをざっくりと理解 / Overview of UMAP
kaityo256
PRO
3
1.4k
今話題のMCPサーバーをFastAPIでサッと作ってみた
yuukis
0
110
Laravel × Clean Architecture
bumptakayuki
PRO
0
140
ウォンテッドリーの「ココロオドル」モバイル開発 / Wantedly's "kokoro odoru" mobile development
kubode
1
270
The New Developer Workflow: How AI Transforms Ideas into Code
danielsogl
0
110
RuboCop: Modularity and AST Insights
koic
2
2.5k
Ruby on Railroad: The Power of Visualizing CFG
ydah
0
290
Enterprise Web App. Development (1): Build Tool Training Ver. 5
knakagawa
1
120
Featured
See All Featured
How STYLIGHT went responsive
nonsquared
100
5.5k
Visualization
eitanlees
146
16k
We Have a Design System, Now What?
morganepeng
52
7.5k
The Cost Of JavaScript in 2023
addyosmani
49
7.8k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
Measuring & Analyzing Core Web Vitals
bluesmoon
7
410
Typedesign – Prime Four
hannesfritz
41
2.6k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.2k
Statistics for Hackers
jakevdp
798
220k
The Invisible Side of Design
smashingmag
299
50k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Optimizing for Happiness
mojombo
378
70k
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