Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Save the world: design for testability
Search
GDG Aracaju
February 07, 2015
Programming
58
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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
180
Firebase e Android
gdgaracaju
0
110
Aplicações em Asp.NET WebAPI 2.2 e AngularJS
gdgaracaju
2
130
Android + Chromecast
gdgaracaju
1
79
Introdução ao Android Wear
gdgaracaju
0
53
Backend para aplicativos mobile
gdgaracaju
0
48
Git
gdgaracaju
0
89
Segurança no Android
gdgaracaju
0
53
Android Fundamentals Lesson 3 review
gdgaracaju
0
57
Other Decks in Programming
See All in Programming
AHC070解法紹介
eijirou
0
140
WebRTC映像をAirPlayに対応させる挑戦.pdf
monolithic_adam
0
330
Go × SIMDで高速化するベクトル検索 ~ルーフラインモデルでSIMDが効く境界を探れ! ~
po3rin
1
5.1k
スマートフォンでモールス信号を送受信する 〜スマートフォンのLEDとカメラで作る光通信の設計と実装〜
atsuki_seo
0
210
Workers Cache を知る
syumai
0
310
AgentCore CLI で進化した AWS での AI エージェントの作り方 : 必要な機能を必要な時に
icoxfog417
PRO
4
400
C#の現在地 進化の歴史と、AI時代の.NET Everywhere
neuecc
5
4.4k
半永久的に提供し続けられるプライベートクラウドを目指して ― 利用者の認知負荷を抑えるAPI抽象化とハードウェア世代交代の基盤設計
tomokon
0
320
モバイル交通系ICへのチャージ実例から考える、クロスプラットフォーム開発におけるiOS実機テスト設計とCI運用
yusuga
1
560
Findy - エンジニア向け会社紹介/Findy Company Deck
findyinc
6
400k
海上で動くGoサーバー: goroutineとchannelでさばく航行データストリーム
atsuki_seo
0
1k
市販E-Readerを乗っ取れ 〜Embedded Swiftで電子ペーパーガジェットを制御する〜
trickart
0
220
Featured
See All Featured
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
690
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.7k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.4k
Skip the Path - Find Your Career Trail
mkilby
1
240
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
550
Ruling the World: When Life Gets Gamed
codingconduct
0
380
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
Building the Perfect Custom Keyboard
takai
2
890
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
530
WENDY [Excerpt]
tessaabrams
14
40k
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