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
47
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
97
Aplicações em Asp.NET WebAPI 2.2 e AngularJS
gdgaracaju
2
120
Android + Chromecast
gdgaracaju
1
63
Introdução ao Android Wear
gdgaracaju
0
39
Backend para aplicativos mobile
gdgaracaju
0
40
Git
gdgaracaju
0
76
Segurança no Android
gdgaracaju
0
39
Android Fundamentals Lesson 3 review
gdgaracaju
0
39
Other Decks in Programming
See All in Programming
脱 雰囲気実装!AgentCoreを良い感じにWEBアプリケーションに組み込むために
takuyay0ne
3
420
今年もTECHSCOREブログを書き続けます!
hiraoku101
0
210
車輪の再発明をしよう!PHP で実装して学ぶ、Web サーバーの仕組みと HTTP の正体
h1r0
2
470
今からFlash開発できるわけないじゃん、ムリムリ! (※ムリじゃなかった!?)
arkw
0
170
モダンOBSプラグイン開発
umireon
0
190
へんな働き方
yusukebe
6
2.9k
Everything Claude Code OSS詳細 — 5層構造の中身と導入方法
targe
0
160
Reactive ❤️ Loom: A Forbidden Love Story
franz1981
2
210
今こそ押さえておきたい アマゾンウェブサービス(AWS)の データベースの基礎 おもクラ #6版
satoshi256kbyte
1
220
Laravel Nightwatchの裏側 - Laravel公式Observabilityツールを支える設計と実装
avosalmon
1
280
存在論的プログラミング: 時間と存在を記述する
koriym
5
730
ロボットのための工場に灯りは要らない
watany
12
3.3k
Featured
See All Featured
Writing Fast Ruby
sferik
630
63k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
How to make the Groovebox
asonas
2
2.1k
Into the Great Unknown - MozCon
thekraken
40
2.3k
How Software Deployment tools have changed in the past 20 years
geshan
0
33k
GitHub's CSS Performance
jonrohan
1032
470k
Testing 201, or: Great Expectations
jmmastey
46
8.1k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
450
sira's awesome portfolio website redesign presentation
elsirapls
0
200
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
280
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
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