《單元測試與持續(xù)集成》課程詳情
點(diǎn)擊下載課大綱及報(bào)名表
課程背景
在所有的軟件項(xiàng)目質(zhì)量控制環(huán)節(jié)中,單元測試發(fā)現(xiàn)缺陷效率最高,單元測試是提升軟件產(chǎn)品質(zhì)量最為關(guān)鍵的環(huán)節(jié)。但是不幸的是,國內(nèi)大多數(shù)軟件開發(fā)項(xiàng)目無法有效實(shí)施單元測試。不能有效實(shí)施單元測試是中國IT企業(yè)的一個(gè)“通病”。傳統(tǒng)單元測試實(shí)施成本較大,不適合目前大規(guī)模開發(fā),如何對經(jīng)典單元測試?yán)碚撨M(jìn)行改進(jìn),確保在有限資源等成本約束情況下有效實(shí)施單元測試?如何在倒排工期等工期固定情況下確保實(shí)施單元測試的效果?項(xiàng)目經(jīng)理、QA如何量化監(jiān)控單元測試的效果?這一系列問題是目前中國IT項(xiàng)目質(zhì)量管理面臨的巨大挑戰(zhàn)與機(jī)會(huì)。
持續(xù)集成能夠利用準(zhǔn)專業(yè)測試人員“編譯器先生”,不知疲倦、在項(xiàng)目前期發(fā)現(xiàn)缺陷,使得開發(fā)人員能夠大膽地對系統(tǒng)劃分模塊、放心實(shí)施小迭代、盡早完成高質(zhì)量的代碼。數(shù)據(jù)證明,持續(xù)集成能夠有效節(jié)省項(xiàng)目10%的工作量。那么持續(xù)集成是不是遙不可及的?是不是一定需要特殊工具支持?持續(xù)集成如何分級實(shí)施?這些問題困擾著喜歡增量迭代式開發(fā)的技術(shù)人員。
本課程從項(xiàng)目經(jīng)理、開發(fā)人員角度設(shè)計(jì),描述在一個(gè)JAVA開發(fā)項(xiàng)目場景中如何有效實(shí)施單元測試、持續(xù)集成。本課程采用專題討論、案例練習(xí)等多種方式,使得學(xué)員能夠在2天的時(shí)間中,獲得相關(guān)知識(shí)精髓,進(jìn)一步與自己的實(shí)際工作進(jìn)行對比,從而增強(qiáng)實(shí)際工作能力。
1、項(xiàng)目A單元測試、持續(xù)環(huán)境示例
2、單元測試快速入門
1) 單元測試是什么?
2) 單元測試包含哪些內(nèi)容
3) 單元測試與其他QC環(huán)節(jié)效果的數(shù)據(jù)對比
4) 單元測試是敏捷開發(fā)順利開展的基石
5) 單元測試是中國IT企業(yè)的“通病”
6) 單元測試與代碼重構(gòu)
7) 單元測試在對日外包軟件中的典型使用
3、項(xiàng)目經(jīng)理如何對單元測試進(jìn)行管理?
1) 單元測試什么時(shí)候開始?
2) 單元測試工作量真的需要很大嗎?
3) 如何在限定資源、工期等條件下對單元測試進(jìn)行策劃?
4) 如何對單元測試進(jìn)行跟蹤監(jiān)控?
5) 為什么要局部文檔標(biāo)準(zhǔn)化?
6) 如何對單元測試效果進(jìn)行量化評價(jià)?
7) 什么時(shí)候該結(jié)束單元測試了?
8) 問題探討:單元測試誰來做?各種做法的缺陷及彌補(bǔ)辦法
4、經(jīng)典單元測試方法如何實(shí)施?
1) 傳統(tǒng)單元測試的過程
2) 白盒測試方法及示例
3) 樁和驅(qū)動(dòng)的書寫示例
4) 不容忽視的結(jié)果比對
5) 邏輯覆蓋、路徑覆蓋、循環(huán)覆蓋練習(xí)
6) 傳統(tǒng)單元測試實(shí)施有什么難點(diǎn)?
7) 傳統(tǒng)單元測試的常見問題
5、項(xiàng)目落地:單元測試改良示例
1) 改良后的單元測試
2) 黑盒?白盒?無謂之爭
3) 什么是“大單元”?
4) 大單元的優(yōu)缺點(diǎn)?
5) 改良后的單元測試實(shí)施
6) 練習(xí):單元測試用例設(shè)計(jì)
7) 示例:web項(xiàng)目大單元實(shí)施
8) 示例:專業(yè)測試人員如何有效參與單元測試?
6、項(xiàng)目落地:單元測試裁剪示例
1) 工作量受限下的單元測試
2) 固定工期下的單元測試
3) 單元測試的橫向裁剪
4) 單元測試的縱向裁剪
7、單元測試的工具使用說明
1) Junit測試框架
2) Jtest測試
3) 代碼覆蓋率檢查工具
4) 代碼靜態(tài)檢查工具
8、靜態(tài)單元測試—code review
1) 矛盾:最簡單、最有效、最難落地
2) Code review實(shí)施關(guān)鍵點(diǎn)
3) Code review自動(dòng)化工具
4) Code review企業(yè)落地
9、持續(xù)集成的分級管理
1) 軟件研發(fā)交付面臨的挑戰(zhàn)
2) 基于持續(xù)集成的研發(fā)流程
n 自動(dòng)構(gòu)建
n 自動(dòng)代碼檢查
n 自動(dòng)部署
n 自動(dòng)化測試
n 自動(dòng)下發(fā)版本
n 持續(xù)交付
3) 持續(xù)集成的最佳實(shí)踐?
4) 持續(xù)集成的分級管理
n 低成本的持續(xù)集成
n 高自動(dòng)化的持續(xù)集成
5) 應(yīng)用CI進(jìn)行每日構(gòu)建以頻繁地交付可工作的軟件
6) 基本腳本的自動(dòng)化部署縮短系統(tǒng)部署時(shí)間
10、使用持續(xù)集成工具自動(dòng)化
1) 持續(xù)集成的作用過程和優(yōu)勢
2) 持續(xù)集成常見工具介紹
3) Jenkins/Hudson工具介紹
4) Jenkins/Hudson簡介和安裝
5) Jenkins/Hudson系統(tǒng)設(shè)置
6) 案例:使用Jenkins/Hudson工具進(jìn)行每天集成
《單元測試與持續(xù)集成》培訓(xùn)受眾
1) 軟件開發(fā)人員
2) 軟件項(xiàng)目經(jīng)理
3) 軟件測試人員
4) EPG、QA等等
《單元測試與持續(xù)集成》課程目的
1)掌握如何在有限資源、限制工期等約束條件下實(shí)施單元測試
2)掌握改良后單元測試用例設(shè)計(jì)、實(shí)施
3)掌握使用持續(xù)集成支持高效率開發(fā)
4)掌握如何面向客戶持續(xù)交付
《單元測試與持續(xù)集成》所屬分類
綜合管理
《單元測試與持續(xù)集成》授課培訓(xùn)師簡介
馮老師
培訓(xùn)中心高級講師,研究領(lǐng)域:CMMI、軟件項(xiàng)目管理、軟件質(zhì)量管理等。
1、服務(wù)過多家大型軟件企業(yè)。憑借外資、國企多年豐富的項(xiàng)目管理經(jīng)歷以及咨詢培訓(xùn)的經(jīng)驗(yàn),幫助眾多企業(yè)提升組織與個(gè)人績效。
2、軟件企業(yè)CMMI提升顧問、實(shí)戰(zhàn)派項(xiàng)目管理、質(zhì)量管理咨詢專家。