SlideShare ist ein Scribd-Unternehmen logo
1 von 27
BDD in Action
我的BDD實踐
1. BDD介紹
2. 我的BDD實踐
3. Q&A
BDD介紹
BDD TDD
Behavior-driven development
決定好測試案例再開發
從使用者角度
描述系統應有的行為
Test-driven development
從物件角度
描述物件應有的行為
Integration test Unit test
BDD is ...
一種開發方式 ,用大家都能理解的方式討論使用案例 , 減少彼此之間的代溝 ;
我的BDD實踐
that’s talk a story ...
過了一段時間 ...
目標 事主 手段
開發產品的時候,正確的方向,比速度更重要
透過一些工具來協助描述我們要解決的問題 : mind map ,impact
mapping…
有效地找出要做的事大概有哪些
example :
why : 增加營業額
who : 客戶
how: 增加消費行為
what : 收到促銷折扣資訊
讓我們再把故事說清楚點
IT部門
產品
研發部門
業務部門
看到產品全貌 (Big Picture)
User Story Mapping is an approach to Organizing and Prioritizing user stories.
雖然產品的全貌會隨著時間而變動 ,但這是規劃如何執行開發的的起始點
故事怎樣算完成
定義使用場景來滿足這個故事 , 一個故事可以用很多場景來描述 ,
每個場景都屬於這個故事驗收的範圍 ,也就是我們所需要的驗收規範
測試導向開發
確認好待開發需求 (使用者故事-userstory) - Definition of Ready
定義好產品規格 (使用場景-scenario) - Definition of Done
依照規格開發 - BDD (Behavior-driven development)
UI測試 -可測到的系統功能範圍 non-UI 測試
定義良好的規格作為測試案例,協助系統持續整合建構
UI測試主要用於描述使用者如何透過系統達成某些功能,目標
- 適合用來跑過主流程 ,確認系統整合運行正常
- 可有效減少手動測試 ,讓測試人員進行更有價值的測試 ,explore test
- demo產品功能
非UI的測試 ,主要用來測試驗證較複雜的商業邏輯 ,
例如:
- 註冊新帳號時 , 註冊用的密碼強度如何區分 .
- 網購時 ,商品根據購買總價和寄送地區要如何收取運費
實機Demo...
Reference
https://ruddyblog.wordpress.com/2016/06/18/%E7%AC%AC%E4%BA%8C%E7%AF%87%E3%80%81defin
ition-of-ready-
%E5%B7%A5%E7%A8%8B%E5%B8%AB%E8%A6%81%E5%AD%B8%E6%9C%83%E5%A6%82%E4%
BD%95%E8%AC%9B%E5%A5%BD%E6%95%85%E4%BA%8B/
https://dotblogs.com.tw/hatelove/2013/01/11/learning-tdd-in-30-days-catalog-and-reference
Q&A
END

Weitere ähnliche Inhalte

Andere mochten auch

從App developer角度來介紹BLE
從App developer角度來介紹BLE從App developer角度來介紹BLE
從App developer角度來介紹BLESam Lee
 
LWC18 編目館員看RDA的各種角度 報告人:國立臺灣大學圖書館書目服務組李明錦組長
LWC18 編目館員看RDA的各種角度 報告人:國立臺灣大學圖書館書目服務組李明錦組長LWC18 編目館員看RDA的各種角度 報告人:國立臺灣大學圖書館書目服務組李明錦組長
LWC18 編目館員看RDA的各種角度 報告人:國立臺灣大學圖書館書目服務組李明錦組長International Federation for information integration
 
設計角度談Eee PC@2007 UI Gathering
設計角度談Eee PC@2007 UI Gathering設計角度談Eee PC@2007 UI Gathering
設計角度談Eee PC@2007 UI GatheringJustin Lee
 
從軟體開發角度
談 Docker 的應用
從軟體開發角度
談 Docker 的應用從軟體開發角度
談 Docker 的應用
從軟體開發角度
談 Docker 的應用謝 宗穎
 
淺談測試Part2
淺談測試Part2淺談測試Part2
淺談測試Part2Chris Chang
 
