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
90
Aplicações em Asp.NET WebAPI 2.2 e AngularJS
gdgaracaju
2
110
Android + Chromecast
gdgaracaju
1
57
Introdução ao Android Wear
gdgaracaju
0
32
Backend para aplicativos mobile
gdgaracaju
0
31
Git
gdgaracaju
0
69
Segurança no Android
gdgaracaju
0
31
Android Fundamentals Lesson 3 review
gdgaracaju
0
33
Other Decks in Programming
See All in Programming
カクヨムAndroidアプリのリブート
numeroanddev
0
410
try-catchを使わないエラーハンドリング!? PHPでResult型の考え方を取り入れてみよう
kajitack
3
500
C++20 射影変換
faithandbrave
0
240
ドメインモデリングにおける抽象の役割、tagless-finalによるDSL構築、そして型安全な最適化
knih
10
1.8k
つよそうにふるまい、つよい成果を出すのなら、つよいのかもしれない
irof
1
280
技術懸念に立ち向かい 法改正を穏便に乗り切った話
pop_cashew
0
1.3k
「ElixirでIoT!!」のこれまでとこれから
takasehideki
0
350
XSLTで作るBrainfuck処理系
makki_d
0
190
実践ArchUnit ~実例による検証パターンの紹介~
ogiwarat
2
250
TypeScript LSP の今までとこれから
quramy
1
490
型付きアクターモデルがもたらす分散シミュレーションの未来
piyo7
0
750
セキュリティマネジャー廃止とクラウドネイティブ型サンドボックス活用
kazumura
1
170
Featured
See All Featured
What's in a price? How to price your products and services
michaelherold
245
12k
Art, The Web, and Tiny UX
lynnandtonic
299
21k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.1k
Designing for Performance
lara
609
69k
The Art of Programming - Codeland 2020
erikaheidi
54
13k
Testing 201, or: Great Expectations
jmmastey
42
7.5k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
8
650
Side Projects
sachag
454
42k
It's Worth the Effort
3n
184
28k
Build The Right Thing And Hit Your Dates
maggiecrowley
36
2.7k
Embracing the Ebb and Flow
colly
86
4.7k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
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