国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

CMMI模型對軟件測試技術的擴充

2019-11-17 04:59:04
字體:
來源:轉載
供稿:網友

  在軟件開發的瀑布模型中,測試是一個非常重要的工程階段。從保證軟件質量的角度來說,軟件測試是軟件質量保證工程的一個重要組成部分,也是最重要的質量保證手段。為了保證所提交的軟件產品能夠滿足客戶的需求,以及在使用中的可靠性,就必須對所開發的軟件產品進行系統而全面的測試。基于這一需求,軟件測試作為軟件開發過程中的一個重要階段,受到了軟件開發組織的普遍重視,并形成了一整套比較成熟的測試理論和技術方法。

  然而,隨著軟件開發技術的不斷發展,以及軟件系統的規模和復雜性的不斷增加,傳統的軟件測試理論和技術已經不能夠很好地滿足開發組織在產品質量、開發成本以及研制周期等方面的需求。本文主要從軟件測試的組織和治理角度,闡述了CMMI模型規范對軟件測試技術的應用和擴充,對于軟件開發組織如何發展和完善軟件開發中的測試工作進行了初步探索。

  1、 傳統的軟件測試技術和測試過程模型

  傳統的軟件測試只是作為軟件開發過程中的一個特定階段,并且只針對軟件成品進行測試。如圖1所示,在瀑布式開發過程模型中,測試是在編碼完成之后和軟件產品交付運行之前的一個工程階段,所有的審查和評審活動都是針對軟件成型產品而開展。這樣的軟件測試主要關注的是對軟件的驗收測試,在一定程度上保證了所提交的軟件產品的質量。但是,全面質量治理的理論認為,軟件的高質量是開發和設計出來的,而不是測試出來的。因此,僅僅依靠對軟件產品進行測試的質量保證活動顯然是遠遠不夠的。隨著軟件開發過程模型和開發技術的不斷發展,軟件測試理論和技術也應該得到相應的發展。

CMMI模型對軟件測試技術的擴充
圖1 軟件測試在軟件開發過程的瀑布模型描述中所處的地位

  隨著全面質量治理思想在軟件開發領域的應用,軟件測試也由最初的只針對軟件成品擴展到了針對軟件半成品和過程產品的全過程測試。這是對軟件測試的一種擴充。擴充后的軟件測試貫穿了軟件開發的全過程,包括從軟件需求分析、軟件概要設計、軟件具體設計、編碼、集成、驗收等各個工程階段。相應地,各階段所開展的測試分別為需求測試、架構測試、具體設計測試、單元測試、集成測試以及驗收測試等。這樣的軟件測試涵蓋了軟件開發的整個工程過程,對于識別和控制軟件缺陷、提高軟件質量起到了很明顯的成效。
從本質上來說,無論是傳統的軟件驗收測試,還是面向整個開發過程的全過程軟件測試,其所針對的測試對象都是軟件產品、半成品或者過程工作產品,其所報告的測試結果也只是為了識別出現在階段產品的缺陷,并加以糾正以支持下一階段的開發工作。從軟件開發組織的長遠發展來看,僅僅做到這些還是不夠的。軟件測試作為軟件質量保證的一種重要手段,不僅要能夠識別軟件產品的缺陷并加以改正,還應該在軟件測試中結合統計技術方法,給出對軟件開發過程的度量,從而支持組織對軟件開發過程的評估和改進。由美國國防部和卡耐基-梅隆大學的軟件工程研究所聯合開發的CMMI模型,正是從軟件過程改進和評估的角度出發,對軟件開發中的測試技術給出了充分的支持和擴充。

  2、 CMMI模型對軟件測試的支持和擴充

  CMMI模型主張在開發過程中注重對過程和產品的度量,以量化的形式提供對治理過程的支持,以及對過程進行相應的評估和改進。這實際上就是對軟件測試技術的一種應用和擴充。CMMI模型將測量和分析作為一個單獨的過程域,充分體現了對開發過程中的測量技術的重視,該過程域的目的就是開發和維持度量能力,以便支持對治理信息的需要。

  測量和分析過程域共有三個目標,其中兩個為特定目標,一個為共性目標。

  第一個目標是協調測量和分析活動。為實現這一目標,模型中給出了四個方面的特定實踐,它們分別是確定測量對象,建立測量目標;具體說明度量值,以處理測量目標;規定數據收集和存儲規程,說明如何獲得并存儲測量數據;規定分析規程,說明如何對度量數據進行分析和報告,并且安排優先順序。該目標中所針對的測量對象既包括組織所開發出的軟件產品、半成品以及過程產品,也包括對開發過程本身的度量。因此,在測量和分析過程中不僅要用到傳統軟件測試中的一些技術和方法,還需要在測量過程中引入統計過程控制等理論方法,提供對過程度量和改進的支持。

  第二個目標是提供度量結果,以便處理信息需要和目標。為實現這一目標,模型中也給出了以下幾方面的特定實踐:收集度量數據,即獲得制定的度量數據;分析并解釋度量數據;治理并存儲度量數據、度量規范和分析結果;通報分析結果,向所有的干系人報告測量和分析活動的結果。在這一目標中,主要關注的是對測量結果的分析和使用。在傳統的軟件測試中,只要產品通過了需求方的驗收,達到了合同要求,開發組織一般也就不再重視對軟件測試結果數據的治理和使用。從過程改進的角度來說,這是很不科學的。基于CMMI的集成化過程改進和評估,提出了建立開發過程數據庫的思想,作為組織進行過程改進的基礎。而建立過程數據的過程中,實際上也就是對測試和度量數據的積累和存儲過程。從這一點來說,在開發過程中開展軟件測試以及針對開發過程的度量,是建立過程數據庫的必要步驟。

  第三個目標是共性目標,即將測量和分析活動制度化為可治理的過程。這一目標主要關注的是對軟件測試和過程度量活動的治理以及制度化。針對這一共性目標,CMMI模型從四個不同方面給出了10個共性實踐。首先,作為執行測量和分析活動的承諾,要求組織建立方針,為策劃和執行“測量和分析”過程提供組織級的支持;其次,在執行能力方面,組織應該制定測量和分析過程計劃;提供必要的資源;分配相應的責任;并且對相關人員進行培訓。第三,為了指導該過程的實施,組織應該將測量和分析過程指定的工作產品置于配置治理的適當層次;確定與過程相關的干系人并使之介入;同時還要對測量和分析過程進行監督和控制。最后,作為對測量和分析活動的驗證實施,組織應該客觀評價測量和分析過程以及過程的工作產品和服務的遵循情況;同時,由高層治理者審查測量和分析過程的活動、狀態和分析結果,并解決相應的問題。這一共性目標的實現,實際上就是把測量和分析活動制度化為一種組織級的行為,在整個組織的范圍內加強了對軟件測試和過程度量活動的組織和治理工作。

  從以上分析可以看出,CMMI模型主要從以下三個方面擴充的傳統的軟件測試技術:

  (1) 從單純的對軟件產品的測試活動,擴展為軟件產品的測試和開發過程的度量。


  這一方面主要體現在過程度量對軟件測試的依靠和應用。對開發過程進行度量,需要利用對軟件產品、半成品以及工作產品的測試結果,從而建立對軟件產品缺陷對開發過程的可跟蹤性。從這一點來說,對開發過程的度量,實際上也就是針對軟件產品的測試活動的擴展,其與傳統的軟件測試的不同之處就在于關注對軟件測試結果數據的分析和利用,將測試數據有效轉換成為能夠標識過程缺陷的統計數據。

  (2) 軟件測試由原來的事后測試行為發展為全過程測試和分析,成為一種缺陷預防的有效方式。
