
敏捷TDD佳實踐培訓
1.計算機解決問題需要什么
(1)馮諾依曼計算機結構與程序結構
(2)程序結構對需求規格描述的影響
(3)驗收測試對需求規格的要求
(4)場景步驟描述的二義性問題
(5)關鍵字的形式化語言
(6)推導出ATDD與BDD的需求規格
(7)圓桌實踐:你的需求我描述
(8)歸納總結:記錄發布你的實踐感悟
2.ATDD驗收測試驅動開發
(1)product owner的user story開發與測試問題
(2)User Story & Product Backlog
(2)用戶故事的細化description
(3)User Story & 測試驗證
(4)測試用例結構與功能驗收標準
(5)功能驗收標準 & IDEF 0
(6)功能之間的調用關系與功能集成測試
(7)非功能性驗證標準與系統測試
(8)開發者與測試者輔助PO撰寫驗收標準
(9)動手實踐:基于ATDD的方式描述User Story實踐
3. BDD行為驅動開發
(1)Use Case & Scenario
(2)與界面相關的交互場景分解
(3)功能操作的場景分解
(4)Scenario Description中的二義性問題
(5)何為形式化語言?
(6)形式化語言關鍵字與語法結構
(7)形式化語言描述Scenario
(8)可以執行的形式化語言
(9)動手實踐:基于BDD形式化語言描述User Story實踐
4.良好的編程習慣改變軟件的質量
(1)PDCA解釋一種有準備的工作習慣~先構思后編程
(2)思維導圖與UML一種可視化構思表達
(3)編程者擅長什么?
(4)形式化語言是一種精準方式的構思表述
(5)以閱讀者的視角定義佳構思的表達
(6)從需求變更引發文檔變更視角定義佳構思表達
(7)百家爭鳴:如何改變開發者固有的編程習慣
5.全部TDD還是局部TDD
(1)TDD的工作量評估
(2)動手實踐:TDD工作量評估實踐,給出代碼行數量
(3)TDD使用場景決策
(4)慣性編程是否需要TDD?
(5)待開發模塊歸類,一類只需一種TDD
(6)基于Software Factory的TDD編程思維
(7)百家爭鳴:TDD的全面實施與局部實施
(8)白紙方式的TDD是否可以使用
6.打通編程的五經六脈
(1)展示:不同流派的編程模式
(2)待實現模塊的Structured Method
(3)待實現模塊的Object Oriented Method
(4)對象化與結構化的銜接與圖形可視化表達
(5)結合UML與MDA的自動骨架代碼生成
(6)類函數實現框圖中數據流與測試腳本
(7)動手實踐:結合UML與TDD實踐
7.TDD的測試思維與測試技術
(1)測試輸入、場景、輸出、依賴構造技術
(2)測試技術-邊界、等價、因果、決策、正交表、所有值對表等
(3)函數的輸入與輸出取值分析與Mapping
(4)單元測試的Assert編程結構
(5)單元測試的Mock與Stub編程結構
(6)復雜數據結構輸入與輸出的數據構造技巧
(7)測試數據與測試腳本分離
(8)動手實踐:測試腳本撰寫實踐
8.TDD編程與重構
(1)Unit Test Process & 重構
(2)功能到斷言的中間環節如何打通
(3)函數內部結構-定義、初始化、算法與釋放
(4)函數內部的邏輯結構與輸入輸出關系
(5)邏輯結構復雜的函數的TDD技巧
(6)TDD測試腳本的重構
(7)動手實踐:TDD測試腳本重構實踐
9.持續集成構建與TDD
(1)持續集成構建過程與工具
(2)持續集成構建中的BVT驗證性測試
(3)基于接口函數單元測試的BVT測試
(4)編程者Check in去除mock的TDD腳本
(5)TDD觸發持續集成構建事件
(6)動手實踐:基于持續集成構建的TDD實踐