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
29
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
51
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
毎日13時間もかかるバッチ処理をたった3日で60%短縮するためにやったこと
sho_ssk_
1
550
サーバーゆる勉強会 DBMS の仕組み編
kj455
1
300
どうして手を動かすよりもチーム内のコードレビューを優先するべきなのか
okashoi
3
870
Jaspr Dart Web Framework 박제창 @Devfest 2024
itsmedreamwalker
0
150
HTML/CSS超絶浅い説明
yuki0329
0
190
Flatt Security XSS Challenge 解答・解説
flatt_security
0
740
Запуск 1С:УХ в крупном энтерпрайзе: мечта и реальность ПМа
lamodatech
0
960
生成AIでGitHubソースコード取得して仕様書を作成
shukob
0
630
rails newと同時に型を書く
aki19035vc
5
710
QA環境で誰でも自由自在に現在時刻を操って検証できるようにした話
kalibora
1
140
Rubyでつくるパケットキャプチャツール
ydah
0
170
PicoRubyと暮らす、シェアハウスハック
ryosk7
0
220
Featured
See All Featured
A better future with KSS
kneath
238
17k
Code Review Best Practice
trishagee
65
17k
Done Done
chrislema
182
16k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.6k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Adopting Sorbet at Scale
ufuk
74
9.2k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Building Adaptive Systems
keathley
38
2.4k
YesSQL, Process and Tooling at Scale
rocio
170
14k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
365
25k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
6
500
Bash Introduction
62gerente
610
210k
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