等速圓周運動 速率-加速度-數學方程
等速圓周運動 速率-加速度-數學方程等速圓周運動 速率-加速度-數學方程
等速圓周運動 速率-加速度-數學方程阿Samn的物理課本
 
等速圓周運動 角位移角速度數學方程
等速圓周運動 角位移角速度數學方程等速圓周運動 角位移角速度數學方程
等速圓周運動 角位移角速度數學方程阿Samn的物理課本
 
怎麼看電影Day2 筆記整理 230116
怎麼看電影Day2  筆記整理 230116怎麼看電影Day2  筆記整理 230116
怎麼看電影Day2 筆記整理 230116gaowenwen
 
從技術角度看 RWD - Technical Approaches to RWD
從技術角度看 RWD - Technical Approaches to RWD從技術角度看 RWD - Technical Approaches to RWD
從技術角度看 RWD - Technical Approaches to RWDChris Wu
 
由點、線至面:從影像分析角度探討漫畫的組成與風格-朱威達
由點、線至面:從影像分析角度探討漫畫的組成與風格-朱威達由點、線至面:從影像分析角度探討漫畫的組成與風格-朱威達
由點、線至面:從影像分析角度探討漫畫的組成與風格-朱威達台灣資料科學年會
 
邏輯性簡報建構法課程簡介 / 商業簡報網-韓明文講師
邏輯性簡報建構法課程簡介 / 商業簡報網-韓明文講師邏輯性簡報建構法課程簡介 / 商業簡報網-韓明文講師
邏輯性簡報建構法課程簡介 / 商業簡報網-韓明文講師明文 韓
 
從open data角度談網站api應用
從open data角度談網站api應用從open data角度談網站api應用
從open data角度談網站api應用Yu Shu Huang
 
Hormonal treatment of breast cancer
Hormonal treatment of breast cancerHormonal treatment of breast cancer
Hormonal treatment of breast cancerSantam Chakraborty
 
Cervical Cancer Educational Presentation
Cervical Cancer Educational PresentationCervical Cancer Educational Presentation
Cervical Cancer Educational Presentationrinki singh
 
Cancer PPT (From Mrs. Brenda Lee)
Cancer PPT (From Mrs. Brenda Lee)Cancer PPT (From Mrs. Brenda Lee)
Cancer PPT (From Mrs. Brenda Lee)Carla
 
What Is Cancer
What  Is CancerWhat  Is Cancer
What Is CancerPhil Mayor
 

Andere mochten auch (20)

從App developer角度來介紹BLE
從App developer角度來介紹BLE從App developer角度來介紹BLE
從App developer角度來介紹BLE
 
LWC18 編目館員看RDA的各種角度 報告人:國立臺灣大學圖書館書目服務組李明錦組長
LWC18 編目館員看RDA的各種角度 報告人:國立臺灣大學圖書館書目服務組李明錦組長LWC18 編目館員看RDA的各種角度 報告人:國立臺灣大學圖書館書目服務組李明錦組長
LWC18 編目館員看RDA的各種角度 報告人:國立臺灣大學圖書館書目服務組李明錦組長
 
設計角度談Eee PC@2007 UI Gathering
設計角度談Eee PC@2007 UI Gathering設計角度談Eee PC@2007 UI Gathering
設計角度談Eee PC@2007 UI Gathering
 
從軟體開發角度
談 Docker 的應用
從軟體開發角度
談 Docker 的應用從軟體開發角度
談 Docker 的應用
從軟體開發角度
談 Docker 的應用
 
淺談測試Part2
淺談測試Part2淺談測試Part2
淺談測試Part2
 
等速圓周運動 速率-加速度-數學方程
等速圓周運動 速率-加速度-數學方程等速圓周運動 速率-加速度-數學方程
等速圓周運動 速率-加速度-數學方程
 
等速圓周運動 角位移角速度數學方程
等速圓周運動 角位移角速度數學方程等速圓周運動 角位移角速度數學方程
等速圓周運動 角位移角速度數學方程
 
怎麼看電影Day2 筆記整理 230116
怎麼看電影Day2  筆記整理 230116怎麼看電影Day2  筆記整理 230116
怎麼看電影Day2 筆記整理 230116
 
