




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
本章內容10.1測試管理概述10.2測試項目與測試項目管理10.3測試過程管理10.4軟件測試的組織和人員的管理10.5測試的配置管理10.6軟件缺陷管理10.7變更請求和變更請求管理10.8測試項目的進度管理10.9軟件測試風險管理10.10軟件測試的成本管理沈陽師范大學軟件學院1本節內容10.1測試管理概述10.1.1測試管理的目的10.1.2測試管理的特征10.1.3測試管理的要素10.1.4測試管理的原則10.1.5測試管理中的PDCA10.1.6測試管理受的環境影響沈陽師范大學軟件學院210.1.1測試管理的目的10.1.1測試管理的目的通過對產品的整個測試流程進行控制和管理,提高企業軟件測試的管理水平;灌輸和強化企業的管理理念;確保開發產品的質量;進一步提高企業的市場競爭能力。沈陽師范大學軟件學院310.1.2測試管理的特征10.1.2測試管理的特征通過對產品的整個測試流程進行控制和管理,提高企業軟件測試的管理水平;灌輸和強化企業的管理理念;確保開發產品的質量;進一步提高企業的市場競爭能力。沈陽師范大學軟件學院410.1.3測試管理的要素10.1.3測試管理的要素測試管理有三個要素——成本、進度和質量。沈陽師范大學軟件學院510.1.4測試管理的原則10.1.4測試管理的原則(1)始終能夠把質量放在第一位;(2)可靠的需求;(3)盡量留出足夠的時間;(4)足夠重視測試計劃;(5)要適當地引入測試自動化或測試工具;(6)建立獨立的測試環境。沈陽師范大學軟件學院610.1.5測試管理中的PDCA10.1.5測試管理中的PDCA★P:測試計劃;★D:測試案例及測試步驟的設計;★C:測試實施和錯誤跟蹤;★A:測試總結報告沈陽師范大學軟件學院710.1.6測試管理受的環境影響10.1.6測試管理受的環境影響★項目組內環境;★項目所處的組織環境;★整個開發流程所控制的全局環境。這三個環境要素直接關系到軟件項目的可控性。沈陽師范大學軟件學院810.1.7測試管理受的環境影響10.1.7測試管理受的環境影響★項目組內環境;★項目所處的組織環境;★整個開發流程所控制的全局環境。這三個環境要素直接關系到軟件項目的可控性。沈陽師范大學軟件學院9本節內容10.2測試項目與測試項目管理10.2.1測試項目與測試項目管理簡述10.2.2測試項目的范圍管理沈陽師范大學軟件學院1010.2.1測試項目與測試項目管理簡述10.2.1.1測試項目
測試項目是利用有限的人力和財力等資源,在指定的環境和要求下,對特定軟件完成特定測試目標的階段性任務。測試項目要重視測試的策略以提高效率,隨時跟蹤項目盡量確保項目按計劃執行。但更重要的是“質量”。測試項目應滿足一定質量、數量、成本和進度和技術指標等要求。測試項目一般具有如下一些基本特性。(1)項目的獨特性;(2)項目的組織性;(3)測試項目的生命期;(4)測試項目的資源消耗特性;;(5)測試項目目標沖突性;(6)具有智力密集、勞動密集的特點;(7)測試項目結果的不確定因素。沈陽師范大學軟件學院1110.2.1測試項目與測試項目管理簡述10.2.1.2測試項目管理測試項目管理過程和軟件測試過程是一個緊密相連的有活力的過程,是一個復雜的系統。測試項目管理就是以測試項目為管理對象,通過一個臨時性的專門的測試組織發揮項目團隊的作用,運用專門的軟件測試知識、技能、工具和方法,對測試項目進行計劃、組織、執行和控制,并在時間成本、軟件測試質量等方面進行分析和管理活動。測試項目管理貫穿整個測試項目的生命周期,強調以人為本對測試項目的全過程進行管理。測試項目管理有以下基本特征。(1)系統工程的思想貫穿測試項目管理的全過程。(2)測試項目管理的組織有一定的特殊性。(3)測試項目管理的要點是創造和保持一個使測試工作順利進行的環境,使置身于這個環境中的人員能在集體中協調工作以完成預定的目標。(4)測試項目管理的方法、工具和技術手段具有先進性。沈陽師范大學軟件學院1210.2.1測試項目與測試項目管理簡述10.2.1.3測試項目管理的基本原則(1)始終能夠把質量放在第一位;(2)可靠的需求;(3)盡量留出足夠的時間;(4)足夠重視測試計劃;(5)要適當地引入測試自動化或測試工具;(6)建立獨立的測試環境;(7)建立測試管理方法。沈陽師范大學軟件學院1310.2.1測試項目與測試項目管理簡述10.2.1.4測試項目管理者的要求(1)在一個項目中管理者要了解自己的知識面是否與該項目匹配,不匹配提前做好準備;(2)在一個項目中管理者也要了解測試人員的能力與該項目的要求是否匹配;(3)在一個項目中管理者不要和測試人員爭功,上級對管理者的考察永遠是團隊和項目,幫助測試人員成長和保證項目質量是管理者的責任;(4)在一個項目中管理者的懶惰將會對測試人員和項目造成極壞的影響;(5)在一個項目中管理者要多與開發和產品負責人討論并了解變化,因為規范不能保證測試的輸入沒有遺漏;(6)在一個項目中管理者要多參與測試方案、測試用例、測試方法、測試工具、測試過程、測試結果的評審與討論,彌補測試人員或者管理者考慮不周全的問題;(7)在一個項目中管理者要多考慮測試效率和測試效果的問題,這樣可以不斷啟用新的測試方法和測試流程來提高效率、保證測試效果;(8)在一個項目中管理者要進行階段小結,這樣可以彌補一些測試不足的地方,并很好地規劃下一個階段的計劃;測試計劃不是一成不變的,必須定期調整;沈陽師范大學軟件學院1410.2.1測試項目與測試項目管理簡述10.2.1.4測試項目管理者的要求(9)在一個項目中涉及到變更時,要再次評審測試方案、測試用例、測試方法、測試工具,若頻繁變更,則更要把握好節奏;
(10)在一個項目中管理者要非常重視組件/模塊的接口測試、集成測試,不僅表現在方案、用例上,同時也表現在測試時間的安排和人的協調管理上;
(11)在一個項目中管理者要非常重視測試人員直接參與技術討論會議的重要性,既樹立測試人員與開發人員溝通的信心,又加深了測試人員對項目的了解情況,對未來的工作開展非常有利;
(12)在一個項目中管理者對于還沒有掌握溝通技巧或者對管理者沒有信心的測試人員,帶著測試人員一起和開發或者產品進行溝通,或者鼓勵測試人員去溝通,并了解測試人員溝通的效果并指出下次溝通的注意事項;(13)
管理者要全面控制和管理測試項目,通過跟蹤測試任務、查看測試報告、分析測試結果,實時掌握詳細的測試進度;(14)管理者要通過使用完整集中的測試知識庫,提高產品的測試質量和管理標準;簡化的數據輸入形式,可定義的測試界面,以及自動化管理流程,幫助您的團隊有效提高工作效率;沈陽師范大學軟件學院1510.2.1測試項目與測試項目管理簡述10.2.1.4測試項目管理者的要求(15)管理者要對測試案例、測試數據和測試結果在內的詳細歷史記錄核查,保證了測試工作的可追溯性和可核查性;(16)管理者要全面的測試覆蓋管理,創建、管理、分析測試范圍,從中心知識庫中調用原有的測試范圍,以此提高管理者的工作效率、使管理者的管理流程更加標準化;(17)管理者要有高度可視化的測試計劃向導,安排測試時間、分配測試任務、調整測試流程;(18)管理者要有質量報表,幫助管理者分析測試趨勢、掌握工作進展、總結測試缺陷。沈陽師范大學軟件學院1610.2.1測試項目與測試項目管理簡述10.2.1.5測試經理或測試主管在項目中的要求測試經理或測試主管是測試項目成敗的關鍵人物,是對測試項目的成敗負主要責任,如果測試經理或測試主管重視并充分發揮測試經理的作用,和項目經理一起制訂項目測試大綱,讓項目經理在開始階段更多了解測試的質量需求、結構設計、運行環境。測試項目對測試經理或測試主管有如下16點要求:(1)設置軟件測試環境,安裝必要的軟件工具;(2)運行軟件,發現和報告軟件缺陷或錯誤,尤其需要快速定位軟件中的嚴重的錯誤;(3)對軟件整體質量提出評估;(4)確認軟件達到某種具體標準;(5)以最低的成本,最短的時間,完成高質量的測試任務;(6)在項目開發過程中,隨著項目進展,項目經理和測試經理要實時溝通;(7)項目經理需要非常了解項目進度,進行工作任務細化、具體計劃和安排項目成員工作任務等工作、對突發事件項目經理需能及時合理地進行協調、測試經理能準確地給出進展狀態和項目的缺陷狀態。(8)測試經理不僅需要注重項目質量,同時應注意項目工作效率不斷提高;沈陽師范大學軟件學院1710.2.1測試項目與測試項目管理簡述10.2.1.5測試經理或測試主管在項目中的要求(9)項目經理對軟件開發具有豐富的經驗,了解軟件開發的普遍流程,了解各個階段所需完成的工作,特別是項目測試工作需要的時間,這是安排好項目組成員工作的前提;(10)在項目正式開展前,經理準備項目計劃文檔,在項目計劃中包含了項目進度時間表,給出各個階段和各個子階段的起始結束日期。對各個階段和各個子階段的詳細工作安排和各項工作責任人只能在項目開展工程中根據項目實際情況進行安排,一般是在每周項目組例會上進行本周詳細工作安排;(11)在項目組例會上的工作安排一般只限于本周或甚至是過后的二、三天,一般不會太長,對長時間工作的安排容易失去精確并且不易控制;(12)項目組例會一般一周一次(時間不能太長),但必要時也可在中途召開項目會議進行工作安排;(13)一定重視每周測試結果報告;(14)善于鼓勵發揮員工的潛能,經理需要會贊揚很好地完成了工作的組員;(15)要采取主動積極的工作態度和利益相關者去溝通,強化軟件測試工作;(16)
采用配置管理思想,輔之以先進的配置管理工具,可以幫助用戶在內部建立完善的知識管理體系。沈陽師范大學軟件學院1810.2.2測試項目的范圍管理10.2.2.1測試小組與開發小組的管理(1)缺陷的管理
測試人員與開發人員以TD作為交流的依據,因此必須測試人員與開發人員必須每天瀏覽TD上的缺陷記錄,并根據優先級作為開發員修改的依據。測試小組與開發小組的缺陷管理如表沈陽師范大學軟件學院1910.2.2測試項目的范圍管理10.2.2.1測試小組與開發小組的管理(1)缺陷的管理沈陽師范大學軟件學院2010.2.2測試項目的范圍管理10.2.2.1測試小組與開發小組的管理(2)版本的管理(3)需求變更及其他事項的管理當需求規約發生變更時,開發人員應及時用郵件通知相關的測試人員和測試經理,如需求變更多大時,應形成文檔提交。沈陽師范大學軟件學院2110.2.2測試項目的范圍管理10.2.2.2測試小組的管理(1)測試時間的管理測試時間單位為工作日(周),如表所示。沈陽師范大學軟件學院2210.2.2測試項目的范圍管理10.2.2.2測試小組的管理(2)會議的管理項目例會,包含內容為小組成員小結,新版本的對應的測試計劃,測試用例及預期執行時間;確定小組成員的考核;確定項目獎的分配建議。(3)測試方式的管理實行交叉測試和集中測試相結合的方式進行,主要進行黑盒測試,以手工測試為主,在項目后期進行簡單的性能測試;開發小組提交版本后,有專門負責相應模塊的測試工程師進行初步測試,在開發小組提交新版本前的一到兩天測試組所有成員進行集中測試,測試工程師必須提供測試用例的執行情況,模塊的關聯情況,簡單演示,并以此作為考核的依據。(4)測試用例的管理測試用例不但可以保證軟件的質量,還會大大縮短,需求完成后的測試時間。因此,測試用例必須寫,而且是在模塊需求規約確定后,在開發第一次提交版本前完成。執行過程中,如有需求變更,測試用例也要更新。(5)對測試人員的考核的管理測試小組除了負責項目的測試質量外,還應根據在測試過程中提出三方面的數據:★模塊內部驗收測試數據;★缺陷上嚴重級別、狀態及優先級別的處理;★對測試的編譯。沈陽師范大學軟件學院2310.2.2測試項目的范圍管理10.2.2.3代碼對象庫的管理
軟件代碼是軟件開發人員勞動的結晶,也是軟件公司的寶貴財富,長期開發過程中形成的各種代碼對象是快速生成系統的組成部分。然而長期以來的一個事實是:一旦某個開發人員離開工作崗位,其原來所編寫的代碼便基本成為垃圾,無人過問;或者由于文檔不全,無從考究。為代碼管理提供了一個平臺和倉庫,有利于建立公司級的代碼對象庫,增進代碼復用,提高開發重用率和軟件質量。沈陽師范大學軟件學院2410.2.2測試項目的范圍管理10.2.2.4業務及經驗庫的管理
自動生成完整的開發日志及問題集合,用文字記錄開發的整個過程,不會因某人的流動而消失,有利于公司積累業務經驗,無論對軟件維護或版本升級,都具有重要的指導作用。沈陽師范大學軟件學院25本節內容10.3測試過程管理10.3.1軟件過程的定義10.3.2測試過程規劃10.3.3測試過程與開發過程的關系10.3.4測試過程的活動10.3.5測試過程的理念10.3.6測試過程階段沈陽師范大學軟件學院2610.3.1軟件過程的定義10.3.1軟件過程的定義★測試過程是軟件過程的組成部分,明確自己的軟件過程,才能明確自己的測試過程。★軟件生存周期指軟件從出現一個構思之日起,直到最后決定停止使用之時止。包括可行性與計劃研究、需求分析、設計、實現、測試、運行與維護等階段?!镘浖^程是指開發和維護軟件及相關產品(如項目計劃、文檔、代碼、手冊等)的一套行為、方法、實踐及變換過程。軟件過程是軟件生存周期的框架。沈陽師范大學軟件學院2710.3.2測試過程規劃10.3.2測試過程規劃★軟件過程;★測試過程;★測試的階段;★規劃測試過程沈陽師范大學軟件學院2810.3.3測試過程與開發過程的關系10.3.3測試過程與開發過程的關系★都是軟件過程的有機組成部分;★與開發過程同步進行?!锱c開發過程相互依賴,又相互獨立。★開發過程、測試過程、項目管理過程以及其他支撐過程相互交織共同組成了軟件過程。沈陽師范大學軟件學院2910.3.4測試過程的活動10.3.4測試過程的活動★計劃;★設計;★準備;★執行;★評估;★缺陷跟蹤。沈陽師范大學軟件學院3010.3.5測試過程的理念10.3.5測試過程的理念(1)盡早測試“盡早測試”包含兩方面的含義:第一,測試人員早期參與軟件項目,及時開展測試的準備工作,包括編寫測試計劃、制定測試方案以及準備測試用例;第二,盡早的開展測試執行工作。沈陽師范大學軟件學院3110.3.5測試過程的理念10.3.5測試過程的理念★測試可以在需求分析階段就及早開始,在做需求分析、產品功能設計的同時,測試人員就可以閱讀、審查需求分析的結果,創建測試的準則;★當系統設計人員在做系統設計時,測試人員可以了解系統是如何實現的,基于什么樣的平臺,這樣可以設計系統的測試方案和測試計劃,并事先準備系統的測試環境;★當設計人員在做在做詳細設計時,測試人員可以參與設計,對設計進行評審,找出設計的缺陷,同時設計功能、新特性等各方面的測試用例,完善測試計劃;★在編程的同時,進行單元測試,是一種很有效的辦法,可以盡快找出程序中的錯誤,充分的單元測試可以大幅度提高程序質量、減少成本。
由于及早的開展了測試準備工作,測試人員能夠于早期了解測試的難度、預測測試的風險,從而有效提高了測試效率,規避測試風險。由于及早的開展測試執行工作,測試人員盡早的發現軟件缺陷,大大降低了BUG修復成本。需要注意,“盡早測試”并非盲目的提前測試活動,測試活動開展的前提是達到必須的測試就緒點。沈陽師范大學軟件學院3210.3.5測試過程的理念10.3.5測試過程的理念(3)全過程測試
“全過程測試”包含兩層含義:第一,測試人員要充分關注開發過程,對開發過程的各種變化及時做出響應。例如開發進度的調整可能會引起測試進度及測試策略的調整,需求的變更會影響到測試的執行等等。第二,測試人員要對測試的全過程進行全程的跟蹤,例如建立完善的度量與分析機制,通過對自身過程的度量,及時了解過程信息,調整測試策略。沈陽師范大學軟件學院3310.3.5測試過程的理念10.3.5測試過程的理念★當前測試所達到的覆蓋率是怎樣的?★到目前為止取得了哪些成功?★還要哪些測試要做?★怎么證明系統已經經過了有效的測試?★有哪些變更,哪些必須重新測試?沈陽師范大學軟件學院3410.3.5測試過程的理念10.3.5測試過程的理念(4)獨立的、迭代的測試我們在遵循盡早測試、全面測試、全過程測試理念的同時,應當將測試過程從開發過程中適當的抽象出來,作為一個獨立的過程進行管理。時刻把握獨立的、迭代測試的理念,減小因開發模型的繁雜給測試管理工作帶來的不便。對于軟件過程中不同階段的產品和不同的測試類型,只要測試準備工作就緒,就可以及時開展測試工作,把握產品質量。沈陽師范大學軟件學院3510.3.6測試過程階段10.3.6測試過程階段
(1)測試項目啟動階段;
(2)測試計劃階段;
(3)測試設計階段;
(4)測試執行階段;
(5)測試結果的審查和分析階段。沈陽師范大學軟件學院36本節內容10.4軟件測試的組織和人員的管理10.4.1軟件測試的組織和組織的職能10.4.2測試的組織結構10.4.3測試人員能力要求沈陽師范大學軟件學院3710.4.1軟件測試的組織和組織的職能10.4.1.1測試組織的任務★為測試項目選擇合適的組織結構模式;★確定項目組內部的組織形式;★合理配備人員,明確分工和責任;★對項目成員的思想、心理和行為進行有效地管理,充分發揮他們的主觀能動性,密切配合實現項目的目標。沈陽師范大學軟件學院3810.4.1軟件測試的組織和組織的職能10.4.1.2測試組織管理的原則★盡快落實責任從軟件的生存周期看,測試往往指對程序的測試,但是,由于測試的依據是規格說明書、設計文檔和使用說明書,如果設計有錯誤,測試的質量就難以保證。實際上,測試的準備工作在分析和設計階段就開始了,在軟件項目的開始就要盡早指定專人負責,讓他有權去落實與測試有關的各項事宜?!餃p少接口要盡可能地減少項目組內人與人之間的層次關系,縮短通信的路徑,方便人員之間的溝通,提高工作效率?!镓熑蚊鞔_、均衡項目組成員都必須明確自己在項目組中的地位、角色和職責,各成員所負的責任不應比委任的權力大,反之亦然。沈陽師范大學軟件學院3910.4.1軟件測試的組織和組織的職能10.4.1.3測試組織的人員組成★測試經理測試經理負責測試流程、溝通、測試工具的引入、人員管理、測試計劃/設計/開發及執行?!餃y試組長測試組長:溝通、測試工具引入、人員管理、費用/過程狀態報告、測試計劃/設計/開發及執行?!餃y試工程師測試工程師執行測試計劃,進行設計/開發及執行。沈陽師范大學軟件學院4010.4.1軟件測試的組織和組織的職能10.4.1.4組織的職能★按照組織目標和實施計劃,建立合理的組織機構,包括各個管理層次和職能部門的建立;★按照業務性質進行分工,確定各個部門的職責范圍;★按照所負責任給予各個部門、各管理人員相應的權利;★明確各部門之間、上下級之間的領導和協作關系,建立通暢的信息溝通渠道;★配備和使用適合工作要求的人員。沈陽師范大學軟件學院4110.4.2測試的組織結構10.4.2.1測試的組織結構
測試人員由臨時人員組成,通常有2-5人組成,直接向項目經理負責。大型項目可以劃分為幾個小組,設測試經理。項目經理負責制定測試計劃文檔。企業沒有正規的方法將測試程序、方法、相關的知識經驗傳遞下去,測試質量難以保證。優點是成本低,不需要對測試人員提供培訓、生活保障等服務。沈陽師范大學軟件學院4210.4.2測試的組織結構10.4.2.2測試組織結構的準則(1)提供軟件測試的快速決策能力;(2)利于合作,尤其是產品開發與測試開發之間的合作;(3)能夠獨立、規范、不帶偏見地運作并具有精干的人員配置;(4)有利于滿足軟件測試與質量管理的關系;(5)有利于滿足軟件測試過程管理要求;(6)有利于為測試技術提供專有技術;(7)充分利用現有測試資源,特別是人;(8)對測試者的職業道德和事業產生積極的影響。沈陽師范大學軟件學院4310.4.3測試人員能力要求10.4.3.1測試人員的能力應包括以下幾項:(1)技術知識:包括表達、交流、協調、管理、質量意識、過程方法、軟件工程等;(2)測試技能及方法:包括測試基本概念及方法、測試工具及環境、專業測試標準、工作成績評估、熟悉所測試的產品用到的技術,并掌握測試工具、方法等相關技術。等;(3)測試規劃能力:包括將業務任務和技術任務相互獨立、能夠適應不同的測試項目、風險分析及防范、軟件放行/接收準則制定、測試目標及計劃、測試計劃和設計的評審方法等;(4)測試執行能力:包括有成熟的測試過程管理規范、測試數據/腳本/用例、測試比較及分析、缺陷記錄及處理、自動化工具;沈陽師范大學軟件學院4410.4.3測試人員能力要求10.4.3.1測試人員的能力應包括以下幾項:(5)測試分析、報告和改進能力:包括測試度量、統計技術、測試報告、過程監測及持續改進。測試工程師掌握:測試工具、測試自動化編程、編程語言、操作系統、網絡、數據庫、測試生存周期的技術技能(1-2年);掌握測試過程:評審、制訂和改進過程,指導工作,了解業務領域。(2-3年);掌握:任務安排、跟蹤和報告,監管測試工程師,掌握測試周期支持工具。(3-4年);掌握:管理項目,與客戶交流,管理測試人員。(4-6年);掌握:項目或產品研發指導、促進產品銷售、確定業務機會、承擔盈虧責任。(8年以上)。沈陽師范大學軟件學院4510.4.3測試人員能力要求10.4.3.1測試人員的能力應包括以下幾項:
測試組織管理者的工作能力在很大程度上決定測試工作的成功與否,測試管理是很困難的,測試組織的管理者必須具備:(1)了解與評價軟件測試政策、標準、過程、工具、培訓和度量的能力;(2)領導一個測試組織的能力,該組織必須堅強有力、獨立自主、辦事規范且沒有偏見;(3)吸引并留住杰出測試專業人才的能力;(4)領導、溝通、支持和控制的能力;(5)有提出解決問題方案的能力;(6)測試時間、質量和成本控制的能力。沈陽師范大學軟件學院46本節內容10.5測試的配置管理10.5.1軟件配置管理簡述10.5.2軟件配置管理要求10.5.3軟件配置管理功能要求沈陽師范大學軟件學院4710.5.1軟件配置管理簡述10.5.1.1軟件配置管理軟件配置管理(SCMSoftwareConfigurationManagement)是一種標識、組織和控制修改的技術,目的是使錯誤降為最小并最有效地提高生產效率。軟件配置管理應用于整個軟件工程過程。我們知道,在軟件建立時變更是不可避免的,而變更加劇了項目中軟件開發者之間的混亂。SCM活動的目標就是為了標識變更、控制變更、確保變更正確實現并向其他有關人員報告變更。軟件配置管理作為CMM2級的一個關鍵域(KeyPracticeArea,KPA),在整個軟件的開發活動中占有很重要的位置,它被用來:(1)標識變化;(2)控制變化;(3)保證變化被適當的發現;(4)向其他可能有興趣的人員報告變化。沈陽師范大學軟件學院4810.5.1軟件配置管理簡述10.5.1.2軟件配置管理的基本目標
軟件配置管理是在貫穿整個軟件生命周期中建立和維護項目產品的完整性。它的基本目標包括:★軟件配置管理的各項工作是有計劃進行的;★被選擇的項目產品得到識別,控制并且可以被相關人員獲?。弧镆炎R別出的項目產品的更改得到控制;★使相關組別和個人及時了解軟件基準的狀態和內容。沈陽師范大學軟件學院4910.5.1軟件配置管理簡述10.5.1.3軟件配置管理的定義★標識——識別產品的結構、產品的構件及其類型,為其分配唯一的標識符,并以某種形式提供對它們的存??;★控制——通過建立產品基線,控制軟件產品的發布和在整個軟件生命周期中對軟件產品的修改。例如,它將解決哪些修改會在該產品的最新版本中實現的問題;★狀態統計——記錄并報告構件和修改請求的狀態,并收集關于產品構件的重要統計信息。例如,它將解決修改這個錯誤會影響多少個文件的問題;★審計和審查——確認產品的完整性并維護構件間的一致性,即確保產品是一個嚴格定義的構件集合。例如,它將解決目前發布的產品所用的文件的版本是否正確的問題;★生產——對產品的生產進行優化管理。它將解決最新發布的產品應由哪些版本的文件和工具來生成的問題;★過程管理——確保軟件組織的規程、方針和軟件周期得以正確貫徹執行。它將解決要交付給用戶的產品是否經過測試和質量檢查的問題;沈陽師范大學軟件學院5010.5.1軟件配置管理簡述10.5.1.4軟件配置管理角色職責軟件配置管理過程中主要涉及下列的角色和分工:(1)項目經理(ProjectManagerPM)
項目經理是整個軟件研發活動的負責人,他根據軟件配置控制委員會的建議批準配置管理的各項活動并控制它們的進程。其具體職責為以下幾項:★制定和修改項目的組織結構和配置管理策略;★
批準、發布配置管理計劃;★
決定項目起始基線和開發階段;★
接受并審閱配置控制委員會的報告。沈陽師范大學軟件學院5110.5.1軟件配置管理簡述10.5.1.4軟件配置管理角色職責(2)配置控制委員會(ConfigurationControlBoardCCB)★負責指導和控制配置管理的各項具體活動的進行,為項目經理的決策提供建議。其具體職責為以下幾項:★
定制開發子系統;★
定制訪問控制;★
制定常用策略;★
建立、更改基線的設置,審核變更申請;★
根據配置管理員的報告決定相應的對策。沈陽師范大學軟件學院5210.5.1軟件配置管理簡述10.5.1.4軟件配置管理角色職責(3)配置管理員(ConfigurationManagementOfficerCMO)根據配置管理計劃執行各項管理任務,定期向CCB提交報告,并列席CCB的例會。其具體職責為以下幾項:★
軟件配置管理工具的日常管理與維護;★
提交配置管理計劃;★
各配置項的管理與維護;★
執行版本控制和變更控制方案;★
完成配置審計并提交報告;★
對開發人員進行相關的培訓;★
識別軟件開發過程中存在的問題并擬就解決方案。沈陽師范大學軟件學院5310.5.1軟件配置管理簡述10.5.1.4軟件配置管理角色職責(4)系統集成員(SystemIntegrationOfficerSIO)
系統集成員負責生成和管理項目的內部和外部發布版本,其具體職責為以下幾項:★
集成修改;★
構建系統;★
完成對版本的日常維護;★
建立外部發布版本。沈陽師范大學軟件學院5410.5.1軟件配置管理簡述10.5.1.5軟件配置管理過程一個軟件研發項目一般可以劃分為三個階段:計劃階段、開發階段和維護階段。而開發階段和維護階段從配置管理的角度來看所涉及的活動是一致,所以成為“項目開發和維護”階段。①
項目計劃階段
一個項目設立之初,首先需要制定整個項目的計劃,它是項目研發工作的基礎。在有了總體研發計劃之后,軟件配置管理的活動就可以展開了,因為如果不在項目開始之初制定軟件配置管理計劃,那么軟件配置管理的許多關鍵活動就無法及時有效的進行,而它的直接后果就是造成了項目開發狀況的混亂并注定軟件配置管理活動成為一種“救火”的行為。所以及時制定一份軟件配置管理計劃在一定程度上是項目成功的重要保證。沈陽師范大學軟件學院5510.5.1軟件配置管理簡述10.5.1.5軟件配置管理過程一個軟件研發項目一般可以劃分為三個階段:計劃階段、開發階段和維護階段。而開發階段和維護階段從配置管理的角度來看所涉及的活動是一致,所以成為“項目開發和維護”階段。①
項目計劃階段
一個項目設立之初,首先需要制定整個項目的計劃,它是項目研發工作的基礎。在有了總體研發計劃之后,軟件配置管理的活動就可以展開了,因為如果不在項目開始之初制定軟件配置管理計劃,那么軟件配置管理的許多關鍵活動就無法及時有效的進行,而它的直接后果就是造成了項目開發狀況的混亂并注定軟件配置管理活動成為一種“救火”的行為。所以及時制定一份軟件配置管理計劃在一定程度上是項目成功的重要保證。在軟件配置管理計劃的制定過程中,它的主要流程是:★CCB根據項目的開發計劃確定各個里程碑和開發策略;★CMO根據CCB的規劃,制定詳細的配置管理計劃,交CCB審核;★CCB通過配置管理計劃后交項目經理批準,發布實施。沈陽師范大學軟件學院5610.5.1軟件配置管理簡述10.5.1.5軟件配置管理過程②項目開發維護階段這一階段時項目研發的主要階段。在這一階段中軟件配置管理活動主要分為三個層面:★主要由CMO完成的管理和維護工作;★由SIO和DEV具體執行軟件配置管理策略;★變更流程。這三個層面是彼此之間既獨立又互相聯系的有機的整體。在這個軟件配置管理過程中,它的核心流程應該是這樣的:★CCB設定研發活動的初始基線;★CMO根據軟件配置管理規劃設立配置庫和工作空間,為執行軟件配置管理就阿做好準備;★開發人員按照統一的軟件配置管理策略,根據獲得的授權的資源進行項目的研發工作;★SIO按照項目的進度集成組內開發人員的工作成果,并構建系統,推進版本的演進;★CCB根據項目的進展情況,審核各種變更請求,并適時的劃定新的基線,保證開發和維護工作有序的進行。沈陽師范大學軟件學院5710.5.1軟件配置管理簡述10.5.1.5軟件配置管理過程這個流程就是如此循環往復,直到項目的結束。當然,在上述的核心過程之外,還涉及其他一些相關的活動和操作流程,下面按不同的角色分工予以列出:★各開發人員按照項目經理發布的開發策略或模型進行工作;★SIO負責將各分項目的工作成果歸并至集成分支,供測試或發布;★SIO可向CCB提出設立基線的要求,經批準后由CMO執行;★
CMO定期向項目經理和CCB提交審計報告,并在CCB例會中報告項目在軟件過程中可能存在的問題和改進方案;★
在基線生效后,一切對基線和基線之前的開發成果的變更必須經CCB的批準;★
CCB定期舉行例會,根據成員所掌握的情況、CMO的報告和開發人員的請求,對配置管理計劃作出修改,并向項目經理負責。綜上所述,配置管理的工作流程如圖所示沈陽師范大學軟件學院5810.5.1軟件配置管理簡述沈陽師范大學軟件學院5910.5.1軟件配置管理簡述10.5.1.6軟件配置管理的關鍵活動配置管理的目的是建立和維護在軟件生命周期中軟件產品的完整性和一致性。一般來說,軟件測試配置管理包括6個最基本關鍵活動:★配置標識;★版本控制;★變更控制;★配置狀態報告;★配置審計;★工作空間管理。沈陽師范大學軟件學院6010.5.1軟件配置管理簡述10.5.1.6軟件配置管理的關鍵活動(1)配置標識配置標識是配置管理的基礎,也是制定配置管理計劃的重要內容。所有配置項的操作權限都應當嚴格管理,其基本原則是:所有基線配置項向測試人員開放讀取權限;而非基線配置項向測試組長、項目經理及相關人員開放。配置標識主要是標識測試樣品、測試標準、測試工具、測試文檔(包括測試用例)、測試報告等配置項的名稱和類型。所有配置項都都應按照相關規定統一編號,按照相應的模板生成,并在文檔中的規定章節(部分)記錄對象的標識信息。在引入軟件配置管理工具進行管理后,這些配置項都應以一定的目錄結構保存在配置庫中,這樣使得測試相關人員能方便地知道每個配置項的內容和狀態。沈陽師范大學軟件學院6110.5.1軟件配置管理簡述10.5.1.6軟件配置管理的關鍵活動(2)版本控制版本控制是軟件配置管理的核心功能。版本控制的目的是按照一定的規則保存配置項的所有版本,避免發生版本丟失或混淆等現象,并且可以快速準確地查找到配置項的任何版本。所有置于配置庫中的元素都應自動予以版本的標識,并保證版本命名的唯一性。版本在生成過程中,自動依照設定的使用模型自動分支、演進。除了系統自動記錄的版本信息以外,為了配合軟件開發流程的各個階段,我們還需要定義、收集一些元數據(Metadata)來記錄版本的輔助信息和規范開發流程,并為今后對軟件過程的度量做好準備。當然如果選用的工具支持的話,這些輔助數據將能直接統計出過程數據,從而方便我們軟件過程改進(SoftwareProcessImprovement,SPI)活動的進行。
對于配置庫中的各個基線控制項,應該根據其基線的位置和狀態來設置相應的訪問權限。一般來說,對于基線版本之前的各個版本都應處于被鎖定的狀態,如需要對它們進行變更,則應按照變更控制的流程來進行操作。沈陽師范大學軟件學院6210.5.1軟件配置管理簡述10.5.1.6軟件配置管理的關鍵活動(3)變更控制變更控制的目的并不是控制和限制變更的發生,而是對變更進行有效的管理,確保變更有序地進行。變更管理的一般流程是:★(獲得)提出變更請求;★由CCB審核并決定是否批準;★(被接受)修改請求分配人員為,提取SCI,進行修改;★復審變化;★提交修改后的SCI;★建立測試基線并測試;★重建軟件的適當版本;★復審(審計)所有SCI的變化;★發布新版本。沈陽師范大學軟件學院6310.5.1軟件配置管理簡述10.5.1.6軟件配置管理的關鍵活動(
4)配置狀態報告配置狀態報告就是根據配置項操作數據庫中的記錄,來向管理者報告軟件測試工作的進展情況。這樣的報告應該是定期進行,并盡量通過CASE工具自動生成,用數據庫中的客觀數據來真實的反映各配置項的情況。
配置狀態報告應根據報告應著重反映當前基線配置項的狀態,以作為對開發進度報告的參照。同時也能從中根據開發人員對配置項的操作記錄來對開發團隊的工作關系作一定的分析。配置狀態報告應該包括以下主要內容:沈陽師范大學軟件學院6410.5.1軟件配置管理簡述10.5.1.6軟件配置管理的關鍵活動★定義配置狀態報告形式、內容和提交方式;★確認過程記錄和跟蹤問題報告,更改請求,更改次序等;★確定測試報告提交的時間與方式?!锱渲脦旖Y構和相關說明;★開發起始基線的構成;★當前基線位置及狀態;★各基線配置項集成分支的情況;★各私有開發分支類型的分布情況;★關鍵元素的版本演進記錄;★其它應予報告的事項。沈陽師范大學軟件學院6510.5.1軟件配置管理簡述10.5.1.6軟件配置管理的關鍵活動(5)配置審計配置審計的主要作用是作為變更控制的補充手段,來確保某一變更需求已被切實地執行和實現。配置審計包括以下主要內容:★確定審計執行人員和執行時機;★確定審計的內容與方式;★確定發現問題的處理方法?!镏贫椖康呐渲糜媱?;★對配置項進行標識;★對配置項進行版本控制;★對配置項進行變更控制;★定期進行配置審計;★向相關人員報告配置的狀態。沈陽師范大學軟件學院6610.5.1軟件配置管理簡述10.5.1.6軟件配置管理的關鍵活動(6)工作空間管理
在引入了軟件配置管理工具之后,所有開發人員都會被要求把工作成果存放到由軟件配置管理工具所管理的配置庫中去,或是直接工作在軟件配置管理工具提供的環境之下。所以為了讓每個開發人員和各個開發團隊能更好的分工合作,同時又互不干擾,對工作空間的管理和維護也成為了軟件配置管理的一個重要的活動。沈陽師范大學軟件學院6710.5.2軟件配置管理要求軟件配置管理要求注意如下10點內容:1.配置管理適用的范圍包括SNTC部門的全部工作產品,研發中心各個部門的評審記錄;2.配置管理下的項至少應包括:工作計劃、工作任務、工作周報、各種會議記錄、經評審確認的工作產品、評審記錄等。3.配置管理命名規則:工作計劃-XX部NN:項目;YYYY:為年;MM:為月;DD:為日期;XX:為配置管理項。4.配置庫文件目錄結構配置庫文件目錄結構如表所示。沈陽師范大學軟件學院6810.5.2軟件配置管理要求沈陽師范大學軟件學院6910.5.2軟件配置管理要求軟件配置管理要求注意如下10點內容:5.角色和責任6.目錄添加/修改/刪除流程7.配置項的添加/修改/刪除流程8.配置項的發布9.配置管理文檔的保存10.配置庫備份.沈陽師范大學軟件學院7010.5.3軟件配置管理功能要求10.5.3.1對于元素的要求★要記錄元素的版本及其差異,差異的原因;★確定構成配置及配置版本的組件群;★標識出產品的基線及其外延產品,確定表示項目組件群及附件項目環境。沈陽師范大學軟件學院7110.5.3軟件配置管理功能要求10.5.3.2對于機構的要求★要通過表示產品組件庫的系統模型來模擬產品的結構;★標明組件、版本、配置的界面使之可以重用;★確定及維護組件間的關系;選擇兼容的組件使之形成有效的、一致的產品版本。沈陽師范大學軟件學院7210.5.3軟件配置管理功能要求10.5.3.3對構建的要求★要通過表示產品組件庫的系統模型來模擬產品的結構;★標明組件、版本、配置的界面使之可以重用;★確定及維護組件間的關系;選擇兼容的組件使之形成有效的、一致的產品版本。沈陽師范大學軟件學院7310.5.3軟件配置管理功能要求10.5.3.3對構建的要求★要容易創建產品的手段;★能隨時靜態分析產品的現狀;★通過減少組件的堆積和節省區間來優化系統創建的機制;★進行更改分析以預測因更改而導致的細小分化的手段;★隨時都能對產品的任何部分、在任何階段容易得到更新。沈陽師范大學軟件學院7410.5.3軟件配置管理功能要求10.5.3.4對于審核的要求★要所有更改的歷史記錄;★所有與產品相關的組件與其演變的追溯性;★完成任務的所有細節的日志。沈陽師范大學軟件學院7510.5.3軟件配置管理功能要求10.5.3.5對于統計的要求★要所有更改的歷史記錄;★所有與產品相關的組件與其演變的追溯性;★完成任務的所有細節的日志。沈陽師范大學軟件學院7610.5.3軟件配置管理功能要求10.5.3.6對于控制要求★要為避免不必要的變更或變更沖突對系統中的組件的獲取應予以控制,對于更改要求的表格及問題報告形成在線支持;★錯誤查找的手段及何時對何人會產生什么影響;★在不同但相關的產品版本之間以受控的方式進行更改告知;★將產品進行分割的手段以限制更改影響沈陽師范大學軟件學院7710.5.3軟件配置管理功能要求10.5.3.7對于過程要求★要對生命周期模型及組織方針予以支持;★確定要完成的任務及如何完成、何時完成的能力;★將相干的事務的訊息在適當的人員之間進行溝通的能力;將產品的經驗文檔化的手段。沈陽師范大學軟件學院7810.5.3軟件配置管理功能要求10.5.3.8對于團隊協作的要求★個人和小組的工作區間;★在匯合時產生沖突的解決辦法;★對產品的創建及其維護予以支持的手段。沈陽師范大學軟件學院79本節內容10.6軟件缺陷管理10.6.1缺陷管理的目標10.6.2缺陷分類沈陽師范大學軟件學院8010.6.1缺陷管理的目標10.6.1缺陷管理的目標
為了對缺陷進行管理,首先是了解缺陷、對缺陷進行分類,通過對缺陷進行分類,可以迅速找出哪一類缺陷的問題最大,然后集中精力預防和排除這一類缺陷。缺陷類型如表所示。沈陽師范大學軟件學院8110.6.1缺陷管理的目標10.6.1缺陷管理的目標沈陽師范大學軟件學院8210.6.1缺陷管理的目標10.6.1缺陷管理的目標沈陽師范大學軟件學院8310.6.1缺陷管理的目標10.6.1缺陷管理的目標沈陽師范大學軟件學院8410.6.1缺陷管理的目標10.6.1缺陷管理的目標沈陽師范大學軟件學院8510.6.1缺陷管理的目標10.6.1缺陷管理的目標沈陽師范大學軟件學院86本節內容10.7變更請求和變更請求管理10.7.1變更請求10.7.2變更請求管理沈陽師范大學軟件學院8710.7.1變更請求10.7.1變更請求變更伴隨著軟件開發的各個階段。軟件開發過程中的變更可以從兩個側面來描述,一個是對軟件開發過程之中工件(如:需求設計文檔、設計模型、代碼及測試腳本等)的變更;另一方面是驅動工件變更的理由(如:缺陷修正、新功能添加等等)。這種驅動軟件工件變更的理由就是變更請求。變更請求是項目管理的重要數據之一,通過對這些數據的統計分析可以進行量化的項目管理。沈陽師范大學軟件學院8810.7.2變更請求管理10.7.2變更請求管理變更請求管理(ChangeRequestManagement:CRM)是軟件開發的成本降低的最大因素之一,隨著對軟件開發的要求越來越高,變更量也越來越多,開發人員必須迅速解決變更問題。變更請求管理就須要通過建立合理的變更流程。實施變更請求管理流程的基本步驟:(1)確定變更請求管理流程執行的范圍然后制定響應的變更流程;(2)制定變更管理流程模型;(3)決定團隊各個角色在流程實施中所起的作用;(4)確定實施計劃及開始實施日程;(5)部署變更請求管理系統;(6)不斷強化變更管理流程。沈陽師范大學軟件學院8910.7.2變更請求管理10.7.2變更請求管理
為了保證整個項目開發的成功,變更請求管理:(1)哪些需求發生了變化?應可提供具有各種重要特征的變更請求信息,且對各種變更請求在處理完畢之前的內容能及時調整、并保證各種請求的信息絕對不能丟失。(2)這些需求變化后,對測試工作會產生哪些影響。包括會不會影響測試用例?會不會影響到了測試方案?會不會影響到測試計劃?應通過對缺陷及其各種他變更的登記、保管、跟蹤、解析,達到團隊之間的各種變化信息的共有、安全而可靠的高質量變更信息管理系統。(3)需求變化后對工作進度產生多大的影響?有效地跟蹤各種變更,對管理人員提出各種變更狀況的查詢請求,做到快而準地提供信息。(4)
不同變更請求之間的連接關系?對項目整體發展狀況,提供宏觀及定量的分析,從而能合理分配項目開發人員的工作、合理制定項目的計劃、合理管理項目各種請求實施的優先級。(5)統計各種項目指標數據,項目管理人員就可以進行更加科學、量化的管理、規劃、調配、監控,保證項目如期的進行沈陽師范大學軟件學院90本節內容10.8測試項目的進度管理10.8.1影響測試項目進度的因素10.8.2測試項目的進度控制措施沈陽師范大學軟件學院9110.8.1影響測試項目進度的因素10.8.1影響測試項目進度的因素(1)人員、預算變更對進度的影響有時某方面的人員不夠到位,或者在多個項目的情況下某方面的人員中途被抽到其他項目、或身兼多個項目、或在別的項目不能自拔無法投入本項目,對進度造成影響。預算的變更會影響某些資源的變更,從而對進度造成影響。(2)低估環境因素對進度的影響企業高級項目主管和項目經理也經常低估用戶環境、行業環境、組織環境、社會環境、經濟環境,既有主觀的原因,也會有客觀的原因。對項目環境的了解程度不夠,造成沒有做好充分的準備,從而對進度造成影響。(3)項目狀態信息收集對進度的影響由于項目經理的經驗或素質原因,對項目狀態信息收集的的掌握不足,及時性、準確性、完整性比較差,從而對進度造成影響。沈陽師范大學軟件學院9210.8.1影響測試項目進度的因素10.8.1影響測試項目進度的因素(4)執行計劃的嚴格程度對進度的影響沒有把計劃作為項目過程行動的基礎,而是把計劃放在一邊,比較隨意去做,從而對進度造成影響。(5)計劃變更調整的及時性對進度的影響計劃的制定需要隨著項目的進展進行不斷細化、調整、修正、完善。計劃變更調整不及時從而對進度造成影響。(6)未考慮不可預見事件發生造成的影響。(7)程序員方面的因素對進度的影響。(8)其他因素對進度的影響。沈陽師范大學軟件學院9310.8.2測試項目的進度控制措施10.8.2.1項目進度控制的前提項目進度控制的前提是有效地項目計劃和充分掌握第一手實際信息,在此前提下,通過實際值與計劃值進行比較,檢查、分析、評價項目進度。通過溝通、肯定、批評、獎勵、懲罰、經濟等不同手段,對項目進度進行監督、督促、影響、制約。及時發現偏差,及時予以糾正;提前預測偏差,提前予以預防。必須落實項目團隊之內或之外進度控制人員的組成,明確具體的控制任務和管理職責。沈陽師范大學軟件學院9410.8.2測試項目的進度控制措施10.8.2.2項目進度控制主要手段
從進度控制內容內容上看,進度控制主要表現在組織管理、技術管理和信息管理等這幾個方面。組織管理包括這樣幾個內容:★項目經理監督并控制項目進展情況;★進行項目分解,如按項目結構分,按項目進展階段分,按合同結構分,并建立編碼體系;★制訂進度協調制度,確定協調會議時間,參加人員等;★對影響進度的干擾因素和潛在風險進行分析?!锉M量利用歷史數據,從以前完成過的項目來進行類比分析,以確定質量和進度所存在的某種數量關系,來控制進度和管理質量??梢圆捎脤M度管理計劃添加質量參數的方法,也就是通過參數調整進度和質量的關系?!锊捎脺y試項目進度的度量方法:測試進度曲線法和缺陷跟蹤曲線法。在進度壓力之下,被壓縮的時間通常是測試時間,這導致實際的進度隨著時間的推移,與最初制定的計劃相差越來越遠。而如果有了正式的度量方法,這種情況就很難出現,因為在其出現之前就有可能采取了行動。沈陽師范大學軟件學院9510.8.2測試項目的進度控制措施10.8.2.2項目進度控制主要手段
從進度控制內容內容上看,進度控制主要表現在組織管理、技術管理和信息管理等這幾個方面。組織管理包括這樣幾個內容:★項目經理監督并控制項目進展情況;★進行項目分解,如按項目結構分,按項目進展階段分,按合同結構分,并建立編碼體系;★制訂進度協調制度,確定協調會議時間,參加人員等;★對影響進度的干擾因素和潛在風險進行分析?!锉M量利用歷史數據,從以前完成過的項目來進行類比分析,以確定質量和進度所存在的某種數量關系,來控制進度和管理質量??梢圆捎脤M度管理計劃添加質量參數的方法,也就是通過參數調整進度和質量的關系?!锊捎脺y試項目進度的度量方法:測試進度曲線法和缺陷跟蹤曲線法。在進度壓力之下,被壓縮的時間通常是測試時間,這導致實際的進度隨著時間的推移,與最初制定的計劃相差越來越遠。而如果有了正式的度量方法,這種情況就很難出現,因為在其出現之前就有可能采取了行動。沈陽師范大學軟件學院96本節內容10.9軟件測試風險管理10.9.1軟件風險的基本概念和風險的分類10.9.2風險識別和分析10.9.3軟件項目風險管理模型沈陽師范大學軟件學院9710.9.1軟件風險的基本概念和風險的分類10.9.1軟件風險的基本概念和風險的分類(1)軟件風險是指在軟件開發過程中遇到的預算、進度、指開發不成功等方面的問題引起損失的可能性,這種不風險會導致軟件開發的失敗。(2)軟件測試風險軟件測試的風險是指軟件測試過程出現的或潛在的問題,造成的原因主要是測試計劃的不充分、測試方法有誤或測試過程的偏離,造成測試的補充以及結果不準確。測試的不成功導致軟件交付潛藏著問題,一旦在運行時爆發,會導致軟件失敗。軟件測試風險主要是對測試計劃執行的風險分析與制定要采取的應急措施,降低軟件測試產生的風險造成的危害。測試計劃的風險一般是指測試進度滯后或出現非計劃事件,當測試計劃風險發生時,可能采用的應急措施有:縮小范圍、增加資源、減少過程等措施?!锟s小范圍。決定在后續的發布中,實現較低優先級的特性。★增加資源。請求用戶團隊為測試工作提供更多的用戶支持?!餃p少過程。在風險分析過程中,確定某些風險級別低的特征測試,或少測試。沈陽師范大學軟件學院9810.9.1軟件風險的基本概念和風險的分類10.9.1.2軟件風險的分類軟件項目的風險一般體現在以下5個方面:需求、計劃編制風險、組織和管理風險、開發環境風險和實現風險。(1)需求風險★范圍風險:與范圍變更有關的風險;★外部可預測風險:市場風險(原材料可利用性、需求)、日常運作(維修需求)、環境影響、社會影響、貨幣變動、通貨膨脹、稅收;★外部可預測風險:規章(不可預測的政府干預)、自然災害;★內部非技術風險:戰略風險(公司的經營戰略發生了變化)、管理風險(公司管理人員是否成熟等);★需求定義欠佳,而進一步的定義會擴展項目范疇;★添加額外的需求;★產品定義含混的部分比預期需要更多的時間;★在做需求中用戶參與不夠;★缺少有效的需求變化管理過程。沈陽師范大學軟件學院9910.9.1軟件風險的基本概念和風險的分類10.9.1.2軟件風險的分類(2)計劃編制風險★計劃、資源和產品定義全憑用戶或上層領導口頭指令,并且不完全一致;★計劃不能現實,只能算是期望狀態;★計劃基于使用特定的小組成員,而那個特定的小組成員其實指望不上;★產品規模(代碼行數、功能點、與前一產品規模的百分比)比估計的要大;★完成目標日期提前,但沒有相應地調整產品范圍或可用資源;★涉足不熟悉的產品領域,花費在設計和實現上的時間比預期的要多;★沒有按照要求的技術性能和質量水平完成任務;★沒有在預算的時間范圍內完成任務;★沒有在預算的成本范圍內完成任務。沈陽師范大學軟件學院10010.9.1軟件風險的基本概念和風險的分類10.9.1.2軟件風險的分類(3)組織和管理風險★僅由管理層或市場人員進行技術決策,導致計劃進度緩慢,計劃時間延長;★員工離職;★低效的項目組結構降低生產率;★管理層審查決策的周期比預期的時間長;★預算削減,打亂項目計劃;★缺乏必要的規范,導致工作失誤與重復工作;★非技術的第三方的工作(預算批準、設備采購批準、法律方面的審查、安全保證等)時間比預期的延長;沈陽師范大學軟件學院10110.9.1軟件風險的基本概念和風險的分類10.9.1.2軟件風險的分類(3)組織和管理風險★作為先決條件的任務(如培訓及其他項目)不能按時完成;★開發人員和管理層之間關系不佳,導致決策緩慢,影響全局;★缺乏激勵措施,士氣低下,降低了生產能力;★某些人員不熟悉的軟件工具和環境;★項目后期加入新的開發人員,需進行培訓并逐漸與現有成員溝通,從而使現有成員的工作效率降低;★由于項目組成員之間發生沖突,導致溝通不暢、設計欠佳、接口出現錯誤和額外的重復工作;★不適應工作的成員沒有調離項目組,影響了項目組其他成員的積極性;★沒有找到項目急需的具有特定技能的人。沈陽師范大學軟件學院10210.9.1軟件風險的基本概念和風險的分類10.9.1.2軟件風險的分類(4)開發環境風險★設施未及時到位;★開發工具未及時到位;★開發工具不如期望的那樣有效,開發人員需要時間創建工作環境或者切換新的工具;★新的開發工具的學習期比預期的長,內容繁多。沈陽師范大學軟件學院10310.9.1軟件風險的基本概念和風險的分類10.9.1.2軟件風險的分類(5)設計和實現風險★設計質量低下,導致重復設計;★用戶對于最后交付的產品不滿意,要求重新設計和重做;★用戶的意見未被采納,造成產品最終無法滿足用戶要求,因而必須重做;★用戶提供的組件質量欠佳,導致額外的測試、設計和集成工作,以及額外的用戶關系管理工作?!镉脩魶]有或不能參與規劃、原型和規格階段的審核,導致需求不穩定和產品生產周期的變更;★一些必要的功能無法使用現有的代碼和庫實現,開發人員必須使用新的庫或者自行開發新的功能;★代碼和庫質量低下,導致需要進行額外的測試,修正錯誤,或重新制作;沈陽師范大學軟件學院10410.9.1軟件風險的基本概念和風險的分類10.9.1.2軟件風險的分類★過高估計了增強型工具對計劃進度的節省量;★分別開發的模塊無法有效集成,需要重新設計或制作?!餂]有嚴格要求與現有系統兼容,需要進行比預期更多的測試、設計和實現工作;★要求與其他系統或不受本項目組控制的系統相連,導致無法預料的設計、實現和測試工作;★在不熟悉或未經檢驗的軟件和硬件環境中運行所產生的未預料到的問題;★開發一種全新的模塊將比預期花費更長的時間;★依賴正在開發中的技術將延長計劃進度。沈陽師范大學軟件學院10510.9.2風險識別和分析10.9.2.1風險識別風險識別是指確定何種風險事件可能影響項目,是在項目開始?是在項目階段中間?:風險識別包括確定風險的來源,風險產生的條件,描述其風險特征和確定哪些風險事件有可能影響本項目。風險識別不是一次就可以完成的事,應當在項目的各個階段。要識別風險,首先了解在軟件開發的各個階段都有可能發生的風險。沈陽師范大學軟件學院10610.9.2風險識別和分析10.9.2.1風險識別(1)需求分析階段在需求分析階段可能的風險事件:★項目目標不清;★項目范圍不明確(范圍太大太小都不可以);★用戶參與少或和用戶溝通少;★對業務了解不夠;★對需求了解不夠;★沒有進行可行性研究。沈陽師范大學軟件學院10710.9.2風險識別和分析10.9.2.1風險識別(2)設計階段在設計階段可能的風險事件:★項目隊伍缺乏經驗,缺乏有經驗的系統分析員;★沒有變更控制計劃,以至于變更沒有依據,偏離用戶需求;★倉促計劃帶來進度方面的風險;★漏項,由于設計人員的疏忽某個功能沒有考慮進去。沈陽師范大學軟件學院10810.9.2風險識別和分析10.9.2.1風險識別(3)實施階段在實施階段可能的風險事件:★開發環境沒有具備好;★設計錯誤帶來的實施困難;★程序員開發能力差,或程序員對開發工具不熟;★項目范圍改變;★項目進度改變;沈陽師范大學軟件學院10910.9.2風險識別和分析10.9.2.1風險識別★在一個項目內軟件開發工作有一定的連續性,需要移交和交接,有時人員離開對項目的影響會很大;★開發團隊內部溝通不夠,導致程序員對系統設計的理解上有偏差;★沒有有效的備份方案;★沒有切實可行的測試計劃;★測試人員經驗不足。沈陽師范大學軟件學院11010.9.2風險識別和分析10.9.2.1風險識別(4)系統驗收試運行階段在系統驗收試運行階段可能的風險事件:★測試未按計劃完成,發布日期推遲;★交付日期的滯后,耗盡了所有的資源;★質量差,客戶不滿意;★資金不能回收。沈陽師范大學軟件學院11110.9.2風險識別和分析10.9.2.2軟件風險分析軟件風險分析是對識別出來的風險事件做風險影響分析。風險分析有四個因素:★風險事件。風險事件說明可能破壞或影響項目的事件。★風險概率。風險概率說明可能事件發生的可能性★風險得失量。風險得失量說明可能造成的損失★風險影響。沈陽師范大學軟件學院11210.9.2風險識別和分析10.9.2.2軟件風險分析風險分析:★發生的可能性:發生問題的可能性有多大;★影響的嚴重性:如果問題發生了會有什么后果。從風險的相互作用的估算來評價項目可能結果的范圍,確定哪些風險事件可以避免,哪些風險事件可以忽略不考慮,哪些風險事件要采取應對措施。沈陽師范大學軟件學院11310.9.2風險識別和分析10.9.2.2軟件風險分析通常風險分析包括以下幾項內容:★風險標識:表示風險事件的惟一標識;★風險問題:風險問題發生現象的簡單描述;★發生可能性:風險發生可能性的級別;★影響的嚴重性:風險影響的嚴重性的級別;★風險預測值:風險發生可能性與風險影響的嚴重性的乘積;★風險優先級:風險預測值從高向低的排序。綜上所述,軟件風險分析的目的是:確定測試對象、確定優先級,以及測試深度。在測試計劃階段,可以用風險分析的結果來確定軟件測試的優先級。對每個測試項和測試用例賦予優先代碼,將測試分為高、中和低的優先級類型,這樣可以在有限的資源和時間條件下,合理安排測試的覆蓋度與深度。沈陽師范大學軟件學院11410.9.2風險識別和分析10.9.2.2軟件風險分析1)風險應對應對方法PMBOK提到三種風險應對應對方法:①避免通過分析找出來發生風險事件的原因,消除這些原因來避免一些特定的風險事件發生。②減輕通過降低風險事件發生的概率或得失量來減輕對項目的影響。也可以采用風險轉移的方法來減輕風險對項目帶來的影響。項目預算中考慮應急儲備金是另一種降低風險影響的方法。③接受接收風險造成的后果。比如:為了避免自然災害造成的后果,在一個大的軟件項目中考慮了異地備份中心。沈陽師范大學軟件學院11510.9.2風險識別和分析10.9.2.2軟件風險分析(2)風險量化風險量化:涉及對風險及風險的相互作用的評估,是衡量風險概率和風險對項目目標影響程度的過程。風險量化的基本內容是確定那些事件需要制定應對措施。(3)風險應對計劃制定風險應對計劃制定:針對風險量化的結果,為降低項目風險的負面效應制定風險應對策略和技術手段的過程。風險應對計劃依據風險管理計劃、風險排序、風險認知等依據,得出風險應對計劃、剩余風險、次要風險以及為其它過程提供得依據。(4)風險監控。風險監控:涉及整個項目管理過程中的風險進行應對。該過程的輸出包括應對風險的糾正措施以及風險管理計劃的更新。沈陽師范大學軟件學院11610.9.3軟件項目風險管理模型10.9.3.1軟件項目風險管理模型軟件項目風險管理模型主要有:Boehm模型,CRM模型和SERIM模型。(1)BarryBoehm模型模型:RE=P*L其中:RE:表示風險或者風險所造成的影響;P:表示令人不滿意的結果所發生的概率;L:表示糟糕的結果會產生的破壞性的程度。沈陽師范大學軟件學院11710.9.3軟件項目風險管理模型10.9.3.1軟件項目風險管理模型(2)SEI的CRM(ContinuousRiskManagement)模型SEICRM模型的風險管理原則是:不斷地評估可能造成惡劣后果的因素;決定最迫切需要處理的風險;實現控制風險的策略;評測并確保風險策略實施的有效性。CRM模型要求在項目生命期的所有階段都關注風險識別和管理,它將風險管理劃分為五個步驟:風險識別、分析、計劃、跟蹤、控制。沈陽師范大學軟件學院11810.9.3軟件項目風險管理模型10.9.3.1軟件項目風險管理模型(3)SERIM(SoftwareEngineeringRiskModel)模型
SERIM從技術和商業兩個角度對軟件風險管理進行剖析,考慮的問題涉及開銷、進度、技術性能等。它還提供了一些指標和模型來估量和預測風險,由于這些數據來源于大量的實際經驗,因此具有很強的說服力。沈陽師范大學軟件學院119本節內容10.10軟件測試的成本管理10.10.1軟件測試成本管理概述10.10.2測試費用有效性沈陽師范大學軟件學院12010.10.1軟件測試成本管理概述10.10.1.1成本管理的主要內容成本管理的主要內容有:資源計劃--資源計劃是確定為完成項目各活動需什么資源(人、設備、材料)的種類,以及每種資源的需要量。成本估算--是為完成項目各項任務所需要的資源成本的近似估算。成本預算-將總投資估算分配了落實到各個單項工作上。項目成本預算是進行項目成本控制的基礎,它是將項目的成本估算分配到項目的各項具體工作上,以確定項目各項工作和活動的成本定額,制定項目成本的控制標準,規定項目意外成本的劃分與使用規則的一項項目管理工作。沈陽師范大學軟件學院12110.10.1軟件測試成本管理概述10.10.1.1成本管理的主要內容成本控制—控制預算的變更。成本控制的每一部分都有輸入、工具技術和輸出。首先是根據歷史信息、范圍陳述、資源池描述、組織方針和活動持續期預計,利用專家判
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論