培訓(xùn)對象:
所有對此課程感興趣的對象
培訓(xùn)內(nèi)容:
培訓(xùn)受眾:
研發(fā)副總裁、研發(fā)總監(jiān)、項(xiàng)目總監(jiān)、研發(fā)經(jīng)理、測試經(jīng)理、軟件測試人員、軟件開發(fā)人員、項(xiàng)目經(jīng)理、質(zhì)量保證人員等 課程收益:
本課程將以什么是單元測試、為什么做單元測試為切入點(diǎn),澄清人們普遍對單元測試的一些誤解,揭開單元測試的神秘面紗,同時(shí),會(huì)對測試相關(guān)概念和方法。接下來會(huì)以單元測試過程為主線,對單元測試計(jì)劃、單元測試環(huán)準(zhǔn)備、單元測試用例設(shè)計(jì),單元測試執(zhí)行和測試結(jié)果分析,在測試計(jì)劃環(huán)節(jié)會(huì)對單元測試所涉及測試工具做介紹。最后講解集成測試。集成測試是若干單元集成起來的測試,如果采用自底向上不打樁的單元測試方法,這樣的單元測試實(shí)際同時(shí)完成了集成測試,因此,本課程對集成測試不做重點(diǎn)介紹。
本課程是以講解、演練和點(diǎn)評相穿插的形式進(jìn)行,40%時(shí)間是知識(shí)講解,40%時(shí)間演練,20%時(shí)間演練結(jié)果點(diǎn)評,所有演練都是以VC++或JAVA系統(tǒng)為對象的。在第二天的課程里,所有的演練都是以一個(gè)虛擬的軟件項(xiàng)目作為演練對象,從單元測試計(jì)劃開始,到最后的測試結(jié)束,學(xué)員會(huì)經(jīng)歷完整的單元測試過程,從而系統(tǒng)地掌握單元測試技能,培訓(xùn)后能夠立刻從事單元測試活動(dòng),而不是僅僅停留在對知識(shí)的理解層面上。培訓(xùn)中演練活動(dòng)所使用的工具、模板等都可以直接為學(xué)員在日后的實(shí)際工作中使用。 培訓(xùn)頒發(fā)證書:
公開課頒發(fā)證書, 內(nèi)訓(xùn)無證書. 課程大綱:
【課程大綱】
1、 軟件單元測試概述
本章節(jié)學(xué)習(xí)目標(biāo):主要讓學(xué)員了解為什么需要軟件測試,軟件測試對于軟件質(zhì)量保證的重要性,以及軟件測試在整個(gè)產(chǎn)品質(zhì)量體系中的位置。并列舉軟件測試的原則與方法。
1.1 軟件測試管理面臨的常見問題
1.2 測試在質(zhì)量體系中的位置
1.3 測試原則與方法
1.4 為什么要盡早測試
1.5 木桶原理 20/80原則 Good-Enough原則 多快好省原則
1.6 錯(cuò)誤、缺陷、故障、失效 測試成本分析
1.7 測試、調(diào)試、測試與調(diào)試的關(guān)系和區(qū)別
1.8 測試方法分類
1.8.1 白盒測試、黑盒測試、灰盒測試
1.8.2 測試策略 單元測試、集成測試、系統(tǒng)測試、驗(yàn)收測試
1.8.3 ALPHA測試、BETA測試、功能測試、性能測試
1.8.4 動(dòng)態(tài)測試、靜態(tài)測試
1.8.5 手工測試、自動(dòng)化測試、負(fù)載測試、壓力測試、性能測試
本單元研討案例:A公司軟件項(xiàng)目測試環(huán)節(jié)存在的典型問題,并分組討論,派代表上臺(tái)發(fā)言。
2、 軟件單元測試工程過程
本章節(jié)學(xué)習(xí)目標(biāo):讓學(xué)員了解測試工程過程和流程管理,掌握軟件測試的關(guān)鍵活動(dòng)和管理流程,并向?qū)W員展現(xiàn)每個(gè)階段的測試模板。
2.1 什么是軟件測試工程 (從阿里巴巴的性能測試談起)
2.2 測試在軟件工程中的位置(基于不同開發(fā)流程中的測試角色)
2.3 瀑布模型測試過程
2.4 W型測試過程
2.5 V型測試過程
2.5.1 單元測試計(jì)劃 單元測試 單元測試報(bào)告與詳細(xì)設(shè)計(jì)關(guān)系
2.5.2 集成測試計(jì)劃 集成測試 集成測試報(bào)告與概要設(shè)計(jì)關(guān)系
2.5.3 系統(tǒng)測試計(jì)劃 系統(tǒng)測試 系統(tǒng)測試報(bào)告與需求規(guī)格設(shè)計(jì)關(guān)系
2.5.4 測試用例
2.5.5 測試缺陷管理
2.5.6 測試報(bào)告
2.6 代碼審查與走讀過程
2.6.1 召開審查走讀會(huì)議
2.6.2 專人書面評審
2.6.3 使用統(tǒng)計(jì)和分析工具
2.7 單元測試過程
2.7.1 什么是樁(Stub)、驅(qū)動(dòng)器(Driver)、模擬器(Simulator)
2.7.2 單元測試環(huán)境
2.7.3 單元測試工具選型
2.7.4 單元/部件測試準(zhǔn)備
2.7.5 單元/部件測試執(zhí)行
2.7.6 測試計(jì)劃和用例評審查檢表、測試記錄、缺陷報(bào)告
2.8 集成測試過程
2.8.1 集成測試策略的確定時(shí)機(jī)
2.8.2 集成測試基本概念 集成測試對象 集成測試中的角色定義
2.8.3 集成測試的特點(diǎn)
2.8.4 集成測試順序確定
2.8.5 集成測試準(zhǔn)備 集成測試執(zhí)行 缺陷跟蹤
2.8.6 集成測試質(zhì)量目標(biāo) 典型集成測試平臺(tái)構(gòu)造
2.8.7 集成測試工作開展的制約因素
2.8.8 集成測試成敗關(guān)鍵因素分析
2.9 系統(tǒng)測試過程
2.9.1 轉(zhuǎn)測試操作流程和標(biāo)準(zhǔn)
2.9.2 系統(tǒng)測試基本概念(定義、對象、依據(jù))
2.9.3 系統(tǒng)測試過程 系統(tǒng)測試輸入、輸出
2.9.4 系統(tǒng)測試準(zhǔn)備
2.9.5 系統(tǒng)測試執(zhí)行
2.9.6 測試環(huán)境的規(guī)劃和管理
2.9.7 問題跟蹤反饋 基于產(chǎn)品平臺(tái)的測試策略
2.9.8 系統(tǒng)測試成敗關(guān)鍵因素分析 “黑白唱”
2.10 文檔測試過程
2.10.1 安裝包文字和圖片
2.10.2 安裝與設(shè)置指南
2.10.3 用戶手冊
2.10.4 在線幫助
2.11 驗(yàn)收測試
2.11.1 驗(yàn)收的基本定義與目的
2.11.2 驗(yàn)收測試類型
2.11.3 根據(jù)合同驗(yàn)收
2.11.4 用戶驗(yàn)收測試
2.11.5 運(yùn)行測試
2.11.6 現(xiàn)場測試
2.11.7 測試人員在客戶驗(yàn)收過程中的職責(zé)
模板展示:測試計(jì)劃、測試用例、單元測試、集成測試、驗(yàn)收測試、文檔測試等模板展示。
3、 單元測試實(shí)戰(zhàn)演練
本單元學(xué)習(xí)目標(biāo):以一個(gè)虛擬項(xiàng)目(或客戶實(shí)際項(xiàng)目)做為演練對象,從計(jì)劃到測試總結(jié)分析,做全程實(shí)戰(zhàn)演練。
3.1 單元測試計(jì)劃
3.1.1 單元測試計(jì)劃內(nèi)容:制定測試策略,選擇需要進(jìn)行單元測試的模塊
3.1.2 確定各模塊的測試順序
3.1.3 測試工具的選擇
3.1.4 進(jìn)行時(shí)間安排,單元測試活動(dòng)貫穿于項(xiàng)目始終,并非只有在編碼結(jié)束后才開始進(jìn)行單元測試活動(dòng)
3.1.5 人員安排,為了保證測試的有效性,可采用交叉測試,同時(shí)交叉人員能夠熟悉對方模塊,有能力發(fā)現(xiàn)問題
3.1.6 演練:針對虛擬的軟件項(xiàng)目,制定單元測試計(jì)劃
3.2 單元測試環(huán)境準(zhǔn)備
3.2.1 針對嵌入式系統(tǒng),如何搭建單元測試環(huán)境,包括建立測試運(yùn)行環(huán)境,制定測試驅(qū)動(dòng)和結(jié)果輸出的代碼模板,以及工具如何嵌入到測試環(huán)境當(dāng)中
3.2.2 演練:針對虛擬的軟件項(xiàng)目,并根據(jù)測試計(jì)劃的演練結(jié)果,進(jìn)行單元測試環(huán)境準(zhǔn)備
3.3 單元測試用例設(shè)計(jì)
3.3.1 根據(jù)前面環(huán)節(jié)所搭建好的測試環(huán)境,如何簡潔高效的進(jìn)行單元測試用例設(shè)計(jì)
3.3.2 演練:針對虛擬的軟件項(xiàng)目,并根據(jù)測試環(huán)境準(zhǔn)備的演練結(jié)果進(jìn)行單元測試用例設(shè)計(jì)
3.4 單元測試執(zhí)行
3.4.1 根據(jù)前面環(huán)節(jié)所設(shè)計(jì)的測試用例,編寫測試代碼,構(gòu)造測試數(shù)據(jù)
3.4.2 執(zhí)行測試
3.4.3 缺陷管理,如何對一個(gè)缺陷從提出到最后關(guān)閉進(jìn)行跟蹤管理
3.4.4 演練:針對虛擬的軟件項(xiàng)目,并根據(jù)測試用例設(shè)計(jì)的演練結(jié)果執(zhí)行單元測試
3.4.5 根據(jù)前面環(huán)節(jié)所設(shè)計(jì)的測試用例,編寫測試代碼,構(gòu)造測試數(shù)據(jù)
3.4.6 執(zhí)行測試
3.4.7 缺陷管理,如何對一個(gè)缺陷從提出到最后關(guān)閉進(jìn)行跟蹤管理
3.4.8 演練:針對虛擬的軟件項(xiàng)目,并根據(jù)測試用例設(shè)計(jì)的演練結(jié)果執(zhí)行單元測試
3.5 單元測試結(jié)果分析
3.5.1 根據(jù)測試所產(chǎn)生的數(shù)據(jù),如工作量、測試數(shù)、缺陷數(shù)和缺陷分類,評估測試的有效性,評估測試對象的質(zhì)量情況
3.5.2 介紹測試度量分析方法
3.5.3 演練:針對虛擬的軟件項(xiàng)目,并根據(jù)測試執(zhí)行的演練結(jié)果進(jìn)行單元測試結(jié)果分析
4、 單元測試組織與團(tuán)隊(duì)
本章節(jié)學(xué)習(xí)目標(biāo):了解如何管理一個(gè)測試團(tuán)隊(duì),包括個(gè)人技能,團(tuán)隊(duì)能力,沖突管理,績效考核,測試團(tuán)隊(duì)成員的選、用、育、留等環(huán)節(jié)。
4.1 企業(yè)測試體系典型問題分析
4.2 測試技能發(fā)展歷程
4.3 測試體系如何從無到有建設(shè)
4.4 如何從功能測試到測試平臺(tái)建設(shè)
4.5 測試組織發(fā)展歷程
4.6 建立獨(dú)立的測試組織
4.7 如何建設(shè)高水平的測試部門
4.8 企業(yè)測試文化的建立及培養(yǎng)
4.9 團(tuán)隊(duì)組織架構(gòu)
4.10 個(gè)能技能
4.11 測試團(tuán)隊(duì)角色分類
4.12 測試團(tuán)隊(duì)的溝通
4.13 測試團(tuán)隊(duì)沖突管理
4.13.1 正確對待缺陷
4.13.2 具備良好的態(tài)度
4.13.3 開發(fā)和測試的合作
4.14 績效考核管理
4.15 招聘優(yōu)秀的軟件測試工程師
4.16 測試人員的職業(yè)通道
4.17 激勵(lì)測試人員
4.18 測試團(tuán)隊(duì)的培養(yǎng)和提升
實(shí)例演練1:在進(jìn)度緊張的情況下,測試人員如何處理好和項(xiàng)目經(jīng)理,開發(fā)人員的關(guān)系
5、 單元測試過程和工具介紹(包括開源工具和商用工具舉例)
本單元學(xué)習(xí)目標(biāo):熟悉單元測試過程和所使用的工具。
5.1 介紹單元測試活動(dòng)整個(gè)軟件開發(fā)過程中的分布,以及與其它項(xiàng)目活動(dòng)之間的關(guān)系
5.2 介紹單元測試所涉及測試工具,如覆蓋度統(tǒng)計(jì)工具、內(nèi)存檢查工具等
5.3 演練:工具使用練習(xí)
5.4 腳本和腳本語言(TCL/TK、PYTHON、VB、RUBY、SHELL等)
5.5 測試缺陷管理工具(QC、BUGZILLA、IBM lutos notes)
5.6 測試用例管理工具(TD、TESTLINK、BUGFREE等)
5.7 測試工具部署
5.8 自動(dòng)化測試框架介紹
5.9 開源測試工具
5.10 單元測試工具開發(fā)
5.11 單元測試工具分類
5.12 單元測試工具的收益分析
5.13 項(xiàng)目研討:單元測試是否可以促進(jìn)項(xiàng)目進(jìn)度,節(jié)省質(zhì)量成本
6、 基于敏捷開發(fā)模式的單元測試管理
本章節(jié)學(xué)習(xí)目標(biāo):了解在敏捷開發(fā)模式下的測試管理,測試人員如何參與敏捷項(xiàng)目。
6.1 敏捷測試的必要性
6.2 敏捷的價(jià)值
6.3 敏捷測試團(tuán)隊(duì)中角色與活動(dòng)場景演練
6.4 敏捷測試團(tuán)隊(duì)的運(yùn)作方式
6.5 敏捷測試員的十條法則
6.6 面向技術(shù)的測試管理
6.7 敏捷測試四象限管理
6.8 敏捷測試成功的關(guān)鍵要素
6.9 敏捷