統計技術方法的應用,將傳統的軟件測試活動擴展為一種全過程測試行為。從質量工程的角度來說,這是一種質量保證思想的轉變。傳統的軟件測試,只針對軟件產品而開展,找到缺陷之后再加以改正和修補,這是一種“亡羊補牢”的質量治理方式;而針對開發全過程所開展的軟件測試和過程度量,則注重根據對測試數據的統計分析結果,來判定軟件產品的未來質量趨勢,并提前予以控制和預防,屬于一種“防患于未然”的質量治理方式。與傳統的軟件測試相比,全過程測試不僅可以有效降低產品的質量風險,而且還可以提前對軟件產品缺陷進行規避,這不僅縮短了對缺陷的反饋周期和整個項目的開發周期,而且也大大降低了對軟件產品的維修和維護費用,對于軟件產品的整個生命周期都有很重大的意義。

  (3) 軟件測試與開發過程的其他階段不再是串行工作方式,而是與整個開發過程并行進行。

  與瀑布模型相比,CMMI模型中所描述的軟件測試和過程度量工作與整個開發過程是并行進行的,是一種基于并行工程的測試和度量行為。基于并行工程開展的軟件測試活動,存在于軟件生命周期的各個階段,其基本特點是以質量保證和客戶要求為核心開展對軟件產品和開發過程的測試和度量,力爭將缺陷控制在軟件開發過程的每一個階段,從而可以有效縮短開發周期,降低質量風險,并且可以及時吸取經驗教訓,提供對過程改進的支持。這也體現了CMMI模型對并行工程思想的一種支持和應用。

  除了測量和分析過程域之外,CMMI4中的量化過程治理過程域也是對軟件測試和過程度量技術的一種更高層次上的應用。在該過程域中,測試和度量已經不僅僅是一種被治理的過程,而且其本身也成為了一種有效的輔助治理手段,從定量化的角度對軟件開發過程的治理和組織活動給出了支持。開發過程治理從定性到定量的轉化,是CMMI集成化過程改進所追求的目標之一,也是開發組織一直追求的一種更高水平的治理方式。因此,隨著軟件開發組織過程能力的不斷提高,軟件測試和度量技術也將會得到不斷的發展和完善。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 息烽县| 宜兰市| 东乡县| 甘洛县| 紫阳县| 闽清县| 泸水县| 乌兰察布市| 获嘉县| 汉中市| 阿勒泰市| 松阳县| 苏州市| 南乐县| 个旧市| 仲巴县| 秦皇岛市| 肥乡县| 行唐县| 双柏县| 昌乐县| 台东县| 正镶白旗| 海兴县| 丹巴县| 偏关县| 德钦县| 马公市| 沧源| 玉山县| 洛隆县| 贵定县| 赫章县| 乌鲁木齐县| 永济市| 肥乡县| 当雄县| 邵武市| 房产| 盐边县| 连云港市|