无码人妻A片一区二区三区_18禁裸乳无遮挡啪啪无码免费_91精品亚?影视在线?看_人人妻人人爽人人澡AV_国产精品人妻一区二区三区四区_午夜免费影视

中培偉業(yè)企業(yè)IT內(nèi)訓(xùn)課程
您現(xiàn)在的位置:首頁(yè) > 企業(yè)內(nèi)訓(xùn) > 軟件研發(fā) > 單元測(cè)試和重構(gòu)改進(jìn)軟件質(zhì)量

單元測(cè)試和重構(gòu)改進(jìn)軟件質(zhì)量

2022-04-29 10:53:28 | 來(lái)源:中培企業(yè)IT培訓(xùn)網(wǎng)
  • 課程背景
在每個(gè)現(xiàn)代軟件的構(gòu)造階段,測(cè)試這一實(shí)踐都扮演著中心角色。過(guò)去那種先編寫(xiě)代碼,然后有空的時(shí)候再測(cè)試(或者根本不測(cè)試)的日子已經(jīng)一去不返,因?yàn)榇蠖鄶?shù)開(kāi)發(fā)人員現(xiàn)在認(rèn)識(shí)到需要采用編碼和測(cè)試彼此交織、同步推進(jìn)的軟件方法論,以便盡早發(fā)現(xiàn) bug,在開(kāi)發(fā)過(guò)程開(kāi)始的時(shí)候就識(shí)別出主要的風(fēng)險(xiǎn)。
本課程系統(tǒng)全面地介紹了單元測(cè)試技術(shù)、方法以及原則,同時(shí)通過(guò)靜態(tài)分析Java/C#/C++/C語(yǔ)言程序常見(jiàn)代碼發(fā)現(xiàn)隱形Bug,而如何采用工具提高單元測(cè)試效率,則由講解使用XUnit等單元測(cè)試工具實(shí)現(xiàn),最后使用代碼重構(gòu)改進(jìn)代碼質(zhì)量和可測(cè)性。
  • 課程目標(biāo)
持續(xù)交付
TDD-測(cè)試驅(qū)動(dòng)開(kāi)發(fā)
單元測(cè)試概念
單元測(cè)試用例設(shè)計(jì)
應(yīng)用單元測(cè)試框架實(shí)踐單元測(cè)試
多種技術(shù)平臺(tái)編程語(yǔ)言單元測(cè)試實(shí)戰(zhàn)
單元測(cè)試效率
單元測(cè)試最佳實(shí)踐經(jīng)驗(yàn)
實(shí)現(xiàn)代碼質(zhì)量的度量
 代碼覆蓋率分析
Code review
面向?qū)ο笤O(shè)計(jì)原理與原則
重構(gòu)實(shí)踐
重構(gòu)代碼到模式。
  • 培訓(xùn)時(shí)長(zhǎng)
3天(18課時(shí))
  • 課程安排
應(yīng)用單元測(cè)試和重構(gòu)改進(jìn)軟件質(zhì)量
時(shí)間 課程內(nèi)容



持續(xù)交付
  • 軟件研發(fā)交付面臨的挑戰(zhàn)
  • 持續(xù)交付的研發(fā)流程
  • 使用高質(zhì)量的單元測(cè)試提高開(kāi)發(fā)期質(zhì)量的反饋
  • 應(yīng)用CI進(jìn)行每日構(gòu)建以頻繁地交付可工作的軟件
  • 基本腳本的自動(dòng)化部署縮短系統(tǒng)部署時(shí)間
  • 自動(dòng)化的回歸功能測(cè)試加速UAT測(cè)試
單元測(cè)試概述
  • 什么叫單元測(cè)試?
  • 為什么要做單元測(cè)試
  • 單元測(cè)試實(shí)施流程
  • 單元測(cè)試代碼的編寫(xiě)規(guī)范
  • 單元測(cè)試策略
  • 單元測(cè)試用例設(shè)計(jì)
  • 單元測(cè)試覆蓋率分析
  • 單元測(cè)試報(bào)告模板
 
