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
26
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
140
Firebase e Android
gdgaracaju
0
86
Aplicações em Asp.NET WebAPI 2.2 e AngularJS
gdgaracaju
2
100
Android + Chromecast
gdgaracaju
1
45
Introdução ao Android Wear
gdgaracaju
0
27
Backend para aplicativos mobile
gdgaracaju
0
27
Git
gdgaracaju
0
65
Segurança no Android
gdgaracaju
0
26
Android Fundamentals Lesson 3 review
gdgaracaju
0
30
Other Decks in Programming
See All in Programming
try! Swift Tokyo 2024 参加報告 / try! Swift Tokyo 2024 Report
hironytic
0
200
スクラムガイドのスプリントレトロスペクティブを改めて読みかえしてみた / Re-reading the Sprint Retrospective Section in the Scrum Guide
mackey0225
3
410
AWS Application Composerで始める、 サーバーレスなデータ基盤構築 / 20240406-jawsug-hokuriku-shinkansen
kasacchiful
1
260
Zero Waste, Radical Magic, and Italian Graft – Quarkus Efficiency Secrets
hollycummins
0
230
ゆるい個人開発のススメ
kuroppe1819
10
990
Compose-View Interop in Practice (mDevCamp 2024)
stewemetal
0
120
Java 22 Overview
kishida
1
180
デフォルトにして至高、RubyMineの大好きな所
ruzia
0
310
SwiftUIで使いやすいToastの作り方 / How to build a Toast system which is easy to use in SwiftUI
lovee
3
140
PHP8.3の機能を振り返る / Review of PHP 8.3 features
seike460
PRO
1
110
使ってみよう Azure AI Document Intelligence
kosmosebi
2
300
What We Can Learn From OSS
inouehi
0
420
Featured
See All Featured
Fontdeck: Realign not Redesign
paulrobertlloyd
76
4.9k
Become a Pro
speakerdeck
PRO
11
4.5k
Side Projects
sachag
451
41k
Fantastic passwords and where to find them - at NoRuKo
philnash
37
2.5k
Robots, Beer and Maslow
schacon
PRO
155
7.9k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
155
14k
Scaling GitHub
holman
457
140k
Making Projects Easy
brettharned
108
5.5k
Into the Great Unknown - MozCon
thekraken
10
990
Raft: Consensus for Rubyists
vanstee
132
6.3k
Teambox: Starting and Learning
jrom
128
8.4k
The Pragmatic Product Professional
lauravandoore
25
5.8k
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