日韩av片子_国产自在自线午夜精品视频在_使劲快高潮了国语对白在线_久久免费毛片大全_激情丁香综合_欧美成人精品欧美一级乱黄码

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

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

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



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



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



靜態(tài)測試
  • 靜態(tài)測試的目的
  • 靜態(tài)測試的原則
  • 靜態(tài)測試實戰(zhàn)
  • 案例:使用CheckStyle,PMD,Findbugs進(jìn)行校驗代碼規(guī)則 , 發(fā)現(xiàn)重復(fù)代碼,檢查代碼注釋率
 
實現(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實戰(zhàn)
  • 案例:使用Eclipse插件執(zhí)行Code review活動
 
代碼覆蓋率分析
  • 代碼覆蓋率的意義
  • 代碼覆蓋率工具介紹
  • 代碼覆蓋率實戰(zhàn)
  • 代碼覆蓋率分析
  • 案例:使用 CodePro進(jìn)行覆蓋測試
 
使用重構(gòu)提高代碼可測試性
面向?qū)ο笤O(shè)計原理與原則
  • 開-閉原則(Open-Closed Principle)
  • 里氏代換原則(Liskov Substitution Principle)
  • 依賴倒換原則(Dependence Inversion Principle)
  • 接口隔離原則(Interface Segregation Principle)
  • 合成、聚合復(fù)用原則(Composite Aggregate Reuse Principle)
  • 迪米特法則(Law of Demeter)
 
重構(gòu)實踐
  • 分析并初步重構(gòu)一個案例
  • 重構(gòu)原則
  • 代碼的壞味道
  • 構(gòu)筑測試體系
  • 重構(gòu)工具
  • 優(yōu)秀程序結(jié)構(gòu)的風(fēng)格
  • 如何觀察代碼
  • 重構(gòu)名錄
  • 重新組織函數(shù)與屬性
  • 重新組織對象關(guān)系
  • 簡化表達(dá)式
  • 組織繼承體系
  • 如何讓重構(gòu)成為習(xí)慣
  • 重構(gòu)案例實踐與分析
  • 重構(gòu)工具
  • 案例:使用Eclipse/VS.NET工具進(jìn)行重構(gòu)實戰(zhàn)



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

相關(guān)閱讀

主站蜘蛛池模板: 成在线人永久免费视频播放 | 国产精自产拍久久久久久蜜 | 日韩中文人妻无码不卡 | 久久亚洲精品无码AV大香 | 中国女人一级毛片 | 国产精品成人一区二区不卡 | 亚洲欧美综合一区二区在线 | 久久久精品无码中文字幕 | 国产亚洲高清一区 | 亚洲精品国偷自产在线 | 久久久久久午夜 | 久久综合亚洲鲁鲁五月天 | 国产普通话对白视频二区 | 亚洲三区在线观看无套内射 | 日本黄色综艺 | 最近免费中文字幕mv视频4 | 91人妻丰满熟妇Aⅴ无码 | jizzjizz无码中国在线观看 | 国产第一福利网 | 夫妻性生活视频免费看 | 欧美做受视频播放 | 啦啦啦高清在线观看视频www | 91深夜福利视频 | 小嫩妇好紧好爽再快视频 | 国产1区2区视频 | 日韩精品网站 | 人综合久合合 | 清纯唯美一区二区三区 | 性欧美视频在线观看 | 99视频国产精品免费观看 | 久久亚洲精品无码网站 | 亚洲精品一区二区四区 | av在线亚洲男人的天堂 | 毛片黄视频 | 久久久久二区 | 日韩吃奶摸下AA片免费观看 | 91精品久久久久久久久久入口 | 国产一级特黄aaa大片评分 | 日本人丰满XXXXHD | 人妻系列无码专区免费视频 | 免费无码一区二区三区蜜桃 |