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
87
Aplicações em Asp.NET WebAPI 2.2 e AngularJS
gdgaracaju
2
110
Android + Chromecast
gdgaracaju
1
53
Introdução ao Android Wear
gdgaracaju
0
31
Backend para aplicativos mobile
gdgaracaju
0
30
Git
gdgaracaju
0
67
Segurança no Android
gdgaracaju
0
30
Android Fundamentals Lesson 3 review
gdgaracaju
0
31
Other Decks in Programming
See All in Programming
『品質』という言葉が嫌いな理由
korimu
0
160
ML.NETで始める機械学習
ymd65536
0
130
プログラミング言語学習のススメ / why-do-i-learn-programming-language
yashi8484
0
140
定理証明プラットフォーム lapisla.net
abap34
1
1.8k
Ruby on cygwin 2025-02
fd0
0
150
Boost Performance and Developer Productivity with Jakarta EE 11
ivargrimstad
0
380
バックエンドのためのアプリ内課金入門 (サブスク編)
qnighy
8
1.8k
ARA Ansible for the teams
kksat
0
150
sappoRo.R #12 初心者セッション
kosugitti
0
260
ファインディの テックブログ爆誕までの軌跡
starfish719
2
1.1k
データの整合性を保つ非同期処理アーキテクチャパターン / Async Architecture Patterns
mokuo
50
17k
CSS Linter による Baseline サポートの仕組み
ryo_manba
1
110
Featured
See All Featured
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7.1k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Why Our Code Smells
bkeepers
PRO
336
57k
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.5k
Designing Experiences People Love
moore
140
23k
How GitHub (no longer) Works
holman
314
140k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
40
2k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.1k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3k
Large-scale JavaScript Application Architecture
addyosmani
511
110k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
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