基于單元測(cè)試的開(kāi)發(fā)習(xí)慣
  • 開(kāi)發(fā)過(guò)程是否需要單元測(cè)試
  • 是先代碼開(kāi)發(fā),還是先單元測(cè)試
  • 進(jìn)行Debug是否可以替代單元測(cè)試
  • 什么時(shí)間展開(kāi)單元測(cè)試
  • 單元測(cè)試的粒度(函數(shù)級(jí)別嗎?)
  • 單元測(cè)試與代碼開(kāi)發(fā)的時(shí)間比例關(guān)系
  • XP中的TDD實(shí)施過(guò)程
 
TDD-測(cè)試驅(qū)動(dòng)開(kāi)發(fā)
  • TDD開(kāi)發(fā)優(yōu)勢(shì)、價(jià)值
  • TDD開(kāi)發(fā)過(guò)程
  • TDD開(kāi)發(fā)模式
  • TDD實(shí)踐過(guò)程的問(wèn)題、難點(diǎn)解決方案
 
單元測(cè)試代碼結(jié)構(gòu)
  • 實(shí)現(xiàn)代碼結(jié)構(gòu)與單元測(cè)試代碼結(jié)構(gòu)對(duì)比
  • 單元測(cè)試代碼結(jié)構(gòu)的可復(fù)用性
  • 單元調(diào)用接口替身代碼結(jié)構(gòu)
  • 集成單元測(cè)試代碼結(jié)構(gòu)
 
實(shí)現(xiàn)代碼結(jié)構(gòu)分析
  • 實(shí)現(xiàn)代碼語(yǔ)句分析
  • 實(shí)現(xiàn)代分支、循環(huán)分析
  • 實(shí)現(xiàn)代碼路徑分析
  • 實(shí)現(xiàn)代碼條件分析
  • 標(biāo)識(shí)測(cè)試點(diǎn)
 
單元測(cè)試用例設(shè)計(jì)
  • 單元測(cè)試點(diǎn)之測(cè)試技術(shù)選擇
  • 單元測(cè)試點(diǎn)之?dāng)嘌詷?biāo)準(zhǔn)設(shè)計(jì)
  • 單元測(cè)試點(diǎn)之測(cè)試數(shù)據(jù)設(shè)計(jì)
  • 單元測(cè)試點(diǎn)集成測(cè)試場(chǎng)景設(shè)計(jì)
  • 基于設(shè)計(jì)模式實(shí)現(xiàn)代碼的單元測(cè)試設(shè)計(jì)(創(chuàng)建、結(jié)構(gòu)與行為)
 
應(yīng)用單元測(cè)試框架實(shí)踐單元測(cè)試
  • 單元測(cè)試框架概述
  • 編譯單元測(cè)試框架源代碼
  • 使用斷言編寫(xiě)單元測(cè)試用例
  • 使用Fixture機(jī)制靈活支持單元測(cè)試
  • 使用參數(shù)化批量定義單元測(cè)試用例
  • 使用運(yùn)行參數(shù)控制測(cè)試用例執(zhí)行
  • 使用工具生成單元測(cè)試覆蓋率報(bào)告



多種技術(shù)平臺(tái)編程語(yǔ)言單元測(cè)試實(shí)戰(zhàn)
  • 使用JSUnit、JSMock實(shí)踐Javascript單元測(cè)試
  • Java語(yǔ)言單元測(cè)試實(shí)踐:
    • 使用JUnit/TestNG框架實(shí)施Java代碼的單元測(cè)試
    • 使用MockIto框架實(shí)施隔離測(cè)試
    • 使用Spring Test API實(shí)踐Spring框架單元測(cè)試
    • 使用DBUnit框架實(shí)施基于數(shù)據(jù)庫(kù)的單元測(cè)試
  • C#語(yǔ)言單元測(cè)試實(shí)踐
    • 使用MSTest實(shí)施C#代碼的單元測(cè)試
    • 使用RhinoMock框架實(shí)施隔離測(cè)試
  • C++語(yǔ)言單元測(cè)試實(shí)踐
    • 使用Google Test框架實(shí)施C++代碼的單元測(cè)試
    • 使用Google Mock框架實(shí)施隔離測(cè)試
  • C語(yǔ)言單元測(cè)試實(shí)踐:使用Cmockery框架
  • 使用SQLUnit實(shí)踐數(shù)據(jù)庫(kù)存儲(chǔ)過(guò)程單元測(cè)試
案例:使用單元測(cè)試框架進(jìn)行單元測(cè)試案例實(shí)踐
 
