測試驅(qū)動(dòng)開發(fā)(TDD)課程
編輯日期 2018-06-04 閱讀次數(shù):692 次
培訓(xùn)地點(diǎn)
上海
廣州
深圳
北京
培訓(xùn)時(shí)間
4月
20-21
6月
10-11
8月
18-19
10月
20-21
本課程全國常年開班,如部分地區(qū)課程已結(jié)束或有其他培訓(xùn)時(shí)間要求,請致電:400-676-1955咨詢近期培訓(xùn)信息!此課程也可以供企業(yè)做內(nèi)訓(xùn),歡迎咨詢!
培訓(xùn)地點(diǎn)
上海
廣州
深圳
北京
培訓(xùn)時(shí)間
4月
20-21
6月
10-11
8月
18-19
10月
20-21
【課程簡介】
在敏捷開發(fā)實(shí)踐過程中總有一些棘手的問題,讓敏捷開發(fā)的過程磕磕絆絆,下面列舉了一些常見的問題:
(1)不愿意使用Unit Test與TDD,原因增加工作負(fù)擔(dān)
(2)改變我以前的工作習(xí)慣,習(xí)慣于頭腦中構(gòu)思,不愿意編寫出來
(3)不懂測試技術(shù),無法設(shè)計(jì)測試用例
(4)整個(gè)軟件中的函數(shù)都需要完成TDD嗎?
(5)如何結(jié)合UML與TDD?
(6)如何結(jié)合持續(xù)集成構(gòu)建與TDD?
(7)User story描述簡潔,如何展開User Story各種場景?
(8)如何從驗(yàn)證角度完善User Story?
(9)Unit Test與TDD的粒度?
(10)有些工具支撐BDD?
這些問題引發(fā)了互聯(lián)網(wǎng)上得一些論戰(zhàn),不同實(shí)踐者,依據(jù)自己的實(shí)踐理解給出了一些有價(jià)值的經(jīng)驗(yàn),這些經(jīng)驗(yàn)就像盲人摸象,只能解決其中的一部分問題,如何打通敏捷編程的五經(jīng)六脈呢?講師通過多年的實(shí)踐與咨詢,發(fā)現(xiàn)能夠?qū)崿F(xiàn)高質(zhì)量與高效率編程的一套實(shí)踐方法,有效結(jié)合UML、MDA、ATDD、BDD與TDD的方法,其中最為關(guān)鍵的事ATDD、BDD與TDD,故稱之為編程三劍客。
【培訓(xùn)對象】
? 敏捷過程的編程者{希望融合ATDD、BDD與TDD的編程者}
? 常規(guī)過程的編程者{希望了解編程三劍客內(nèi)涵的編程者}
? 敏捷過程的Master
? 常規(guī)過程的項(xiàng)目管理者、質(zhì)量保證者
【學(xué)習(xí)時(shí)間】
2天
【培訓(xùn)形式】
? 可視化教學(xué)方式-圖形化方式演繹課程的知識體系
? A4動(dòng)手實(shí)踐法-背對背的頭腦風(fēng)暴實(shí)踐模式,揭示思維的差異
? A4回顧實(shí)踐法-每日階段性回顧,符合人的記憶規(guī)律
【課程費(fèi)用及證書】
費(fèi)用:5800元/人,包含:培訓(xùn)費(fèi)、教材費(fèi)、場地費(fèi)、證書費(fèi)、午餐茶點(diǎn)、稅費(fèi)等。
證書:培訓(xùn)后授發(fā)個(gè)人培訓(xùn)證書。
【課程大綱】
第1天 |
1.計(jì)算機(jī)解決問題需要什么 (1)馮諾依曼計(jì)算機(jī)結(jié)構(gòu)與程序結(jié)構(gòu) (2)程序結(jié)構(gòu)對需求規(guī)格描述的影響 (3)驗(yàn)收測試對需求規(guī)格的要求 (4)場景步驟描述的二義性問題 (5)關(guān)鍵字的形式化語言 (6)推導(dǎo)出ATDD與BDD的需求規(guī)格 (7)圓桌實(shí)踐:你的需求我描述 (8)歸納總結(jié):記錄發(fā)布你的實(shí)踐感悟 2.ATDD驗(yàn)收測試驅(qū)動(dòng)開發(fā) (1)product owner的user story開發(fā)與測試問題 (2)User Story & Product Backlog (2)用戶故事的細(xì)化description (3)User Story & 測試驗(yàn)證 (4)測試用例結(jié)構(gòu)與功能驗(yàn)收標(biāo)準(zhǔn) (5)功能驗(yàn)收標(biāo)準(zhǔn) & IDEF 0 (6)功能之間的調(diào)用關(guān)系與功能集成測試 (7)非功能性驗(yàn)證標(biāo)準(zhǔn)與系統(tǒng)測試 (8)開發(fā)者與測試者輔助PO撰寫驗(yàn)收標(biāo)準(zhǔn) (9)動(dòng)手實(shí)踐:基于ATDD的方式描述User Story實(shí)踐 3. BDD行為驅(qū)動(dòng)開發(fā) (1)Use Case & Scenario (2)與界面相關(guān)的交互場景分解 (3)功能操作的場景分解 (4)Scenario Description中的二義性問題 (5)何為形式化語言? (6)形式化語言關(guān)鍵字與語法結(jié)構(gòu) (7)形式化語言描述Scenario (8)可以執(zhí)行的形式化語言 (9)動(dòng)手實(shí)踐:基于BDD形式化語言描述User Story實(shí)踐 4.良好的編程習(xí)慣改變軟件的質(zhì)量 (1)PDCA解釋一種有準(zhǔn)備的工作習(xí)慣~先構(gòu)思后編程 (2)思維導(dǎo)圖與UML一種可視化構(gòu)思表達(dá) (3)編程者最擅長什么? (4)形式化語言是一種精準(zhǔn)方式的構(gòu)思表述 (5)以閱讀者的視角定義實(shí)效構(gòu)思的表達(dá) (6)從需求變更引發(fā)文檔變更視角定義專業(yè)構(gòu)思表達(dá) (7)百家爭鳴:如何改變開發(fā)者固有的編程習(xí)慣 5.全部TDD還是局部TDD (1)TDD的工作量評估 (2)動(dòng)手實(shí)踐:TDD工作量評估實(shí)踐,給出代碼行數(shù)量 (3)TDD使用場景決策 (4)慣性編程是否需要TDD? (5)待開發(fā)模塊歸類,一類只需一種TDD (6)基于Software Factory的TDD編程思維 (7)百家爭鳴:TDD的全面實(shí)施與局部實(shí)施 (8)白紙方式的TDD是否可以使用 |
地2天 |
6.打通編程的五經(jīng)六脈 (1)展示:不同流派的編程模式 (2)待實(shí)現(xiàn)模塊的Structured Method (3)待實(shí)現(xiàn)模塊的Object Oriented Method (4)對象化與結(jié)構(gòu)化的銜接與圖形可視化表達(dá) (5)結(jié)合UML與MDA的自動(dòng)骨架代碼生成 (6)類函數(shù)實(shí)現(xiàn)框圖中數(shù)據(jù)流與測試腳本 (7)動(dòng)手實(shí)踐:結(jié)合UML與TDD實(shí)踐 7.TDD的測試思維與測試技術(shù) (1)測試輸入、場景、輸出、依賴構(gòu)造技術(shù) (2)測試技術(shù)-邊界、等價(jià)、因果、決策、正交表、所有值對表等 (3)函數(shù)的輸入與輸出取值分析與Mapping (4)單元測試的Assert編程結(jié)構(gòu) (5)單元測試的Mock與Stub編程結(jié)構(gòu) (6)復(fù)雜數(shù)據(jù)結(jié)構(gòu)輸入與輸出的數(shù)據(jù)構(gòu)造技巧 (7)測試數(shù)據(jù)與測試腳本分離 (8)動(dòng)手實(shí)踐:測試腳本撰寫實(shí)踐 8.TDD編程與重構(gòu) (1)Unit Test Process & 重構(gòu) (2)功能到斷言的中間環(huán)節(jié)如何打通 (3)函數(shù)內(nèi)部結(jié)構(gòu)-定義、初始化、算法與釋放 (4)函數(shù)內(nèi)部的邏輯結(jié)構(gòu)與輸入輸出關(guān)系 (5)邏輯結(jié)構(gòu)復(fù)雜的函數(shù)的TDD技巧 (6)TDD測試腳本的重構(gòu) (7)動(dòng)手實(shí)踐:TDD測試腳本重構(gòu)實(shí)踐 9.持續(xù)集成構(gòu)建與TDD (1)持續(xù)集成構(gòu)建過程與工具 (2)持續(xù)集成構(gòu)建中的BVT驗(yàn)證性測試 (3)基于接口函數(shù)單元測試的BVT測試 (4)編程者Check in去除mock的TDD腳本 (5)TDD觸發(fā)持續(xù)集成構(gòu)建事件 (6)動(dòng)手實(shí)踐:基于持續(xù)集成構(gòu)建的TDD實(shí)踐
|
【講師簡介】
楊秀峰
“中國式敏捷”的創(chuàng)始人,是國內(nèi)知名的敏捷方法的推廣人之一。組織敏捷轉(zhuǎn)型巨匠,敏捷實(shí)施巨匠和敏捷教練。擁有超過10年的組織管理,組織轉(zhuǎn)型,產(chǎn)品管理,項(xiàng)目管理經(jīng)驗(yàn)和4年的敏捷組織轉(zhuǎn)型,敏捷產(chǎn)品管理,實(shí)施和輔導(dǎo)經(jīng)驗(yàn)。在解決企業(yè)敏捷轉(zhuǎn)型過程中遇到的實(shí)際問題具有豐富的經(jīng)驗(yàn)。
敏捷改變了現(xiàn)有的開發(fā)模式,讓開發(fā)變得更高效,敏捷在近幾年的實(shí)施過程中,大家變得越來越理性,不斷發(fā)現(xiàn)敏捷開發(fā)實(shí)施中的諸多問題,不斷地探索相關(guān)的解決方案,這些問題的聚焦點(diǎn)-敏捷開發(fā)的質(zhì)量問題上,如何在享受敏捷的快速高效的同時(shí),平衡測試的質(zhì)量問題,應(yīng)運(yùn)而生了一些有價(jià)值的敏捷開發(fā)方法-敏捷需求、敏捷架構(gòu)、測試驅(qū)動(dòng)開發(fā)、探索性測試、風(fēng)險(xiǎn)驅(qū)動(dòng)測試等等,講師在自己團(tuán)隊(duì)中不斷實(shí)施敏捷的過程,以及在企業(yè)級顧問咨詢中,發(fā)現(xiàn)到了一些有價(jià)值的方法,從敏捷的本質(zhì)中摸索了一套自己的方法論。
連續(xù)十多年帶團(tuán)隊(duì)開發(fā)項(xiàng)目,目前團(tuán)隊(duì)分布在北京,天津,深圳等8個(gè)城市,遠(yuǎn)程團(tuán)隊(duì)合作開發(fā),團(tuán)隊(duì)規(guī)模185人,實(shí)現(xiàn)了跨地區(qū)的軟件開發(fā),歷經(jīng)了幾十個(gè)軟件項(xiàng)目的開發(fā)與測試,形成一套自有的測試秘笈,解決了軟件質(zhì)量問題,收到大量客戶的好評。