從技術角度看 RWD - Technical Approaches to RWD
從技術角度看 RWD - Technical Approaches to RWD從技術角度看 RWD - Technical Approaches to RWD
從技術角度看 RWD - Technical Approaches to RWD
 
由點、線至面:從影像分析角度探討漫畫的組成與風格-朱威達
由點、線至面:從影像分析角度探討漫畫的組成與風格-朱威達由點、線至面:從影像分析角度探討漫畫的組成與風格-朱威達
由點、線至面:從影像分析角度探討漫畫的組成與風格-朱威達
 
邏輯性簡報建構法課程簡介 / 商業簡報網-韓明文講師
邏輯性簡報建構法課程簡介 / 商業簡報網-韓明文講師邏輯性簡報建構法課程簡介 / 商業簡報網-韓明文講師
邏輯性簡報建構法課程簡介 / 商業簡報網-韓明文講師
 
功夫微講堂第四卷
功夫微講堂第四卷功夫微講堂第四卷
功夫微講堂第四卷
 
從open data角度談網站api應用
從open data角度談網站api應用從open data角度談網站api應用
從open data角度談網站api應用
 
Epidemiologia cáncer (1)
Epidemiologia cáncer (1)Epidemiologia cáncer (1)
Epidemiologia cáncer (1)
 
Understanding cancer
Understanding cancerUnderstanding cancer
Understanding cancer
 
Hormonal treatment of breast cancer
Hormonal treatment of breast cancerHormonal treatment of breast cancer
Hormonal treatment of breast cancer
 
Cervical Cancer Educational Presentation
Cervical Cancer Educational PresentationCervical Cancer Educational Presentation
Cervical Cancer Educational Presentation
 
Pancreas Cancer
Pancreas CancerPancreas Cancer
Pancreas Cancer
 
Cancer PPT (From Mrs. Brenda Lee)
Cancer PPT (From Mrs. Brenda Lee)Cancer PPT (From Mrs. Brenda Lee)
Cancer PPT (From Mrs. Brenda Lee)
 
What Is Cancer
What  Is CancerWhat  Is Cancer
What Is Cancer
 

Ähnlich wie 我的BDD實踐

产品经理交流
产品经理交流产品经理交流
产品经理交流clarles
 
人機協作迎向Ai+世代
人機協作迎向Ai+世代人機協作迎向Ai+世代
人機協作迎向Ai+世代Steven Tseng
 
Behavior Driven Development on C.C.Agile
Behavior Driven Development on C.C.AgileBehavior Driven Development on C.C.Agile
Behavior Driven Development on C.C.AgileSam Huang
 
HPX Talk42 - 筆記分享
HPX Talk42 - 筆記分享HPX Talk42 - 筆記分享
HPX Talk42 - 筆記分享Daniel Wu
 
Blue Ocean Strategy
Blue Ocean StrategyBlue Ocean Strategy
Blue Ocean Strategynextlib
 
产品管理与设计分享
产品管理与设计分享产品管理与设计分享
产品管理与设计分享aakaike
 
Baidu pm心得分享
Baidu pm心得分享Baidu pm心得分享
Baidu pm心得分享磊 张
 
設計文獻研討_如何建立具設計管理思維的組織
設計文獻研討_如何建立具設計管理思維的組織 設計文獻研討_如何建立具設計管理思維的組織
設計文獻研討_如何建立具設計管理思維的組織 Eliot Zhang
 
CCDM 網路行銷人才認證班 說明會講義
CCDM 網路行銷人才認證班 說明會講義CCDM 網路行銷人才認證班 說明會講義
CCDM 網路行銷人才認證班 說明會講義Yusun Chen
 
專案管理計畫 記帳 楊信德
專案管理計畫 記帳 楊信德專案管理計畫 記帳 楊信德
專案管理計畫 記帳 楊信德vincent su
 
Finding Boundaries with Domain Storytelling
Finding Boundaries with Domain StorytellingFinding Boundaries with Domain Storytelling
Finding Boundaries with Domain Storytellingsandy30716
 
