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
一起來跑 TDD,直到完成 User Story 為止
Search
LINE Developers Taiwan
PRO
June 19, 2024
Technology
1
1.9k
一起來跑 TDD, 直到完成 User Story 為止
Speaker: Brandon Lu
Event: LINE TECH FRESH 畢業分享會
LINE Developers Taiwan
PRO
June 19, 2024
Tweet
Share
More Decks by LINE Developers Taiwan
See All by LINE Developers Taiwan
菸酒生在 LINE Taiwan 的後端雙刀流
line_developers_tw
PRO
0
1.1k
讓測試不再 BB! 從 BDD 到 CI/CD, 不靠人力也能 MVP
line_developers_tw
PRO
0
1.1k
DB 醬,嗨!哪泥嘎斯基?
line_developers_tw
PRO
0
1.1k
比起獨自升級 我更喜歡 DevOps 文化 <3
line_developers_tw
PRO
0
1.1k
工具人的一生: 開發很多 AI 工具讓我 慵懶過一生
line_developers_tw
PRO
0
1.1k
從四件事帶你見識見識 事件驅動架構設計 (EDA)
line_developers_tw
PRO
0
1k
TODAY 看世界(?) 是我們在看扣啦!
line_developers_tw
PRO
0
1.1k
你想成為什麼樣的開發者?
line_developers_tw
PRO
0
25
研究生的 LINER生活
line_developers_tw
PRO
0
27
Other Decks in Technology
See All in Technology
TechLION vol.41~MySQLユーザ会のほうから来ました / techlion41_mysql
sakaik
0
180
AIエージェント最前線! Amazon Bedrock、Amazon Q、そしてMCPを使いこなそう
minorun365
PRO
15
5.1k
Amazon ECS & AWS Fargate 運用アーキテクチャ2025 / Amazon ECS and AWS Fargate Ops Architecture 2025
iselegant
16
5.5k
Observability infrastructure behind the trillion-messages scale Kafka platform
lycorptech_jp
PRO
0
140
生成AIで小説を書くためにプロンプトの制約や原則について学ぶ / prompt-engineering-for-ai-fiction
nwiizo
4
1.8k
Node-RED × MCP 勉強会 vol.1
1ftseabass
PRO
0
140
Delegating the chores of authenticating users to Keycloak
ahus1
0
120
Oracle Audit Vault and Database Firewall 20 概要
oracle4engineer
PRO
3
1.7k
AIのAIによるAIのための出力評価と改善
chocoyama
2
550
25分で解説する「最小権限の原則」を実現するための AWS「ポリシー」大全 / 20250625-aws-summit-aws-policy
opelab
9
1.1k
Node-REDのFunctionノードでMCPサーバーの実装を試してみた / Node-RED × MCP 勉強会 vol.1
you
PRO
0
110
Liquid Glass革新とSwiftUI/UIKit進化
fumiyasac0921
0
210
Featured
See All Featured
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.8k
The Art of Programming - Codeland 2020
erikaheidi
54
13k
Thoughts on Productivity
jonyablonski
69
4.7k
Java REST API Framework Comparison - PWX 2021
mraible
31
8.6k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
107
19k
Done Done
chrislema
184
16k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
657
60k
How STYLIGHT went responsive
nonsquared
100
5.6k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Testing 201, or: Great Expectations
jmmastey
42
7.5k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
130
19k
Transcript
⼀起來跑 TDD, 直到完成 User Story 為⽌
Brandon Lu LINE TECH FRESH Software Engineer Intern Software Engineer
Architecture Research Intern Software Engineer Intern Backend Engineer Intern @LINE @CeranaStudio @Sunbird @Advantech @iStaging SBS + GLC
01 02 03 04 ATDD 如何補⾜ TDD? ATDD 如何溝通需求? ATDD
如何檢驗需求有被達成? What is TDD? 05 總結 CONTENT
SECTION 01 What is TDD?
Write a failing test What is TDD? Test Driven Development
Write a failing test What is TDD? Pass the test
Test Driven Development
Write a failing test What is TDD? Pass the test
Refactor Test Driven Development
Write a failing test Pass the test Refactor Think first
More testable code Code Quality UP! Confident to deliver/refactor Test Driven Development What is TDD?
Why don’t you run TDD?
Why don’t you run TDD? Self-discipline
Why don’t you run TDD? Self-discipline What to test? What
are the test cases?
SECTION 02 來看看 ATDD 如何補⾜ TDD? Meet ATDD What to
test? What are the test cases?
Meet ATDD What to test? What are the test cases?
Spec By Example User Story
Meet ATDD What to test? What are the test cases?
A C 1 A C 2 A C * N Spec By Example User Story
Meet ATDD What to test? What are the test cases?
User Story AC 1 AC 2 AC *N Spec By Example Acceptance Criteria
Meet ATDD What to test? What are the test cases?
User Story AC 1 AC 2 AC *N Spec By Example TDD TDD TDD
Meet ATDD User Story Acceptance Criteria Spec By Example What
to test? What are the test cases? Pain Points of TDD Simplified ATDD Process
SECTION 03 User Story + Spec By Example ATDD 如何溝通需求?
User Story Acceptance Criteria Spec By Example
User Story User Story Acceptance Criteria Spec By Example
User Story User Story Acceptance Criteria Spec By Example As
a __, I want to __, so that __.
User Story User Story Acceptance Criteria Spec By Example 房屋篩選
As a __, I want to __, so that __.
User Story As a __, I want to __, so
that __. As a ⼀名租屋族 User Story Acceptance Criteria Spec By Example I want to 篩選符合理想條件的房⼦ so that 快速找到符合我預算和需求的租房選擇,減少尋找房源的時間和精⼒
Spec By Example User Story Acceptance Criteria Spec By Example
I want to 篩選符合理想條件的房⼦ 什麼是理想條件? ⽤例⼦進⾏溝通
Spec By Example User Story Acceptance Criteria Spec By Example
I want to 篩選符合理想條件的房⼦ 什麼是理想條件? 租⾦、地區、交通 ⽤例⼦進⾏溝通
Spec By Example User Story Acceptance Criteria Spec By Example
租⾦、地區、交通 租⾦的範圍是多少?可以舉例嗎? ⽤例⼦進⾏溝通
Spec By Example User Story Acceptance Criteria Spec By Example
租⾦的範圍是多少?可以舉例嗎? ⽤例⼦進⾏溝通 租⾦、地區、交通 有效輸入:$0 ~ $999,999,999 無效輸入:< $0, > $999,999,999 邊緣輸入:$0, $999,999,999
SECTION 04 驗收標準 Acceptance Criteria ATDD 如何檢驗需求有被達成? User Story Acceptance
Criteria Spec By Example
I want to 篩選 符合理想條件的房⼦ 租⾦條件 … … 驗收標準 Acceptance
Criteria User Story Acceptance Criteria Spec By Example 有效輸入:$0 ~ $999,999,999 無效輸入:< $0, > $999,999,999 邊緣輸入:$0, $999,999,999 User Story 實例化需求
I want to 篩選 符合理想條件的房⼦ 租⾦條件 … … 驗收標準 Acceptance
Criteria User Story Acceptance Criteria Spec By Example 有效輸入:$0 ~ $999,999,999 無效輸入:< $0, > $999,999,999 邊緣輸入:$0, $999,999,999 AC 001: 系統應根據使⽤者指定的預算範圍顯⽰房源列表 User Story 實例化需求
租⾦條件 驗收標準 Acceptance Criteria User Story Acceptance Criteria Spec By
Example 有效輸入:$0 ~ $999,999,999 Given 系統應根據使⽤者指定的預算範圍顯⽰房源列表
租⾦條件 驗收標準 Acceptance Criteria User Story Acceptance Criteria Spec By
Example 有效輸入:$0 ~ $999,999,999 Given When 使⽤者查詢資料 系統應根據使⽤者指定的預算範圍顯⽰房源列表
租⾦條件 驗收標準 Acceptance Criteria User Story Acceptance Criteria Spec By
Example 有效輸入:$0 ~ $999,999,999 Given When 使⽤者查詢資料 Then 預期得到房屋列表 系統應根據使⽤者指定的預算範圍顯⽰房源列表
租⾦條件 驗收標準 Acceptance Criteria User Story Acceptance Criteria Spec By
Example 有效輸入:$0 ~ $999,999,999 無效輸入:< $0, > $999,999,999 邊緣輸入:$0, $999,999,999 Given When 使⽤者查詢資料 Then 預期得到房屋列表 系統應根據使⽤者指定的預算範圍顯⽰房源列表
租⾦條件 驗收標準 Acceptance Criteria User Story Acceptance Criteria Spec By
Example 有效輸入:$0 ~ $999,999,999 無效輸入:< $0, > $999,999,999 邊緣輸入:$0, $999,999,999 Given When 使⽤者查詢資料 Then 錯誤處理 系統應根據使⽤者指定的預算範圍顯⽰房源列表
租⾦條件 驗收標準 Acceptance Criteria User Story Acceptance Criteria Spec By
Example 有效輸入:$0 ~ $999,999,999 無效輸入:< $0, > $999,999,999 邊緣輸入:$0, $999,999,999 Given When 使⽤者查詢資料 Then [房屋列表] or [錯誤處理] 系統應根據使⽤者指定的預算範圍顯⽰房源列表
SECTION 05 來帶點東⻄回家吧 Summary User Story Acceptance Criteria Spec By
Example
Meet ATDD User Story Acceptance Criteria Spec By Example Pain
Points of TDD Simplified ATDD Process What to test? What are the test cases?
Meet ATDD Spec By Example User Story As a __,
I want to __, so that __.
Meet ATDD A C 1 A C 2 A C
* N Spec By Example User Story ⽤例⼦進⾏溝通
Meet ATDD User Story AC 1 AC 2 AC *N
Spec By Example 訂立驗收標準
Meet ATDD User Story AC 1 AC 2 AC *N
Spec By Example TDD TDD TDD
None
None