【課程背景】
如何保證軟件項(xiàng)目/產(chǎn)品的質(zhì)量一直是困擾軟件企業(yè)、監(jiān)理方和甲方的一個(gè)重要問題,如何預(yù)防、發(fā)現(xiàn)、治理軟件項(xiàng)目/產(chǎn)品質(zhì)量問題,是我國IT發(fā)展面臨巨大的挑戰(zhàn),這也是IT發(fā)展過程中關(guān)注的主要問題。質(zhì)量保證人員,如何控制軟件生產(chǎn)環(huán)節(jié)相關(guān)質(zhì)量?項(xiàng)目管理者如何協(xié)調(diào)進(jìn)度和質(zhì)量的矛盾?如何評(píng)估軟件文檔來減少未來質(zhì)量問題?如何從缺陷與問題管理中預(yù)防質(zhì)量問題?如何集成各種管理工具完成軟件質(zhì)量控制與度量?...這些關(guān)于軟件和IT產(chǎn)品質(zhì)量的疑問,成為困擾軟件企業(yè)、監(jiān)理方和甲方的重要問題。
本課程講述軟件質(zhì)量管理與度量的工作內(nèi)容、工作方法和使用工具,同時(shí)與您分享國內(nèi)外企業(yè)在軟件質(zhì)量管理、質(zhì)量改進(jìn)及度量等方面的寶貴經(jīng)驗(yàn)。
【培訓(xùn)收益】
速度和質(zhì)量越來越成為軟件開發(fā)制勝的關(guān)鍵,然而管理人員和開發(fā)人員長期為以下問題所困擾,通過本課程的學(xué)習(xí),將發(fā)現(xiàn)問題產(chǎn)生的源頭以及行之有效的解決措施。
l 項(xiàng)目延期本質(zhì)的原因是什么?
項(xiàng)目進(jìn)度緊張,開發(fā)人員常常沒日沒夜地加班,然而項(xiàng)目進(jìn)度總是一延再延期。
l 如何有限的工期交付高質(zhì)量的產(chǎn)品?
客戶對(duì)軟件產(chǎn)品質(zhì)量要求高,而開發(fā)工期卻很短,很多項(xiàng)目在面臨這種情況,往往采用“先做完再說”的策略,其代價(jià)是客戶對(duì)質(zhì)量的抱怨和大量的研發(fā)人力陷于救火之中。那么正確的策略又是什么呢?
l 如何做好需求分析并寫出高質(zhì)量的需求文檔?
軟件需求規(guī)格的質(zhì)量很大程度上影響了軟件產(chǎn)品的質(zhì)量和項(xiàng)目開發(fā)效率,然而國內(nèi)的工程師很少掌握需求分析方法,更不會(huì)寫需求文檔。
l 設(shè)計(jì)文檔該寫什么?怎樣寫?
開發(fā)人員通常也不知設(shè)計(jì)文檔該寫什么,分不清哪些內(nèi)容屬于需求哪些內(nèi)容屬于設(shè)計(jì),設(shè)計(jì)文檔細(xì)化到什么程度?良好的設(shè)計(jì)文檔提升開發(fā)效率,劣質(zhì)的設(shè)計(jì)文檔浪費(fèi)開發(fā)時(shí)間。
l 如何有效開展評(píng)審?
評(píng)審是提升文檔和代碼質(zhì)量的有效手段,然而為何評(píng)審效果總是不佳呢?沒人愿意參加評(píng)審,評(píng)審發(fā)現(xiàn)的往往是文字錯(cuò)誤這樣膚淺的問題,評(píng)審活動(dòng)流于形式。
l 如何有效測試?
某些項(xiàng)目要求做單元測試,結(jié)果花費(fèi)不少精力,可是沒有發(fā)現(xiàn)多少問題。問題出在哪里?單元測試到底值不值得做?測試工作給測試人員帶來的挑戰(zhàn)是如何在有限的時(shí)間內(nèi)盡可能多的發(fā)現(xiàn)軟件缺陷,如何面對(duì)這樣的挑戰(zhàn)?
l 如何解決QA和項(xiàng)目經(jīng)理的沖突問題?
QA總是抱怨項(xiàng)目經(jīng)理不走流程,項(xiàng)目經(jīng)理總是抱怨QA不為項(xiàng)目做實(shí)事,反倒常?!膀}擾”。有沒有方法扭轉(zhuǎn)這樣的局面?
【培訓(xùn)對(duì)象】
企業(yè)總工、技術(shù)總監(jiān)、系統(tǒng)架構(gòu)師、研發(fā)經(jīng)理、測試經(jīng)理、質(zhì)量/品質(zhì)經(jīng)理、研發(fā)測試骨干,以及研發(fā)測試技術(shù)人員。
【課程時(shí)長】
12小時(shí)
【課程大綱】
一、1. 案例分析
某軟件企業(yè)產(chǎn)品問題存在大量變更,導(dǎo)致產(chǎn)品遲遲不能發(fā)布,發(fā)布后遺留缺陷很多,導(dǎo)致客戶滿意度下降。
2. 軟件質(zhì)量管理的概述
本單元學(xué)習(xí)目標(biāo):掌握質(zhì)量管理的一些重要的理念和主要概念,認(rèn)識(shí)到通過有效的質(zhì)量管理才能獲得開發(fā)的高效率
2.1. 質(zhì)量管理發(fā)展里程
2.1.1. 研討:質(zhì)量與效率關(guān)系
2.1.2. 介紹質(zhì)量管理發(fā)展歷程
2.1.3. 案例分析:質(zhì)量管理對(duì)日本工業(yè)和印度軟件業(yè)發(fā)展所起到的推動(dòng)作用
實(shí)例來說明質(zhì)量管理給企業(yè)帶來的是高效率,而不是效率的阻礙
2.2. 從質(zhì)量成本要效率、要質(zhì)量
2.2.1. 質(zhì)量成本的定義COQ
2.2.2. 質(zhì)量成本分類:預(yù)防成本、評(píng)估成本和失效成本
2.2.3. 加強(qiáng)預(yù)防成本的投入,可從過程重用和技術(shù)重用兩方面提升效率和質(zhì)量,變失效成本為利潤
2.2.4. 從救火文化到預(yù)防文化的轉(zhuǎn)變
2.2.5. “一次把事情做對(duì)”的對(duì)提升開發(fā)效率的重要作用
2.2.6. 十乘十乘十法則介紹,說明缺陷預(yù)防和把缺陷消滅在前期才能使項(xiàng)目獲得高效率
2.2.7. 從軟件開發(fā)的缺陷分布來說明需求分析的質(zhì)量如何影響整體開發(fā)效率的
2.2.8. 案例分析:A公司有一個(gè)緊急項(xiàng)目,應(yīng)該怎樣做?
面對(duì)緊急項(xiàng)目,多數(shù)管理者都會(huì)自亂陣腳,需求還沒有討論清楚,開發(fā)人員匆匆編碼,結(jié)果是返工、不斷地大量返工,項(xiàng)目進(jìn)度被大大拖延了。
3. 質(zhì)量控制和質(zhì)量保證
本單元學(xué)習(xí)目標(biāo):了解過程的重要性,剖析流程不被執(zhí)行的原因,如何通過QA保證流程有效在項(xiàng)目中實(shí)施
3.1. 質(zhì)量控制和質(zhì)量保證
3.1.1. 區(qū)分質(zhì)量保證和質(zhì)量控制
——質(zhì)量控制關(guān)注產(chǎn)品,被動(dòng)的,去發(fā)現(xiàn)缺陷
——質(zhì)量保證關(guān)注過程,主動(dòng)的,去預(yù)防缺陷
3.1.2. 從質(zhì)量鐵三角看過程的重要性,僅僅是牛人和工具是無法保證項(xiàng)目成功的
3.1.3. 流程本質(zhì)是什么
——流程是典型實(shí)踐的固化,不應(yīng)是降低效率的官僚體系
——關(guān)注過程的項(xiàng)目和不關(guān)注過程的項(xiàng)目效率對(duì)比
3.2. 產(chǎn)品質(zhì)量和過程質(zhì)量
3.2.1. 軟件產(chǎn)品質(zhì)量的定義
——開發(fā)者的質(zhì)量觀:滿足規(guī)格
——客戶的質(zhì)量觀:適用
3.2.2. McCall軟件質(zhì)量模型,從三個(gè)方面對(duì)軟件質(zhì)量進(jìn)行系統(tǒng)地分類說明
——產(chǎn)品運(yùn)行方面:正確性、可靠性、可使用性、效率、完整性
——產(chǎn)品修正方面:可維護(hù)性、測試性、靈活性
——產(chǎn)品轉(zhuǎn)移方面:互聯(lián)性、可移植性、復(fù)用性
3.2.3. 什么是過程質(zhì)量,從三個(gè)方面說明
——組織級(jí)流程定義質(zhì)量
研討:從“不拉馬的士兵”看到什么?
剖析為何許多項(xiàng)目不愿意走流程,或者走了流程效率反而會(huì)下降。
CMMI模型和敏捷方法的介紹與對(duì)比。
——項(xiàng)目級(jí)流程裁剪質(zhì)量
——過程執(zhí)行的質(zhì)量
3.2.4. 過程質(zhì)量定義以及過程質(zhì)量和產(chǎn)品質(zhì)量的關(guān)系
——好的過程體現(xiàn)了產(chǎn)品質(zhì)量要求
——過程質(zhì)量決定了產(chǎn)品質(zhì)量
3.2.5. 演練:如何在項(xiàng)目計(jì)劃中體現(xiàn)質(zhì)量要素
4. 有針對(duì)性的質(zhì)量策劃
本單元學(xué)習(xí)目標(biāo):根據(jù)不同軟件項(xiàng)目的特點(diǎn),確定不同的軟件質(zhì)量目標(biāo),并設(shè)置相應(yīng)的質(zhì)量控制點(diǎn)
4.1. 產(chǎn)品開發(fā)流程介紹
4.1.1. 研發(fā)質(zhì)量策劃的內(nèi)涵
4.1.2. 什么時(shí)候開始進(jìn)行研發(fā)質(zhì)量策劃活動(dòng)?
4.1.3. 在產(chǎn)品研發(fā)過程中的質(zhì)量策劃活動(dòng)點(diǎn)有哪些?;
? 概念階段:做那些質(zhì)量策劃活動(dòng)、如何做;
? 計(jì)劃階段:做那些質(zhì)量策劃活動(dòng)、如何做
4.2. 誰是研發(fā)質(zhì)量策劃的責(zé)任主體
4.3. 研發(fā)質(zhì)量策劃的包括哪些內(nèi)容
4.3.1. 研發(fā)質(zhì)量策劃樣例講解
4.3.2. 研發(fā)質(zhì)量目標(biāo)如何確定
? Benchmark
? QPM
4.3.3. 在質(zhì)量策劃時(shí),如何進(jìn)行QCT平衡
? 案例講解
4.3.4. 研討:各小組選擇一個(gè)項(xiàng)目,制定研發(fā)質(zhì)量計(jì)劃
4.4. 貴公司質(zhì)量管理活動(dòng)在何時(shí)介入?都包括哪些內(nèi)容?
5. 高質(zhì)量的軟件工程化方法
本單元學(xué)習(xí)目標(biāo):掌握需求分析方法和需求文檔的寫作方法,從源頭上把控好項(xiàng)目的質(zhì)量,減少返工,提高效率;掌握設(shè)計(jì)中質(zhì)量管理的技巧;剖析軟件設(shè)計(jì)常犯的錯(cuò)誤,如何避免這些錯(cuò)誤,寫出高質(zhì)量的設(shè)計(jì)文檔
5.1. 需求的重要性
5.1.1. 需求對(duì)項(xiàng)目的進(jìn)度和質(zhì)量影響
5.1.2. 需求對(duì)測試活動(dòng)和其它相關(guān)組的影響
5.2. 需求開發(fā)典型問題
5.3. 案例分析:請(qǐng)分析某項(xiàng)目的需求文檔有什么問題,如何改進(jìn)
通過案例,說明什么是好的需求文檔,進(jìn)一步體會(huì)需求問題為項(xiàng)目帶來的后果。
5.4. 造成需求開發(fā)典型問題的原因
5.5. 軟件需求過程介紹,需求開發(fā)介紹,包括需求挖掘、分析、文檔化、評(píng)審確認(rèn)等
5.6. 軟件需求挖掘和分析過程
5.6.1. 需求層次:needs,feature和requirement
5.6.2. 需求來源和獲取方法,如客戶訪談、競爭對(duì)手產(chǎn)品分析等
5.6.3. 需求分析方法和工具,如用例圖
5.7. 高質(zhì)量需求文檔的標(biāo)準(zhǔn)
5.7.1. 好的需求文檔特點(diǎn)
5.7.2. 需求文檔中避免出現(xiàn)的一些詞匯
5.7.3. 演練:寫出一功能需求的輸出部分
5.8. 總結(jié):如何制定出高質(zhì)量的需求文檔
5.9. 設(shè)計(jì)過程
5.10. 設(shè)計(jì)基本原理和基本概念
5.11. 模塊分解
5.11.1. 從開發(fā)總成本看模塊分解
5.11.2. 模塊數(shù)據(jù)的合適數(shù)量
5.11.3. 模塊分解的基本原則
5.12. 概要設(shè)計(jì)要點(diǎn)
5.13. 詳細(xì)設(shè)計(jì)要點(diǎn)
5.14. 問題1:需求和設(shè)計(jì)界限不清
5.15. 問題2:設(shè)計(jì)的層次和詳細(xì)程度問題
5.16. 問題3:設(shè)計(jì)文檔的內(nèi)容冗余問題
5.17. 設(shè)計(jì)要考慮的其它因素
6. 有效評(píng)審
本單元學(xué)習(xí)目標(biāo):技術(shù)評(píng)審是質(zhì)量控制非常高效的手段,通過本單元學(xué)習(xí)掌握技術(shù)評(píng)審有效過程和方法
6.1. 評(píng)審的意義
6.2. 案例分析:剖析某項(xiàng)目的技術(shù)評(píng)審
6.3. 評(píng)審的過程
6.3.1. 計(jì)劃評(píng)審活動(dòng),正確地選擇評(píng)審老師
6.3.2. 介紹會(huì)議,為有效評(píng)審做好準(zhǔn)備
6.3.3. 預(yù)評(píng)審是發(fā)現(xiàn)問題的關(guān)鍵階段
6.3.4. 評(píng)審會(huì)議的目的確認(rèn)問題而不是做技術(shù)交流
6.3.5. 評(píng)審問題解決跟蹤確保問題全部得到正確解決
6.3.6. 評(píng)審結(jié)果分析
6.4. 評(píng)審檢查單的制定
6.5. 提升技術(shù)評(píng)審的有效手段
6.5.1. 作者不愿意別人提出問題,評(píng)審人員為了顧及面子不愿意提出問題怎么辦?
6.5.2. 評(píng)審人員把評(píng)審當(dāng)成額外的工作,不愿意參加評(píng)審怎么?
6.5.3. 評(píng)審人員的技能不足怎么辦?
——交叉工作模式介紹
——簡介敏捷開發(fā)的結(jié)對(duì)編程方法
6.5.4. 評(píng)審人員只與評(píng)審對(duì)象部分內(nèi)容部分相關(guān),對(duì)他的評(píng)審又什么要求?
6.5.5. 評(píng)審對(duì)象充滿了低級(jí)錯(cuò)誤,或者有些技術(shù)問題作者還沒有考慮清楚,如何面對(duì)這種情況?
6.5.6. 如何使評(píng)審檢查表效能更大化?什么時(shí)機(jī)使用?
7. 高效測試
本單元學(xué)習(xí)目標(biāo):軟件測試工作在許多企業(yè)中都比較薄弱,存在眾多問題,通過本單元學(xué)習(xí)掌握克服這些問題方法,有效開展測試活動(dòng)
7.1. 研討:阻礙項(xiàng)目進(jìn)行有效測試有哪些因素?
7.2. 測試概述
7.2.1. 測試的常見誤區(qū)
7.2.2. 測試的心理學(xué)問題:測試的目的為了發(fā)現(xiàn)問題,不是為了證明程序是對(duì)的
7.2.3. 測試的經(jīng)濟(jì)學(xué)問題:如何在有限的時(shí)間盡可能發(fā)現(xiàn)更多的缺陷
7.3. 測試分類
7.3.1. 靜態(tài)測試 vs 動(dòng)態(tài)測試
7.3.2. 黑盒測試 vs 白盒測試
7.3.3. 手工測試 vs 自動(dòng)化測試
7.3.4. 按階段分類:UT/IT/ST/Alpha測試/AT/Beta測試
7.4. 測試過程
7.4.1. 測試過程介紹,包括制定測試策劃和計(jì)劃、設(shè)計(jì)測試用例和測試環(huán)境準(zhǔn)備、測試執(zhí)行、測試分析
7.4.2. 測試活動(dòng)在開發(fā)活動(dòng)中的位置
7.4.3. 如何制定測試策略
7.4.4. 演練:分別為兩個(gè)項(xiàng)目制定測試策略
7.5. 測試用例設(shè)計(jì)方法
7.5.1. 什么是測試用例,用例的輸入和輸出通常有哪些
7.5.2. 什么是黑盒方法
7.5.3. 介紹等價(jià)類劃分方法
7.5.4. 演練:用等價(jià)類劃分方法設(shè)計(jì)測試用例
7.5.5. 介紹邊界值分析方法
7.5.6. 演練:用邊界值分析方法設(shè)計(jì)測試用例
7.5.7. 介紹判定表方法
7.5.8. 介紹因果圖方法
7.5.9. 介紹正交陣列方法
7.5.10. 什么是白盒方法
7.5.11. 介紹各邏輯覆蓋,如語句覆蓋、分支覆蓋、條件覆蓋、路徑覆蓋等
7.6. 單元測試和集成測試
7.6.1. 什么是單元測試
7.6.2. 單元測試的投入產(chǎn)出比高嗎?剖析是否值得做單元測試
7.6.3. 演練:如何針對(duì)給定的函數(shù)進(jìn)行單元測試
7.6.4. 單元測試基本概念(樁、驅(qū)動(dòng))介紹
7.6.5. 高效單元測試過程
——用例如何寫
——怎樣打樁
——怎樣利用單元測試工具
——有效單元有哪些原則和注意事項(xiàng)
7.6.6. 集成測試介紹
7.7. 系統(tǒng)測試
7.7.1. 功能測試介紹
7.7.2. 性能測試介紹
7.7.3. 安全性測試介紹
7.7.4. 兼容性測試介紹
7.7.5. 界面測試介紹
7.8. 測試自動(dòng)化
7.8.1. 為何要自動(dòng)化測試,自動(dòng)化測試能帶來哪些價(jià)值
7.8.2. 三種不同級(jí)別的自動(dòng)化
——靜態(tài)腳本錄制
——啞猴測試,隨機(jī)的自動(dòng)化測試
——智能測試自動(dòng)化,通過建模動(dòng)態(tài)生成測試用例
7.8.3. 測試自動(dòng)化工作建設(shè)的一些建議
7.9. 測試工具介紹
7.9.1. 白盒測試工具介紹,包括靜態(tài)白盒工具和動(dòng)態(tài)白盒工具
7.9.2. 黑盒測試工具介紹
7.9.3. 性能測試工具介紹
7.9.4. 測試管理工具介紹
8. 度量分析與缺陷預(yù)防
本單元學(xué)習(xí)目標(biāo):掌握軟件缺陷管理過程和方法,通過缺陷管理、質(zhì)量的度量評(píng)估和和改進(jìn)項(xiàng)目開發(fā)過程
8.1. 缺陷管理
8.1.1. 缺陷管理的三個(gè)層次
——單個(gè)缺陷的生命周期管理
——項(xiàng)目級(jí)缺陷管理
——組織級(jí)缺陷管理
8.1.2. 缺陷管理意義
——確保每個(gè)缺陷被有效解決
——從缺陷數(shù)據(jù)來看,如何改進(jìn)開發(fā)和測試過程
——利用缺陷庫有效地預(yù)防缺陷和解決缺陷
8.2. 缺陷度量和分析工具
8.2.1. ODC分類法介紹
——ODC背景介紹
——ODC分類簡介
——舉例說明如何用ODC缺陷分類分析改進(jìn)開發(fā)和測試工作
8.2.2. 缺陷密度介紹
——缺陷密度的定義
——如何用缺陷密度評(píng)估質(zhì)量控制效果和交付產(chǎn)品交的質(zhì)量
——如何用缺陷密度改進(jìn)開發(fā)過程
8.2.3. 缺陷剔除率介紹
——缺陷剔除率的定義
——如何用缺陷剔除率評(píng)估質(zhì)量控制效果,并改善高質(zhì)量控制方法
——如何用缺陷剔除率改進(jìn)開發(fā)和測試過程
8.2.4. 缺陷分析工具:柏拉圖、控制圖
——使用柏拉圖找重要問題
——使用控制圖找異因,從過程著手做改進(jìn)
8.2.5. 缺陷動(dòng)態(tài)預(yù)測模型:Rayleigh曲線
8.2.6. 缺陷預(yù)防
8.2.7. 利用缺陷模型預(yù)測缺陷數(shù)量
9. 質(zhì)量保證和質(zhì)量控制人員的培養(yǎng)
9.1.1. 研討:在項(xiàng)目中,QA的目標(biāo)和項(xiàng)目經(jīng)理的目標(biāo)是否相同?
——剖析QA和項(xiàng)目經(jīng)理常常發(fā)生沖突的源頭
——國內(nèi)QA普遍的角色錯(cuò)位
9.1.2. QA的律師角色
9.1.3. QA的教練角色
9.1.4. QA的醫(yī)生角色
9.1.5. QA的警察角色
9.1.6. QA的牧師角色
9.2. 過程引導(dǎo)
9.2.1. 過程引導(dǎo)的必要性:僅有培訓(xùn)不足以讓流程執(zhí)行者具備執(zhí)行流程的能力
9.2.2. QA進(jìn)行過程引導(dǎo)的方法
9.2.3. 演練:針對(duì)項(xiàng)目的某些場景如何進(jìn)行流程的引導(dǎo)
9.3. 審計(jì)工作
9.3.1. 過程審計(jì)的必要性:發(fā)現(xiàn)過程問題,及時(shí)糾正
9.3.2. 幾種錯(cuò)誤的審計(jì)方式介紹
9.3.3. 正確的審計(jì)方式和過程
9.3.4. 如何正確地寫審計(jì)報(bào)告
9.4. 測試人員的培養(yǎng)
9.4.1. 測試人員技能規(guī)劃
9.4.2. 測試人員職業(yè)發(fā)展規(guī)劃
9.4.3. 測試過程資產(chǎn)庫和測試用例庫建設(shè)
10. 研討與總結(jié)
10.1. 學(xué)員提出有針對(duì)性的問題,進(jìn)行研討
10.2. 學(xué)員對(duì)課程的收獲進(jìn)行總結(jié)
10.3. 講師對(duì)課程做總結(jié)
- 上一篇:實(shí)用軟件度量
- 下一篇:嵌入式軟件測試