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
Types of Coding with Automated Tests
Search
Lemi Orhan Ergin
November 16, 2018
Technology
17
430
Types of Coding with Automated Tests
In these slides, I compare different styles of coding styles with automated tests written.
Lemi Orhan Ergin
November 16, 2018
Tweet
Share
More Decks by Lemi Orhan Ergin
See All by Lemi Orhan Ergin
The Disturbing Truth: Why Do Most Software Projects Suck?
lemiorhan
0
180
Yazılım Geliştirme Hakkında Okulda Bahsedilmeyenler
lemiorhan
0
420
Things About Software Development Not Taught In School
lemiorhan
1
110
Fixing The Typos in Softvare Devlopment - DevFest İzmir 2023
lemiorhan
2
170
SOLID Is Dead, Long Live SOLID
lemiorhan
4
370
Code Is Cheap, Show Me The Purpose
lemiorhan
2
170
Unlearn Software Quality & Excellence
lemiorhan
2
170
The Lost Chapter: Rediscovering Foundations in Software Design
lemiorhan
5
1.2k
AI Ethics: Problems, Questions, Hopes, Regrets
lemiorhan
0
290
Other Decks in Technology
See All in Technology
TypeScript の抽象構文木を用いた、数百を超える API の大規模リファクタリング戦略
yanaemon
6
1.3k
YJIT Makes Rails 1.7x faster / RubyKaigi 2024
k0kubun
4
560
RubyKaigi 2024 - Make Your Own Regex Engine!
makenowjust
1
180
QAエンジニアが伝えたい品質保証の羅針盤 / Compass for Quality Assurance
mii3king
2
350
多言語化対応における TypeScript の型定義を通して開発のしやすさについて考えた / TSKaigi TypeScript Multilingualization
nabeliwo
2
390
Laboratories in Science and Technology: Deep Neural Networks
keio_smilab
PRO
3
180
SLOいつ決めましょう?
abnoumaru
3
850
【リラン】AIの光と闇?失敗しないために知っておきたいAIリスクとその対応 ①政府の動き編
tkhresk
0
140
AWS アーキテクチャ作図入門/aws-architecture-diagram-101
ma2shita
16
6.7k
回り回って効いてくる副次的効果としての技術広報/techpr
nishiuma
2
210
iThome2024 Wailing Wall of Enterprise Security
notsurprised
0
300
「できる!」を増やすGitHub Copilot活用法 / How to use GitHub Copilot to expand your possibilities
sansan_randd
1
240
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
14
1.5k
Six Lessons from altMBA
skipperchong
22
3k
The Straight Up "How To Draw Better" Workshop
denniskardys
228
130k
Why You Should Never Use an ORM
jnunemaker
PRO
51
8.7k
Building Flexible Design Systems
yeseniaperezcruz
320
37k
Atom: Resistance is Futile
akmur
260
25k
We Have a Design System, Now What?
morganepeng
43
6.8k
Teambox: Starting and Learning
jrom
128
8.4k
Designing with Data
zakiwarfel
96
4.8k
Building an army of robots
kneath
300
41k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
22
1.6k
A designer walks into a library…
pauljervisheath
201
23k
Transcript
types of coding automated tests with lemi orhan ergin, agile
software craftsman @ craftbase
CODE TEST REFACTOR Test Driven Development TEST FAIL TEST PASS
START
CODE Refactoring is skipped to be faster Increased duplication in
code Long methods We have to clean our mess TEST FAIL TEST PASS Tested Mess Based Development TEST START
Refactoring is skipped to be faster Increased duplication in code
Long methods We have to clean our mess TEST FAIL TEST PASS Test First Then Write Everything Based Development TEST START CODE CODE CODE CODECODECOD ODE
CODE TEST FAIL TEST PASS TEST FAIL Failed test guaranteed
Can mask ignorance of domain Dummy-Test First Development TEST update same TEST REFACTOR START
CODE START TEST REFACTOR TEST PASS No failing tests Useful
for exploring Losing focus on design Mock misuse Too much refactoring required Code First Development
CODE START TEST REFACTOR TEST PASS Uncovered bugs Hard to
write tests Bored programmers Lower test quality Test Last Development CODE CODE CODECODECODE CODE
CODE TEST REFACTOR TEST PASS START TEST TEST TEST TEST
TEST TEST TEST TEST TEST TEST FAIL TEST Allows planning for future code Loss of focus Harder to code against Test Everything First Development
CODE TEST REFACTOR TEST PASS START TEST FAIL Large, bri!le
setup methods Slow tests High level tests People hate testing Huge Setup Based Development SETUP
CODE SCENARIO REFACTOR Acceptance Test Driven Development TEST PASS START
TEST TEST FAIL SCENARIO FAIL SCENARIO PASS Increased focus Focus on requirements Do also the right thing