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
36
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
93
Aplicações em Asp.NET WebAPI 2.2 e AngularJS
gdgaracaju
2
120
Android + Chromecast
gdgaracaju
1
59
Introdução ao Android Wear
gdgaracaju
0
35
Backend para aplicativos mobile
gdgaracaju
0
34
Git
gdgaracaju
0
71
Segurança no Android
gdgaracaju
0
34
Android Fundamentals Lesson 3 review
gdgaracaju
0
36
Other Decks in Programming
See All in Programming
What's new in Spring Modulith?
olivergierke
1
110
Reduxモダナイズ 〜コードのモダン化を通して、将来のライブラリ移行に備える〜
pvcresin
2
690
開発者への寄付をアプリ内課金として実装する時の気の使いどころ
ski
0
360
CSC305 Lecture 03
javiergs
PRO
0
240
Goで実践するドメイン駆動開発 AIと歩み始めた新規プロダクト開発の現在地
imkaoru
4
750
デミカツ切り抜きで面倒くさいことはPythonにやらせよう
aokswork3
0
210
株式会社 Sun terras カンパニーデック
sunterras
0
250
SpecKitでどこまでできる? コストはどれくらい?
leveragestech
0
610
Swift Concurrency - 状態監視の罠
objectiveaudio
2
480
Breaking Up with Big ViewModels — Without Breaking Your Architecture (droidcon Berlin 2025)
steliosf
PRO
1
350
私はどうやって技術力を上げたのか
yusukebe
43
18k
Playwrightはどのようにクロスブラウザをサポートしているのか
yotahada3
7
2.3k
Featured
See All Featured
Designing Experiences People Love
moore
142
24k
Music & Morning Musume
bryan
46
6.8k
Writing Fast Ruby
sferik
629
62k
Fireside Chat
paigeccino
40
3.7k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
51k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.7k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
140
34k
Building Better People: How to give real-time feedback that sticks.
wjessup
368
20k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.7k
How to train your dragon (web standard)
notwaldorf
96
6.3k
jQuery: Nuts, Bolts and Bling
dougneiner
64
7.9k
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