軟件測試管理
課程背景:
軟件測試管理是提高軟件質(zhì)量的重要手段。一些企業(yè)軟件質(zhì)量總是在較低水平徘徊,這些企業(yè)也想試圖提高軟件質(zhì)量,了解到測試是提高軟件質(zhì)量的重要手段之一,但總是不得要領(lǐng),不知如何建立測試管理體系,設(shè)置了人員但不知如何明確職責(zé),明確了職責(zé)但不知如何建立測試流程,建立了流程但不知如何參與
研發(fā)團(tuán)隊(duì)進(jìn)行測試,等等現(xiàn)象枚不勝舉。目前國內(nèi)在
產(chǎn)品開發(fā)過程中“重開發(fā),輕測試”的思維普遍存在,軟件產(chǎn)品質(zhì)量問題頻頻暴露,導(dǎo)致顧客滿意度下降,利潤降低,甚至召回,給企業(yè)的正常運(yùn)作帶來的許多不利的影響。這些常見的問題主要表現(xiàn)在:
產(chǎn)品需求不明確,上線時間確定,測試部門壓力山大,怎么辦?
未立項(xiàng),開發(fā)已進(jìn)行過半,前期無控制,后期無保障,測試人員如何應(yīng)對?
開發(fā)交付的文件,質(zhì)量差,測試跟著做集成,上線交付質(zhì)量無底線,測試需要背“黑鍋”?
為什么BUG測試不出來,在用戶使用中,在合作伙伴那里反而被測試出來?
如何在短時間和資源不足的情況下,盡可能測試出多的BUG?
如何改變公司老板市場優(yōu)先的意識?
什么是測試策略?如何做好測試設(shè)計?
如何減少測試重復(fù)工作的工作量?
如何更好對組員的測試質(zhì)量進(jìn)行監(jiān)控?
測試文檔很多,如何保證測試文檔的質(zhì)量?
測試對象評價,對于領(lǐng)導(dǎo)來說,如何通過只看對象,得知該對象的哪些部分有問題,哪些部分沒有問題,同時得知對該對象的質(zhì)量評價。
如何衡量測試的效率,及人員績效考核?
如何改進(jìn)測試過程?如何衡量測試過程的有效性?
如何通過自動化工具來降低產(chǎn)品測試的成本?
軟件試如何度量,如何建立測試的標(biāo)準(zhǔn)及基線?
測試管理者、工程師應(yīng)該如何跟周邊部門配合?
本課程關(guān)注于軟件測試管理體系建設(shè),包括純管理軟件、互聯(lián)網(wǎng)軟件、嵌入式軟件等系統(tǒng)級產(chǎn)品。它將從軟件測試概念、軟件測試工程、產(chǎn)品研發(fā)過程中的測試管理、軟件測試組織與團(tuán)隊(duì)、軟件測試技術(shù)與自動化、敏捷測試管理等幾個層面進(jìn)行培訓(xùn)。
課程收獲:
學(xué)習(xí)如何提高測試過程的有效性,進(jìn)一步提高測試效率
學(xué)習(xí)如何通過完整的測試設(shè)計,進(jìn)一步保證軟件產(chǎn)品質(zhì)量
分析為什么測試環(huán)節(jié)是許多企業(yè)的“短板”,深度剖析提升測試效率和質(zhì)量的技巧
找到如何管理軟件測試組織及團(tuán)隊(duì)的方法和思路
系統(tǒng)掌握業(yè)界領(lǐng)先的產(chǎn)品開發(fā)過程中測試
項(xiàng)目管理方法,測試人員如何參與項(xiàng)目
掌握國際化標(biāo)準(zhǔn)測試流程的建立思路,高效率軟件測試的標(biāo)準(zhǔn)及規(guī)范
掌握軟件測試涉及的關(guān)鍵技術(shù),如單元測試、集成測試、系統(tǒng)測試及驗(yàn)收測試
學(xué)習(xí)軟件測試的度量指標(biāo),以及測試團(tuán)隊(duì)的績效考核
找到測試團(tuán)隊(duì)跨部門協(xié)調(diào)困難的解決之道,如何使測試團(tuán)隊(duì)發(fā)揮最大的價值
掌握建立自動化測試平臺和方法和思路
學(xué)習(xí)基于敏捷開發(fā)流程的測試管理
學(xué)習(xí)企業(yè)級測試體系建設(shè)的方法和技巧
課程大綱
1、軟件測試概述
本章節(jié)學(xué)習(xí)目標(biāo):主要讓學(xué)員了解為什么需要軟件測試,軟件測試對于軟件質(zhì)量保證的重要性,以及軟件測試在整個產(chǎn)品質(zhì)量體系中的位置。并列舉軟件測試的原則與方法。
1.1軟件測試管理面臨的常見問題
1.2測試在質(zhì)量體系中的位置
1.3測試原則與方法
1.4為什么要盡早測試
1.5木桶原理 •20/80原則 •Good-Enough原則•多快好省原則
1.6錯誤、缺陷、故障、失效 •測試成本分析
1.7測試、調(diào)試、測試與調(diào)試的關(guān)系和區(qū)別
1.8測試方法分類
1.8.1白盒測試、黑盒測試、灰盒測試
1.8.2測試策略 •單元測試、集成測試、系統(tǒng)測試、驗(yàn)收測試
1.8.3ALPHA測試、BETA測試、功能測試、性能測試
1.8.4動態(tài)測試、靜態(tài)測試
1.8.5手工測試、自動化測試、負(fù)載測試、壓力測試、性能測試
本單元研討案例:A公司軟件項(xiàng)目測試環(huán)節(jié)存在的典型問題,并分組討論,派代表上臺發(fā)言。
2、軟件測試工程過程
本章節(jié)學(xué)習(xí)目標(biāo):讓學(xué)員了解測試工程過程和
流程管理,掌握軟件測試的關(guān)鍵活動和管理流程,并向?qū)W員展現(xiàn)每個階段的測試模板。
2.1.什么是軟件測試工程 (從阿里巴巴的性能測試談起)
2.2.傳統(tǒng)測試流程中出現(xiàn)的問題
2.3.漸增式測試模型在產(chǎn)品開發(fā)中的應(yīng)用
2.4.什么是BB
2.5.BUILD的劃分
2.6.原型樣機(jī)的軟件測試活動
2.7.工程樣機(jī)的軟件測試活動
2.8.小批量試產(chǎn)樣機(jī)的軟件測試活動
2.9.BETA測試流程
2.10.端到端的測試工程過程
2.10.1.可測試性需求的提出
2.10.2.測試策略設(shè)計
2.10.3.測試計劃及測試方案的準(zhǔn)備
2.10.4.測試用例的設(shè)計
?舉例:等價類設(shè)計法
?舉例:邊界值分析法
?舉例:場景分析法
?舉例:錯誤推斷法
?舉例:因果圖法
?舉例:正交設(shè)計法
2.10.5.測試環(huán)境準(zhǔn)備
2.10.6.測試執(zhí)行
2.10.7.測試報告
2.10.8.測試度量
2.10.9.測試總結(jié)
模板展示:測試計劃、測試用例、單元測試、集成測試、驗(yàn)收測試、文檔測試等模板展示。
3、產(chǎn)品開發(fā)中的測試項(xiàng)目管理
本章節(jié)學(xué)習(xí)目標(biāo):掌握完整的測試項(xiàng)目的管理方法,分為項(xiàng)目級測試管理,產(chǎn)品級測試管理以及項(xiàng)目外包測試管理三個方面。
研討案例:某知名通訊企業(yè)一個成功的項(xiàng)目測試案例,讓學(xué)員分組討論得到的啟發(fā),從流程到模板分別進(jìn)行進(jìn)述。
3.1軟件測試人員參與開發(fā)項(xiàng)目遇到的常見問題
3.2項(xiàng)目級測試管理
3.2.1測試管理平臺的建立
3.2.2測試模板的設(shè)計
3.2.3測試交付件的管理
3.2.4測試計劃裁剪
3.2.5測試工作量的估算
3.2.6測試過程監(jiān)控
3.2.7測試的成本控制
3.2.8測試過程的風(fēng)險控制
3.2.9失效模式和影響分析(
FMEA)
3.3軟件需求跟蹤
3.4測試架構(gòu)設(shè)計
3.5測試計劃設(shè)計
3.6測試用例設(shè)計
3.7測試用例的設(shè)計
3.7.1等價類劃分法
3.7.2邊界值分析法
3.7.3因果圖法
3.7.4功能圖法
3.7.5錯誤推斷法
3.7.6正交實(shí)驗(yàn)設(shè)計方法
3.7.7測試用例設(shè)計的技巧:“弱化定性思維+ 破壞性假設(shè)”
3.8測試工具設(shè)計
3.9測試評審
3.9.1需求規(guī)格評審
3.9.2詳細(xì)設(shè)計評審
3.9.3測試計劃評審
3.9.4測試用例評審
3.9.5測試報告評審
3.10版本測試開始標(biāo)準(zhǔn)及結(jié)束標(biāo)準(zhǔn)
3.10.1每個階段開始的標(biāo)準(zhǔn)
3.10.2每個階段結(jié)束的標(biāo)準(zhǔn)
3.10.3測試中斷的標(biāo)準(zhǔn)
3.10.4版本測試結(jié)束的標(biāo)準(zhǔn)
3.11缺陷管理流程
3.12測試模板
3.13制訂測試驗(yàn)收標(biāo)準(zhǔn)
3.14測試問題定級標(biāo)準(zhǔn)
3.15測試評估
3.16產(chǎn)品級測試管理
3.16.1產(chǎn)品測試的全局性
3.16.2產(chǎn)品測試用例庫的建立
3.16.3測試用例的管理
3.16.4測試用例的維護(hù)
3.16.5產(chǎn)品自動化測試策略
3.16.6每日構(gòu)建的(Daily Build)的管理方法
3.16.7缺陷生命周期管理
3.16.8測試覆蓋率評估
3.16.9其于軟件缺陷的質(zhì)量評估
3.17測試外包管理
3.17.1降低成本
3.17.2保證質(zhì)量
3.17.3提高效率
3.17.4靈活的人力資源
3.18軟件測試與度量
3.18.1軟件測試成熟度模型(TMM)
3.18.2軟件開發(fā)過程階段性度量指標(biāo)
3.18.3缺陷度量或缺陷分布度量
3.18.4測試用例的深度、質(zhì)量和有效性
3.18.5測試執(zhí)行的效率和質(zhì)量
3.18.6缺陷報告的質(zhì)量
3.18.7測試覆蓋度
3.18.8測試環(huán)境的穩(wěn)定性或有效性
3.18.9測試過程改進(jìn)(TPI:Test Process Improvement)
3.18.10缺陷預(yù)防與分析(ODC缺陷分析、Gompertz分析、Rayleigh分析、四象限分析、根本原因分析、缺陷注入分析、DRE/DRM分析等)
3.18.11CTP、STEP、CMMI等模型探討
案例研討:為什么要進(jìn)行測試度量?
4、測試組織與團(tuán)隊(duì)
本章節(jié)學(xué)習(xí)目標(biāo):了解如何管理一個測試團(tuán)隊(duì),包括個人技能,團(tuán)隊(duì)能力,沖突管理,績效考核,測試團(tuán)隊(duì)成員的選、用、育、留等環(huán)節(jié)。
4.1企業(yè)測試體系典型問題分析
4.2測試技能發(fā)展歷程
4.3測試體系如何從無到有建設(shè)?
4.4如何從功能測試到測試平臺建設(shè)?
4.5測試組織發(fā)展歷程
4.6建立獨(dú)立的測試組織
4.7如何建設(shè)高水平的測試部門?
4.8企業(yè)測試文化的建立及培養(yǎng)
4.9團(tuán)隊(duì)組織架構(gòu)
4.10個能技能
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激勵測試人員
4.18測試團(tuán)隊(duì)的培養(yǎng)和提升
實(shí)例演練1:在進(jìn)度緊張的情況下,測試人員如何處理好和項(xiàng)目經(jīng)理,開發(fā)人員的關(guān)系?
5、軟件測試技術(shù)與自動化
本章節(jié)學(xué)習(xí)目標(biāo):了解軟件測試自動化工具的應(yīng)用與實(shí)踐,掌握什么時候需要引入自動化測試,以用自動化測試所需的條件及自動化工具的選型,了解自動化測試的好處與不足;
5.1測試工具的概念
5.1.1成本效益和風(fēng)險
5.1.2測試工具策略
5.1.3測試工具集成
5.1.4腳本和腳本語言(TCL/TK、PYTHON、VB、RUBY、SHELL等)
5.2測試缺陷管理工具(QC、BUGZILLA、IBM Rational等)
5.3測試用例管理工具(TD、TESTLINK、BUGFREE等)
5.4單元測試工具 (XUNIT、PC-LINT、C++ TEST等)
5.5測試工具部署
5.6開源測試工具
5.7測試工具開發(fā)
5.8測試工具分類
5.9測試工具的收益分析
項(xiàng)目研討:自動化測試是否可以促進(jìn)項(xiàng)目進(jìn)度,節(jié)省
質(zhì)量成本?
6、基于敏捷開發(fā)模式的測試管理
本章節(jié)學(xué)習(xí)目標(biāo):了解在敏捷開發(fā)模式下的測試管理,測試人員如何參與敏捷項(xiàng)目。
6.1敏捷測試的必要性
6.2敏捷的價值
6.3敏捷測試團(tuán)隊(duì)中角色與活動場景演練
6.4敏捷測試團(tuán)隊(duì)的運(yùn)作方式
6.5敏捷測試員的十條法則
6.6面向技術(shù)的測試管理
6.7敏捷測試四象限管理
6.8敏捷測試成功的關(guān)鍵要素
6.9敏捷開發(fā)過程中的自動化測試策略
6.10敏捷測試的最佳實(shí)踐
6.11研討:如何構(gòu)建高效敏捷測試團(tuán)隊(duì)?
7、構(gòu)建企業(yè)級測試體系建設(shè)
7.1案例:某企業(yè)測試體系存在的問題分析
7.2企業(yè)測試體系典型問題分析
7.3測試技能發(fā)展歷程
7.4測試體系如何從無到有建設(shè)?
7.5如何從功能測試到測試平臺建設(shè)?
7.6測試組織發(fā)展歷程
7.7建立獨(dú)立的測試組織
7.8如何建設(shè)高水平的產(chǎn)品測試部門?
8、課程總結(jié)與回顧
本章節(jié)學(xué)習(xí)目標(biāo):針對兩天的課程,進(jìn)行課程回顧,總結(jié)學(xué)習(xí)成果。
8.1 研討:根據(jù)我公司現(xiàn)狀,如何推進(jìn)軟件測試管理體系?