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
Types of Coding with Automated Tests
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Lemi Orhan Ergin
PRO
November 16, 2018
Technology
490
17
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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
More Decks by Lemi Orhan Ergin
See All by Lemi Orhan Ergin
When Code Becomes Disposible...
lemiorhan
PRO
3
130
Rebirth of Software Craftsmanship in the AI Era
lemiorhan
PRO
5
3.1k
Conway's Law Never Lies
lemiorhan
PRO
1
370
Fixing The Typos in Engineering Culture
lemiorhan
PRO
3
220
Everything You Know About Agile Is Wrong
lemiorhan
PRO
4
2.5k
Unlearn Product Development - Unleashed Edition
lemiorhan
PRO
5
800
Unlearn Product Development
lemiorhan
PRO
10
2k
Unlearn OOP: Back To Origins
lemiorhan
PRO
6
3.4k
Unlearn Modularity
lemiorhan
PRO
8
980
Other Decks in Technology
See All in Technology
Rustuna: Rustによる高速なOptuna実装
pfn
PRO
0
190
Gemini Intelligence 入門 ― AppFunctions と Gemini Nano
takuroabe
0
250
USB PDを使ってスマホを労わりたい
raspython3
0
180
AI × アーキテクト 第1・2章|生成AIの課題とアーキテクトの素養
daidaidai
0
170
Claude Code本は、どのように執筆チームで書かれたか
oikon48
1
380
Temporal 最高!でも改めて「日付」について調べたら人類の負債すぎる件
riyaamemiya
0
150
Getting Started with Google Antigravity
glaforge
0
300
Railsで挑む大量データ永続化 〜600億件を永続化するための設計とボトルネックとの戦い〜
occhi
1
580
Rust で関数型ドメインモデリング
takonda
0
140
Metadata - Section 1: HTML Basics
mohab1
0
120
LambdaWebFunctionsを試してみた / exploring-lambda-web-functions
koukihosaka
1
340
AI駆動開発の時代になったのでトヨタ生産方式から見直す
terurou
7
6k
Featured
See All Featured
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
640
Testing 201, or: Great Expectations
jmmastey
46
8.3k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.7k
Automating Front-end Workflow
addyosmani
1369
210k
Chasing Engaging Ingredients in Design
codingconduct
0
360
Side Projects
sachag
456
43k
GitHub's CSS Performance
jonrohan
1033
470k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
2
360
Bootstrapping a Software Product
garrettdimon
PRO
306
120k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.6k
What does AI have to do with Human Rights?
axbom
PRO
1
2.5k
Done Done
chrislema
187
17k
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