單元測(cè)試效率(縮短單元測(cè)試時(shí)間)
  • 測(cè)試的全面性與測(cè)試效率
  • 函數(shù)級(jí)別單元測(cè)試與測(cè)試效率
  • 簡(jiǎn)單且可運(yùn)行實(shí)現(xiàn)代碼的測(cè)試效率
  • 將單元測(cè)試代碼集成到CI過(guò)程中
 
使用Mock實(shí)現(xiàn)測(cè)試隔離
  • Mock對(duì)象的設(shè)計(jì)和應(yīng)用原則
  • 如何編寫(xiě)Mock和Stub
  • 使用Mock框架實(shí)現(xiàn)測(cè)試隔離
  • Mock和Stub的最佳實(shí)踐
 
單元測(cè)試最佳實(shí)踐經(jīng)驗(yàn)
  • 根據(jù)架構(gòu)設(shè)計(jì)分析單元測(cè)試策略
  • 基于軟件需求、技術(shù)設(shè)計(jì)單元測(cè)試用例
  • 自動(dòng)化回歸單元測(cè)試用例
  • 生成、分析單元測(cè)試覆蓋率報(bào)告
 
Test Review技巧
  • 如何Review已有單元測(cè)試代碼
  • 分析單元測(cè)試覆蓋率報(bào)告以發(fā)現(xiàn)問(wèn)題
  • 分類測(cè)試問(wèn)題以實(shí)現(xiàn)單元測(cè)試的可讀性和可維護(hù)性
  • 案例分析開(kāi)源項(xiàng)目的單元測(cè)試方案
 
遺留代碼的單元測(cè)試導(dǎo)入與改進(jìn)
  • 設(shè)計(jì)解耦分離解決方案
  • 測(cè)試已有代碼的方法和策略
  • 通過(guò)重新設(shè)計(jì)改進(jìn)代碼可測(cè)性
  • 針對(duì)不可測(cè)代碼的解決方案



靜態(tài)測(cè)試
  • 靜態(tài)測(cè)試的目的
  • 靜態(tài)測(cè)試的原則
  • 靜態(tài)測(cè)試實(shí)戰(zhàn)
  • 案例:使用CheckStyle,PMD,Findbugs進(jìn)行校驗(yàn)代碼規(guī)則 , 發(fā)現(xiàn)重復(fù)代碼,檢查代碼注釋率
 
實(shí)現(xiàn)代碼質(zhì)量的度量
  • 代碼質(zhì)量的度量
  • Chidamber & Kemerer度量,
  • Depth of Inheritance Tree(DIT)
  • Number of Childre(NOC)
  • Response for a Class(RFC)
  • Afferent/Efferent Couplings(CA/CE)
  • Lack of cohesion in methods(LCOM)
  • 業(yè)界其他度量標(biāo)準(zhǔn)
 
Code review
  • Code review的原則
  • Code review前期準(zhǔn)備
  • Code review的代碼量
  • Code review的缺陷檢查表
  • Code review實(shí)戰(zhàn)
  • 案例:使用Eclipse插件執(zhí)行Code review活動(dòng)
 
代碼覆蓋率分析
  • 代碼覆蓋率的意義
  • 代碼覆蓋率工具介紹
  • 代碼覆蓋率實(shí)戰(zhàn)
  • 代碼覆蓋率分析
  • 案例:使用 CodePro進(jìn)行覆蓋測(cè)試
 
使用重構(gòu)提高代碼可測(cè)試性
面向?qū)ο笤O(shè)計(jì)原理與原則
  • 開(kāi)-閉原則(Open-Closed Principle)
  • 里氏代換原則(Liskov Substitution Principle)
  • 依賴倒換原則(Dependence Inversion Principle)
  • 接口隔離原則(Interface Segregation Principle)
  • 合成、聚合復(fù)用原則(Composite Aggregate Reuse Principle)
  • 迪米特法則(Law of Demeter)
 