产品经理的视角 Chrissyuan v1.0
产品经理的视角 Chrissyuan v1.0产品经理的视角 Chrissyuan v1.0
产品经理的视角 Chrissyuan v1.0youthadster
 
Product manager-chrissyuan v1.0
Product manager-chrissyuan v1.0Product manager-chrissyuan v1.0
Product manager-chrissyuan v1.0xlight
 
产品经理的视角
产品经理的视角产品经理的视角
产品经理的视角envong
 
产品经理的视角 Chrissyuan V1 0
产品经理的视角 Chrissyuan V1 0产品经理的视角 Chrissyuan V1 0
产品经理的视角 Chrissyuan V1 0kidleecn
 
《产品经理的视角》
《产品经理的视角》《产品经理的视角》
《产品经理的视角》Zhou Pengzhen
 
腾讯产品运营之产品经理的视角
腾讯产品运营之产品经理的视角腾讯产品运营之产品经理的视角
腾讯产品运营之产品经理的视角mysqlops
 
产品经理的视角 战略发展部
产品经理的视角 战略发展部产品经理的视角 战略发展部
产品经理的视角 战略发展部wangshuangfei
 

Ähnlich wie 我的BDD實踐 (20)

产品经理交流
产品经理交流产品经理交流
产品经理交流
 
人機協作迎向Ai+世代
人機協作迎向Ai+世代人機協作迎向Ai+世代
人機協作迎向Ai+世代
 
Behavior Driven Development on C.C.Agile
Behavior Driven Development on C.C.AgileBehavior Driven Development on C.C.Agile
Behavior Driven Development on C.C.Agile
 
HPX Talk42 - 筆記分享
HPX Talk42 - 筆記分享HPX Talk42 - 筆記分享
HPX Talk42 - 筆記分享
 
Blue Ocean Strategy
Blue Ocean StrategyBlue Ocean Strategy
Blue Ocean Strategy
 
产品管理与设计分享
产品管理与设计分享产品管理与设计分享
产品管理与设计分享
 
敏捷簡報
敏捷簡報敏捷簡報
敏捷簡報
 
Baidu pm心得分享
Baidu pm心得分享Baidu pm心得分享
Baidu pm心得分享
 
管理學
管理學管理學
管理學
 
設計文獻研討_如何建立具設計管理思維的組織
設計文獻研討_如何建立具設計管理思維的組織 設計文獻研討_如何建立具設計管理思維的組織
設計文獻研討_如何建立具設計管理思維的組織
 
CCDM 網路行銷人才認證班 說明會講義
CCDM 網路行銷人才認證班 說明會講義CCDM 網路行銷人才認證班 說明會講義
CCDM 網路行銷人才認證班 說明會講義
 
專案管理計畫 記帳 楊信德
專案管理計畫 記帳 楊信德專案管理計畫 記帳 楊信德
專案管理計畫 記帳 楊信德
 
Finding Boundaries with Domain Storytelling
Finding Boundaries with Domain StorytellingFinding Boundaries with Domain Storytelling
Finding Boundaries with Domain Storytelling
 
产品经理的视角 Chrissyuan v1.0
产品经理的视角 Chrissyuan v1.0产品经理的视角 Chrissyuan v1.0
产品经理的视角 Chrissyuan v1.0
 
Product manager-chrissyuan v1.0
Product manager-chrissyuan v1.0Product manager-chrissyuan v1.0
Product manager-chrissyuan v1.0
 
产品经理的视角
产品经理的视角产品经理的视角
产品经理的视角
 
产品经理的视角 Chrissyuan V1 0
产品经理的视角 Chrissyuan V1 0产品经理的视角 Chrissyuan V1 0
产品经理的视角 Chrissyuan V1 0
 
《产品经理的视角》
《产品经理的视角》《产品经理的视角》
《产品经理的视角》
 
腾讯产品运营之产品经理的视角
腾讯产品运营之产品经理的视角腾讯产品运营之产品经理的视角
腾讯产品运营之产品经理的视角
 
产品经理的视角 战略发展部
产品经理的视角 战略发展部产品经理的视角 战略发展部
产品经理的视角 战略发展部
 

