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
PRO
November 16, 2018
Technology
17
440
Types of Coding with Automated Tests
In these slides, I compare different styles of coding styles with automated tests written.
Lemi Orhan Ergin
PRO
November 16, 2018
Tweet
Share
More Decks by Lemi Orhan Ergin
See All by Lemi Orhan Ergin
Unlearn Product Development
lemiorhan
PRO
7
1.2k
Unlearn OOP: Back To Origins
lemiorhan
PRO
6
2.9k
Unlearn Modularity
lemiorhan
PRO
6
500
The Disturbing Truth: Why Do Most Software Projects Suck?
lemiorhan
PRO
4
320
Yazılım Geliştirme Hakkında Okulda Bahsedilmeyenler
lemiorhan
PRO
2
640
Things About Software Development Not Taught In School
lemiorhan
PRO
5
190
Fixing The Typos in Softvare Devlopment - DevFest İzmir 2023
lemiorhan
PRO
3
250
SOLID Is Dead, Long Live SOLID
lemiorhan
PRO
5
710
Code Is Cheap, Show Me The Purpose
lemiorhan
PRO
2
290
Other Decks in Technology
See All in Technology
日本版とグローバル版のモバイルアプリ統合の開発の裏側と今後の展望
miichan
1
130
NilAway による静的解析で「10 億ドル」を節約する #kyotogo / Kyoto Go 56th
ytaka23
3
380
終了の危機にあった15年続くWebサービスを全力で存続させる - phpcon2024
yositosi
3
3.7k
5分でわかるDuckDB
chanyou0311
10
3.2k
小学3年生夏休みの自由研究「夏休みに Copilot で遊んでみた」
taichinakamura
0
150
GitHub Copilot のテクニック集/GitHub Copilot Techniques
rayuron
31
12k
20241220_S3 tablesの使い方を検証してみた
handy
3
390
複雑性の高いオブジェクト編集に向き合う: プラガブルなReactフォーム設計
righttouch
PRO
0
110
LINE Developersプロダクト(LIFF/LINE Login)におけるフロントエンド開発
lycorptech_jp
PRO
0
120
Snowflake女子会#3 Snowpipeの良さを5分で語るよ
lana2548
0
230
ブラックフライデーで購入したPixel9で、Gemini Nanoを動かしてみた
marchin1989
1
530
プロダクト開発を加速させるためのQA文化の築き方 / How to build QA culture to accelerate product development
mii3king
1
260
Featured
See All Featured
Visualization
eitanlees
146
15k
4 Signs Your Business is Dying
shpigford
181
21k
Being A Developer After 40
akosma
87
590k
Fireside Chat
paigeccino
34
3.1k
How STYLIGHT went responsive
nonsquared
95
5.2k
The Power of CSS Pseudo Elements
geoffreycrofte
73
5.4k
VelocityConf: Rendering Performance Case Studies
addyosmani
326
24k
Building Better People: How to give real-time feedback that sticks.
wjessup
365
19k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
132
33k
Why Our Code Smells
bkeepers
PRO
335
57k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
Making Projects Easy
brettharned
116
5.9k
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