重構(gòu)實(shí)踐
  • 分析并初步重構(gòu)一個(gè)案例
  • 重構(gòu)原則
  • 代碼的壞味道
  • 構(gòu)筑測(cè)試體系
  • 重構(gòu)工具
  • 優(yōu)秀程序結(jié)構(gòu)的風(fēng)格
  • 如何觀察代碼
  • 重構(gòu)名錄
  • 重新組織函數(shù)與屬性
  • 重新組織對(duì)象關(guān)系
  • 簡(jiǎn)化表達(dá)式
  • 組織繼承體系
  • 如何讓重構(gòu)成為習(xí)慣
  • 重構(gòu)案例實(shí)踐與分析
  • 重構(gòu)工具
  • 案例:使用Eclipse/VS.NET工具進(jìn)行重構(gòu)實(shí)戰(zhàn)



 
使用重構(gòu)提高代碼可測(cè)試性
重構(gòu)到模式
  • 設(shè)計(jì)模式概述
  • 設(shè)計(jì)模式歷史,描述,分類,應(yīng)用
  • 使用模式的預(yù)先設(shè)計(jì)
  • 過(guò)度使用設(shè)計(jì)模式后果分析
  • 通過(guò)重構(gòu)實(shí)現(xiàn)、趨向和去除濫用模式
  • 代碼的壞味道:過(guò)度設(shè)計(jì)、設(shè)計(jì)不足
  • 構(gòu)筑測(cè)試體系
  • 演進(jìn)式設(shè)計(jì)
 
案例---重點(diǎn)介紹重構(gòu)基本類型依賴和對(duì)應(yīng)模式
  • 通過(guò)案例學(xué)習(xí)以下重構(gòu)到模式手段
  • 以State取代狀態(tài)改變條件語(yǔ)句
  • 以Strategy取代條件邏輯
  • 以Composite取代隱含樹(shù)
  • 以Interpreter取代隱式語(yǔ)言
  • 轉(zhuǎn)移裝飾功能到Decorator
  • 用Builder封裝Composite
 
案例---重點(diǎn)介紹重構(gòu)代碼重復(fù)和對(duì)應(yīng)模式
  • 通過(guò)案例學(xué)習(xí)以下重構(gòu)到模式手段
  • 構(gòu)造Template Method
  • 以Composite取代一/多之分
  • 引入Null Object
  • 用Adapter統(tǒng)一接口
  • 用Fatory Method引入多態(tài)創(chuàng)建
 
案例---重點(diǎn)介紹重構(gòu)代碼過(guò)長(zhǎng)/過(guò)大的類/方法和對(duì)應(yīng)模式
  • 轉(zhuǎn)移聚集操作到Vistor
  • 以Strategy取代條件邏輯
  • 以Command取代條件調(diào)度程序
  • 轉(zhuǎn)移聚集操作到Collecting Parameter
 
案例---重點(diǎn)介紹條件邏輯過(guò)度復(fù)雜和對(duì)應(yīng)模式
  • 以Strategy取代條件邏輯
  • 以State取代狀態(tài)改變條件語(yǔ)句
  • 轉(zhuǎn)移裝飾功能到Decorator
  • 引入Null Object
  • 以Command替換條件調(diào)度程序
  • 轉(zhuǎn)移聚集操作到Visitor

主站蜘蛛池模板: 精品亚洲成在人线AV无码 | 欧美精产国品一二三产品区别在哪 | 人与禽的免费一级毛片 | 国产成人久久AV免费看 | 久久久亚洲精品无码 | 精品少妇一区二区三区视频 | 免费a在线观看播放 | 免费在线看片网站 | www.日本农妇.无码精品 | 久久这里精品 | 欧美亚洲视频在线观看 | 老司机网站色奇吧久久 | 国产黄色91 | 色美av| 日本亚洲欧美 | 精品久久久久久久国产性色av | 在线观看国产精品普通话对白精品 | 亚洲av午夜福利精品一区 | 一区二区国产在线观看 | 绯色av一区二区三区在线高清 | 99热在线精品免费 | 亚洲日本乱码一区两区在线观看 | 欧美日韩在线第一页免费观看 | 成人网页在线观看 | 老司机免费精品视频 | 国产露脸国语对白在线 | 色91精品久久久久久久久 | 国内精品视频播放 | 午夜国产免费av片在线 | 欧美一区二区三区四区在线 | 色视频在线观看视频 | 精品视频国内精品视频久久 | 国产精品久久久久9999高清 | 老外一级黄色片 | 亚洲老司机在线 | 免费毛片在线看片免费丝瓜视频 | 狠狠操成人 | 国产精品av无码毛片久久 | 欧美人体xxxx| 国产福利99 | 午夜av影视 |