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
2k
一起來跑 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
Live Activities in LINE
line_developers_tw
PRO
0
9
Neumorphism x Liquid Glass
line_developers_tw
PRO
0
10
猜你喜歡 – 打造高度擴展的個人化電商推薦
line_developers_tw
PRO
0
22
打造新電商搜尋體驗- 搜尋意圖辨識
line_developers_tw
PRO
0
7
比價群組
line_developers_tw
PRO
0
11
從混亂到優雅,讓專案不再失控:ATDD 與 Clean Architecture 的後端實戰之路
line_developers_tw
PRO
0
10
2049智能共存:透過LINE Bot Agent迎接後人類時代
line_developers_tw
PRO
0
39
菸酒生在 LINE Taiwan 的後端雙刀流
line_developers_tw
PRO
0
1.4k
讓測試不再 BB! 從 BDD 到 CI/CD, 不靠人力也能 MVP
line_developers_tw
PRO
0
1.5k
Other Decks in Technology
See All in Technology
株式会社ログラス - 会社説明資料【エンジニア】/ Loglass Engineer
loglass2019
4
64k
RSCの時代にReactとフレームワークの境界を探る
uhyo
10
3.5k
スマートファクトリーの第一歩 〜AWSマネージドサービスで 実現する予知保全と生成AI活用まで
ganota
2
230
OCI Oracle Database Services新機能アップデート(2025/06-2025/08)
oracle4engineer
PRO
0
170
職種の壁を溶かして開発サイクルを高速に回す~情報透明性と職種越境から考えるAIフレンドリーな職種間連携~
daitasu
0
170
品質視点から考える組織デザイン/Organizational Design from Quality
mii3king
0
210
Firestore → Spanner 移行 を成功させた段階的移行プロセス
athug
1
490
250905 大吉祥寺.pm 2025 前夜祭 「プログラミングに出会って20年、『今』が1番楽しい」
msykd
PRO
1
970
20250913_JAWS_sysad_kobe
takuyay0ne
2
230
S3アクセス制御の設計ポイント
tommy0124
3
200
実践!カスタムインストラクション&スラッシュコマンド
puku0x
0
460
DDD集約とサービスコンテキスト境界との関係性
pandayumi
3
290
Featured
See All Featured
Making Projects Easy
brettharned
117
6.4k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
GraphQLの誤解/rethinking-graphql
sonatard
72
11k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
How to Think Like a Performance Engineer
csswizardry
26
1.9k
Designing Experiences People Love
moore
142
24k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
Being A Developer After 40
akosma
90
590k
Documentation Writing (for coders)
carmenintech
74
5k
A better future with KSS
kneath
239
17k
Balancing Empowerment & Direction
lara
3
620
How STYLIGHT went responsive
nonsquared
100
5.8k
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