Mehr von Huang Bruce

2. auto deploy to tomcat on jenkins
2. auto deploy to tomcat on jenkins2. auto deploy to tomcat on jenkins
2. auto deploy to tomcat on jenkinsHuang Bruce
 
1. Quick sartup a jenkins server on OpenShift
1. Quick sartup a jenkins server on OpenShift1. Quick sartup a jenkins server on OpenShift
1. Quick sartup a jenkins server on OpenShiftHuang Bruce
 
從Eclipse部屬java webapp 到本地端tomcat
從Eclipse部屬java webapp 到本地端tomcat從Eclipse部屬java webapp 到本地端tomcat
從Eclipse部屬java webapp 到本地端tomcatHuang Bruce
 
用Maven管理專案的依賴關係
用Maven管理專案的依賴關係用Maven管理專案的依賴關係
用Maven管理專案的依賴關係Huang Bruce
 

Mehr von Huang Bruce (6)

2. auto deploy to tomcat on jenkins
2. auto deploy to tomcat on jenkins2. auto deploy to tomcat on jenkins
2. auto deploy to tomcat on jenkins
 
1. Quick sartup a jenkins server on OpenShift
1. Quick sartup a jenkins server on OpenShift1. Quick sartup a jenkins server on OpenShift
1. Quick sartup a jenkins server on OpenShift
 
初探Jenkins
初探Jenkins初探Jenkins
初探Jenkins
 
從Eclipse部屬java webapp 到本地端tomcat
從Eclipse部屬java webapp 到本地端tomcat從Eclipse部屬java webapp 到本地端tomcat
從Eclipse部屬java webapp 到本地端tomcat
 
用Maven管理專案的依賴關係
用Maven管理專案的依賴關係用Maven管理專案的依賴關係
用Maven管理專案的依賴關係
 
初探Maven 3
初探Maven 3初探Maven 3
初探Maven 3
 

我的BDD實踐

Hinweis der Redaktion

  1. 會講到這個主題 ,最初是因為 專案的文件很難反映到系統現況 ,有很多模糊地帶 ; 要開發修改的功能做不完 ,總被老闆追著跑 ,於是就想看別人是怎麼做的
  2. 如何分析出要實作的使用案例
  3. 方式 ,包含討論的行為 ,文件的紀錄方法
  4. 我女朋友是個美髮設計師, 平時就有記帳的需求 ,所以做了個記帳工具 ,使用mind map ,簡單發想了要實作的內容.
  5. 剛好我在前些日子看了某大師的blog,BDD in action這本書也有提到, 用impact mapping從根本問題找出一些解決方案 (developer我只能幫忙做統計表)
  6. 我們只要找到真正有價值,值得去做的事就行
  7. 我們可以想像到這不侷限特定角色 ,讓與這專案有相關或有興趣的人加入,進行討論 , 像是透過統計表得到最近賣最好的產品 ,在現場的業務預期可以進行進一步的推銷活動 ,或是負責採買的人需要將進貨量增加 ,這些環環相扣的事項都可以一併進行討論
  8. 這概念很簡單 ,把想法用可看見的方式, 拿出來討論(溝通) ,然後達到共識
  9. userstory mapping是一種組織userstory並排定優先順序的方法
  10. 有了故事, 可以再更深入得討論每個使用場景 , 需使用give when then格式來記錄 ,就像unit test ,定義初始狀態 , 行為 ,結果 . 作為驗收測試的規格. 在specification by example一書中提及 , 使用"協同制定規格"的說法 ,比制定使用場景或驗收測試案例來得更讓人容易接收.
  11. 從準備需求到定義產品的scope, 然後就能進行開發了
  12. BDD就是一種測試導向開發的方式 ,透過BDD TOOL 工具, 將驗收規格變成可執行的測試案例 userstory -> Scenario -> a executable specification
  13. 從使用者的角度描述系統應有的功能 ,所以測試結果要直接反應系統現況, 這邊簡單區分成UI測試和非UI測試
  14. Demo後,產生的報表除了反映系統現況 ,也可以做為說明文件作為產品交付的內容 . Living Document