[關鍵詞]軟件工程 項目管理 質量控制 測試手段 成熟度模型
一、引言
在國內軟件業開始誕生和起步的時候,軟件企業在質量管理方面比較落后,大部分的軟件企業沒有設置專門的測試組織。軟件產品的質量完全依賴于程序設計和編寫者的技術水平和工作效果。這種依賴使得軟件產品的質量水平低下。
雖然國內一些軟件企業在2000年左右開始建立內部的測試小組,但仍然只起到了“事后檢驗”的功能,大部分產品質量缺陷仍然無法及時和較全面的被發現和解決,更不用說“預防缺陷”。
即使這種具有“事后檢驗”功能的測試小組被建立,但由于沒有必要的支持,以及人力資源投入嚴重不足,導致測試小組在軟件質量上的貢獻和業績表現并不佳。同時由于對產品質量的認識缺乏全面的理解,僅僅建立一個測試小組對產品質量的提升很有限。
隨著中國WTO的發展步伐,國內涌現出了越來越多的軟件企業,其中以外包企業為主,外包軟件開發公司一般都需要取得一定的資質認證才能夠接到來自國外的委托項目,其中以CMMI(或CMM)認證為主。國內軟件行業即將迎來一個新的發展時期,規范與規?;?。
二、建立專職質量提升組織
在開發項目上按照規范化軟件的生產方式進行生產,在開發質量管理流程上采用ISO9000的標準進行。每個項目除配備了項目開發所需角色外,還需專門配備配置管理小組、測試小組和質量保證小組確保質量管理的實施。
?。ㄒ唬┡渲霉芾硇〗M職責
配置管理小組是保證項目開發完畢的同時,內部文檔和外部文檔都同時完成。內部文檔的及時產生和規范,是保證項目開發各小組能夠更好地接口和溝通的重要前提。從另一個方面講,也是保證工程不被某個關鍵路徑所阻塞而延滯的前提。配置管理小組還是保證質量保證小組得以發揮作用的基礎。配置管理小組的主要職責包括: 完善各個部門發送需要存檔和進行版本控制的代碼、文檔和階段性成果;對代碼、文檔等進行單向出入的控制;對所有存檔的文檔進行版本控制;提供文檔規范,并傳達到開發組中。
?。ǘy試小組職責
測試小組作為質量控制的主要手段,負責軟件的測試設計和執行工作。如同軟件開發一樣,測試在執行之前,同樣需要進行測試計劃和測試策略的設計,通常情況下測試可以分為:正確性、功能性、性能、安全和系統測試等。而這些測試均需要在測試計劃和測試策略中進行描述用以指導測試小組成員進行測試用例編寫和測試執行。程序員在交給測試人員之前是進行過一定的單元測試,確保程序編譯、運行正確。
測試人員根據詳細設計的文檔對軟件要實現的功能進行一一測試,保證軟件的執行正確的實現設計要求,在此也只證明了軟件正確地反映了設計思想,但是否真正反映了用戶的需求仍需要進一步的功能性測試。
測試人員只有根據軟件需求規格說明書所提及的功能進行檢測,才能確保項目組開發的軟件產品滿足用戶需求。在正確性測試完成之后,需要測試的是軟件的性能,軟件的性能在項目中占有重要的地位,性能要求有可能改變軟件的設計,為避免造成軟件的后期返工,測試在性能上需要較大的側重。測試小組還需要做安全測試,以確保系統使用安全可靠。
?。ㄈ┵|量保證小組職責
質量保證小組作為質量保證的實施小組,主要職責是保證軟件透明開發的主要環節。在項目開發的過程中幾乎所有的部門都與質量保證小組有關。質量保證小組對項目經理提供項目進度與項目真正開發時的差異報告,提出差異原因和改進方法。
在項目進度被延滯或質量保證小組認為某階段開發質量有問題時,提請項目經理、項目負責人等必要的相關人員舉行質量會議。解決當前存在的和潛在的問題。質量保證是建立在文檔的復審基礎之上,因而文檔版本的控制,特別是軟件配置管理,直接影響軟件質量保證的影響力和力度。質量保證小組的檢測范圍包括:系統分析人員是否正確的反映了用戶的需求;軟件執行體是否正確的實現了分析人員的設計思想;測試人員是否進行了較為徹底的和全面的測試;配置管理員是否對文檔的規范化進行得比較徹底,版本控制是否有效。
原文轉自:http://www.anti-gravitydesign.com