軟件測試實(shí)用指南
當(dāng)前位置:點(diǎn)晴教程→知識管理交流
→『 技術(shù)文檔交流 』
第1章 軟件測試引論 1.1 質(zhì)量和質(zhì)量認(rèn)識論質(zhì)量的重要性是顯而易見的,客戶不可能去購買一個存在質(zhì)量問題的產(chǎn)品,生產(chǎn)廠商如果生產(chǎn)出存在質(zhì)量問題的產(chǎn)品就不可能賣出去。因此,有不少人說質(zhì)量是決定產(chǎn)品存在的價值,質(zhì)量是企業(yè)的生命。那么,什么叫質(zhì)量呢? 質(zhì)量這一概念有許多不同的定義,不同的立場,不同的觀念,對質(zhì)量的定義就會不同。拋開這些因素,舉例說明?!掇o海》和《辭源》中,把質(zhì)量解釋為“產(chǎn)品或工作的優(yōu)劣程度”。世界著名質(zhì)量管理專家Juran博士,在他的經(jīng)典著作《質(zhì)量控制手冊》中,把質(zhì)量定義為“產(chǎn)品在使用時能成功地適合用戶目的的程度”。再如,國際標(biāo)準(zhǔn)化組織(ISO)把質(zhì)量定義為:“反映實(shí)體(可單獨(dú)描述和研究的事物,如活動、過程、產(chǎn)品、組織、體系或人,以及它們各項的任何組合)滿足明確和隱含需要能力的特性總和”。那么,人們是如何認(rèn)識質(zhì)量的呢? 狹義的質(zhì)量概念就是產(chǎn)品質(zhì)量。所謂產(chǎn)品質(zhì)量好,往往被人們認(rèn)為生產(chǎn)出最佳產(chǎn)品,即在盡可能充分利用現(xiàn)代生產(chǎn)技術(shù)水平的條件下,制造出最好的產(chǎn)品。而且,所謂“好”,常常僅從產(chǎn)品性能著眼。這種概念不能反映質(zhì)量的全部內(nèi)容。 廣義的質(zhì)量概念包括產(chǎn)品質(zhì)量和工作質(zhì)量兩個組成部分,即全面質(zhì)量。它既要反映客觀的要求,又要考慮到設(shè)計、制造、銷售服務(wù)的水平和能力。 在這里,需要對產(chǎn)品作一解釋,產(chǎn)品可分為4種類別,即硬件、流程性材料、軟件和服務(wù)。硬件是不連續(xù)的具有特定形狀的產(chǎn)品,如空調(diào)、洗衣機(jī)、電視機(jī)等;流程性材料是將原料轉(zhuǎn)化為某一預(yù)定狀態(tài)的有形產(chǎn)品,如流體、氣體、粒狀、塊狀、線狀或板狀,其典型的交付方式有桶裝、袋裝、罐裝、瓶裝或通過管道;軟件是通過支持媒體表達(dá)的信息所構(gòu)成的一種智力創(chuàng)作,軟件的形式如概念、信息、程序、規(guī)劃、記錄、計算機(jī)程序等,可見此處的軟件是泛指,不單指計算機(jī)軟件;服務(wù)是為滿足客戶的需要,供方和顧客之間在接觸時的活動,以及供方內(nèi)部活動所產(chǎn)生的結(jié)果。因此,產(chǎn)品的提供和使用可構(gòu)成服務(wù)提供的一部分。服務(wù)可以與產(chǎn)品的制造和提供相關(guān)聯(lián)。當(dāng)然,服務(wù)亦需投入資源和活動,也是一種價值的增值。 影響質(zhì)量的因素是什么?其包括5大因素:人、材料、設(shè)備、方法和環(huán)境。顯而易見,人的因素第一,有了人的主動性、對質(zhì)量的深刻認(rèn)識,就會非常重視質(zhì)量的各個環(huán)節(jié);材料也非常重要,半導(dǎo)體的收音機(jī)和集成電路的收音機(jī)取材不同,質(zhì)量也就有天壤之別;設(shè)備的先進(jìn)程度和工作狀態(tài)的好壞也能夠深刻影響產(chǎn)品質(zhì)量;方法包含內(nèi)容更廣泛,它可以是生產(chǎn)方法、設(shè)計方法、管理方法、檢驗方法,這就是技術(shù)因素;環(huán)境也非常重要,集成電路的生產(chǎn)就與環(huán)境密切相關(guān),如塵埃就能決定集成電路塊是否報廢。 任何一個機(jī)構(gòu),都必須確定質(zhì)量目標(biāo),質(zhì)量目標(biāo)就是產(chǎn)品和工程質(zhì)量在一定時間內(nèi)可達(dá)到的水平,產(chǎn)品和工程質(zhì)量目標(biāo)的制訂需做3個方面的調(diào)查。 (1)用戶對開發(fā)新產(chǎn)品或改進(jìn)老產(chǎn)品的意見和要求,包括產(chǎn)品性能、可靠性、安全性、價格、使用維修、外觀包裝和運(yùn)輸儲存等。 (2)生產(chǎn)過程中老產(chǎn)品曾經(jīng)出現(xiàn)過的問題及新產(chǎn)品開發(fā)中可能發(fā)生的問題。 (3)國內(nèi)外有關(guān)的技術(shù)與經(jīng)濟(jì)情況。 制定質(zhì)量目標(biāo)還需考慮成本的增加。任何一個產(chǎn)品或者工程項目,其價格是由銷售成本所決定的,銷售成本包括生產(chǎn)成本、質(zhì)量成本和利潤。就質(zhì)量成本而言,包括損失成本、檢驗成本和預(yù)防成本。損失成本是因產(chǎn)品未能達(dá)到質(zhì)量要求而造成的各項損失費(fèi)用,一般包括內(nèi)部損失(如報廢、返修、降級等)和外部損失(如拒收、索賠、聲譽(yù)破壞等);檢驗成本是用于檢驗產(chǎn)品質(zhì)量所需的各項費(fèi)用;預(yù)防成本是用于預(yù)防產(chǎn)生不良產(chǎn)品所需的各項費(fèi)用,如員工培訓(xùn)、質(zhì)量管理開銷、檢測設(shè)備購置等。 現(xiàn)在人們不僅從技術(shù)層面上去思考產(chǎn)品質(zhì)量,也從質(zhì)量管理的角度去思考產(chǎn)品的質(zhì)量保證,ISO 9000、CMM等都可以看作質(zhì)量管理所引發(fā)的對機(jī)構(gòu)在質(zhì)量保證方面的考核。所謂質(zhì)量管理就是為保證和提高產(chǎn)品或工程質(zhì)量所進(jìn)行的調(diào)查、計劃、組織、協(xié)調(diào)、控制、檢查、處理及信息反饋等各項活動的總和。按照國際標(biāo)準(zhǔn)化組織的定義,則包括確定質(zhì)量方針、目標(biāo)和職責(zé),并在質(zhì)量體系中通過例如質(zhì)量策劃、質(zhì)量控制、質(zhì)量保證和質(zhì)量改進(jìn),使其實(shí)施全部管理職能的所有活動。質(zhì)量體系是為實(shí)施質(zhì)量管理所需的組織結(jié)構(gòu)、程序、過程和資源;質(zhì)量策劃是確定質(zhì)量以及采用質(zhì)量體系要素的目標(biāo)和要求的活動,包括產(chǎn)品策劃、管理和作業(yè)策劃,以及質(zhì)量計劃的編制和質(zhì)量改進(jìn)的準(zhǔn)備工作;質(zhì)量控制是為達(dá)到質(zhì)量要求所采取的作業(yè)技術(shù)和活動;質(zhì)量保證是為了提供足夠的信任表明實(shí)體能滿足質(zhì)量要求,而在質(zhì)量體系中實(shí)施并根據(jù)需要進(jìn)行證實(shí)的全部有計劃有系統(tǒng)的活動;質(zhì)量改進(jìn)是為向本機(jī)構(gòu)及其顧客提供更多的收益,在整個機(jī)構(gòu)內(nèi)所采取的旨在提高活動和過程的效益和效率的各種措施。有關(guān)這些概念的認(rèn)識,讀者可以參考清華大學(xué)出版社于1999年出版的《軟件企業(yè)ISO 9000質(zhì)量體系的建立和認(rèn)證》一書。 1.2 軟件產(chǎn)品和其他產(chǎn)品的差異1.1節(jié)中所講的產(chǎn)品包括4種類別,其中的軟件還不是單指計算機(jī)軟件,其范圍亦大得多。自從1968年提出軟件工程這一概念以來,就希望能夠借助傳統(tǒng)的工程方法來研發(fā)出軟件產(chǎn)品。因此,軟件產(chǎn)品在某些方面的確相似于其他工程中的有形產(chǎn)品,但畢竟不相同,它們之間存在一些重要的差別。所以,在軟件工程中,人們認(rèn)識到不能夠簡單地把一般工程中的知識、方法和技術(shù)直接應(yīng)用到軟件工程上來。那么軟件產(chǎn)品和其他產(chǎn)品有什么不同呢? (1)軟件是邏輯產(chǎn)品而不是實(shí)物產(chǎn)品??梢源致缘卣f軟件不是有形產(chǎn)品,磁盤、集成電路塊只是軟件的載體。這一事實(shí)就意味著費(fèi)用集中在研制開發(fā)上而不在生產(chǎn)上。當(dāng)然,由于是邏輯產(chǎn)品,軟件就不會用壞、磨損、老化,而且可以不斷地改進(jìn)、優(yōu)化,其可靠性由邏輯確定。開發(fā)軟件在許多方面更像進(jìn)行數(shù)學(xué)證明,可是軟件產(chǎn)品的評價卻主要決定于它們在問題求解中是否有用,而不是決定于抽象的正確性判定標(biāo)準(zhǔn)。換句話說,開發(fā)軟件產(chǎn)品時主要使用的是工程標(biāo)準(zhǔn),而不是數(shù)學(xué)標(biāo)準(zhǔn)。 (2)由于軟件是邏輯產(chǎn)品,使得它的功能只能依賴于硬件和軟件的運(yùn)行環(huán)境,以及人們對它的操作,才能得以體現(xiàn)。沒有計算機(jī)相關(guān)硬件的支持,軟件難有實(shí)用價值。同樣,沒有軟件支持的計算機(jī)硬件,也只是毫無使用價值的機(jī)器。軟件與硬件的密切相關(guān)的程度是一般工程所沒有的。 (3)對軟件產(chǎn)品的要求比一般有形產(chǎn)品要復(fù)雜。其一,軟件產(chǎn)品要完成的多種多樣功能,用戶難以清晰、準(zhǔn)確地表達(dá)。憑此一項,軟件系統(tǒng)的復(fù)雜性可以比得上歷史上任何一個工程項目:即使保守估計,一個100萬條匯編語句的軟件,至少有1萬個分功能,其中每一個分功能至少可以用兩種不同方式制定。所以,在功能上,軟件設(shè)計者也得要從210000(相當(dāng)于103000)種功能組合中進(jìn)行挑選。其二,對軟件產(chǎn)品的要求,如可靠性、易移植性、易使用性等是隱含的,也是難以表達(dá)的,而且也缺少度量的具體標(biāo)準(zhǔn),和有形產(chǎn)品的質(zhì)量檢驗的精度相距甚遠(yuǎn)。其三,軟件設(shè)計不僅涉及到技術(shù)復(fù)雜性,也涉及到管理復(fù)雜性。 美國Hetgel曾講過,當(dāng)他負(fù)責(zé)一個軟件研制小組時,認(rèn)為關(guān)鍵的問題是方法學(xué)問題;當(dāng)他負(fù)責(zé)50人的軟件開發(fā)項目組時,逐漸理解到除方法學(xué)之外,程序文檔變得越來越重要了;后來他又領(lǐng)導(dǎo)200人的軟件開發(fā)項目組時,他的認(rèn)識又有了變化,認(rèn)識到最關(guān)鍵的問題是管理問題。這是很有代表性的認(rèn)知過程。即使在今天軟件工程已有很大進(jìn)展的情況下,許多人都不愿意去領(lǐng)導(dǎo)一個龐大的項目組。能像其他工程項目那樣進(jìn)行規(guī)?;a(chǎn)并非易事。 (4)在軟件設(shè)計時發(fā)生的復(fù)雜性,引起的軟件特征包括4方面。其一,功能的多樣性。軟件提供的功能比一般工程產(chǎn)品提供的功能更加多種多樣,以致用戶一時難以掌握。為此,使用軟件產(chǎn)品,往往還會伴隨一個培訓(xùn)任務(wù),而且軟件產(chǎn)品的用戶手冊還不一定能全面描述其功能。其二,實(shí)現(xiàn)的多樣性。對軟件產(chǎn)品的要求不僅僅包括功能和性能要求,還必須包括在符合功能和性能要求的各種實(shí)現(xiàn)中作出選擇,更有實(shí)現(xiàn)算法上的優(yōu)化帶來的不同,所以實(shí)現(xiàn)上的差異會帶來使用上的差異。其三,能見度低。要看到軟件進(jìn)度比看到有形產(chǎn)品的進(jìn)度難得多,這里涉及到如何使用文檔(document)表示的概念能見度,這又為軟件管理復(fù)雜性增加難度。其四,軟件結(jié)構(gòu)的合理性差。結(jié)構(gòu)不合理使軟件管理復(fù)雜性隨著軟件規(guī)模增大而呈指數(shù)增長,換句話說,軟件規(guī)模的增長所引起的管理復(fù)雜性成了設(shè)計的難題。總之,前兩方面屬于技術(shù)復(fù)雜性。后兩方面屬于管理復(fù)雜性。為了控制軟件復(fù)雜性,人們進(jìn)行了各種研究,這在一般工程中是前所未有的。 (5)任何一種工程,在其年輕時代總是人工密集的,而到其成熟時期卻成為資金密集的。但是軟件工程卻也有它自己的特點(diǎn),盡管今后可能有許多活動可以自動化,而軟件的資金密集程度終究會比其他工程學(xué)科中的資金密集程度高,其中包含更多的人的成分,可以說軟件工程是智力密集型。從而,它的知識產(chǎn)權(quán)保護(hù)就顯得極為重要,軟件本身會越來越值錢,逐步體現(xiàn)出它應(yīng)有的價值。 1.3 軟 件 質(zhì) 量1.2節(jié)討論了軟件產(chǎn)品與其他產(chǎn)品的差異,那么軟件產(chǎn)品質(zhì)量與其他產(chǎn)品的質(zhì)量有沒有區(qū)別呢?先來看軟件質(zhì)量的定義:反映軟件系統(tǒng)或軟件產(chǎn)品滿足明確或隱含需求的能力有關(guān)的特性總和。其含義有四:其一,能滿足給定需要的性質(zhì)和特性的全體;其二,具有所期望的各種屬性的組合程度;其三,顧客和用戶覺得能滿足其綜合期望的程度;其四,確定軟件在使用中將滿足顧客預(yù)期要求的程度。簡言之,軟件質(zhì)量是軟件一些特性的組合,它依賴軟件的本身。 對于軟件質(zhì)量有多種不同的視面。用戶主要感興趣的是如何使用軟件、軟件性能和使用軟件的效用,特別是在指定的使用環(huán)境(context)下獲得與有效性、生產(chǎn)率、安全性和滿意度有關(guān)的規(guī)定目標(biāo)的能力,即使用質(zhì)量。開發(fā)者負(fù)責(zé)生產(chǎn)出滿足質(zhì)量要求的軟件,所以他們對中間制品和最終產(chǎn)品的質(zhì)量都感興趣,當(dāng)然開發(fā)者視面也要體現(xiàn)軟件維護(hù)者所需要的質(zhì)量特性。對于管理者也許更注重總的質(zhì)量而不是某一特性,必須從管理準(zhǔn)則,如在進(jìn)度拖延或成本超支與質(zhì)量提高之間進(jìn)行權(quán)衡,以達(dá)到用有限的人力、成本和時間使軟件質(zhì)量達(dá)到優(yōu)化的目的。 保證軟件質(zhì)量基本上可用兩種途徑來實(shí)現(xiàn),一種是保證生存周期過程,另一種是評價軟件最終產(chǎn)品的質(zhì)量。這兩種途徑都很重要,且都要求有一系統(tǒng)來管理質(zhì)量,該系統(tǒng)應(yīng)確定管理對質(zhì)量的保證,指明其策略以及恰當(dāng)?shù)脑敿?xì)執(zhí)行步驟。前者是采用ISO 9001質(zhì)量體系——設(shè)計、開發(fā)、生產(chǎn)、安裝和服務(wù)的質(zhì)量保證模式,或者CMM——能力成熟度模型,或者ISO 15504軟件過程評估(也稱為SPICE,即軟件過程改進(jìn)和能力確定)等方法來取得滿足質(zhì)量要求的軟件。后者是把軟件產(chǎn)品評價看作軟件生存周期的一個過程,目標(biāo)就是讓軟件產(chǎn)品在指定的使用環(huán)境下具有所需的效用,可以通過測量內(nèi)部屬性,也可以通過測量外部屬性,或者通過測量使用質(zhì)量屬性來評價。 軟件質(zhì)量管理 經(jīng)濟(jì)地實(shí)現(xiàn)符合用戶要求的軟件質(zhì)量或服務(wù)的方法體系及其一系列活動,具體包括確定質(zhì)量方針和目標(biāo)、確定崗位職責(zé)和權(quán)限、建立質(zhì)量體系(如質(zhì)量策劃、質(zhì)量控制、質(zhì)量保證和質(zhì)量改進(jìn))并使之有效運(yùn)行等所有活動。任何一個機(jī)構(gòu),要想使自己提供給用戶的產(chǎn)品達(dá)到并保持一定的質(zhì)量水平,都必須進(jìn)行嚴(yán)格的質(zhì)量管理。對于一個軟件機(jī)構(gòu)來說,也必須建立質(zhì)量管理體系。目前能被大家接受和公認(rèn)的是基于軟件生存周期過程的質(zhì)量管理,包括ISO 9001、CMM、ISO 15504等都是屬于這種類型,如能力成熟度模型(CMM)較全面地描述和分析軟件機(jī)構(gòu)的軟件過程能力的發(fā)展程度,建立了一個描述軟件機(jī)構(gòu)的軟件過程成熟度的分級標(biāo)準(zhǔn)和框架。軟件過程能力是描述遵循一個軟件過程而得到期望結(jié)果的程度,軟件過程成熟度是指一個具體的軟件過程被明確定義、管理、控制其實(shí)效的程度。利用能力成熟度模型,軟件機(jī)構(gòu)可以評估自己當(dāng)前的過程成熟度,并通過提出更嚴(yán)格的軟件質(zhì)量標(biāo)準(zhǔn)和過程改進(jìn),來選擇自己的改進(jìn)策略,以達(dá)到更高一級的成熟程度。軟件產(chǎn)品評價需要策劃和管理,從而也是管理職能中的一個部分。 軟件質(zhì)量模型 一個框架,它規(guī)定了內(nèi)部和外部質(zhì)量的質(zhì)量模型與使用質(zhì)量的質(zhì)量模型,以及它們在軟件生存周期中的關(guān)系。內(nèi)部和外部質(zhì)量的質(zhì)量模型將軟件質(zhì)量屬性分類為6個特性,即功能性、可靠性、易用性、效率、易維護(hù)性和易移植性,并進(jìn)一步細(xì)分為27個子特性,從而構(gòu)成一個有層次的樹狀結(jié)構(gòu),結(jié)構(gòu)的最高層由質(zhì)量特性組成,最低層則由軟件質(zhì)量屬性組成。使用質(zhì)量的質(zhì)量模型將軟件質(zhì)量屬性分類為4個特性,即有效性、生產(chǎn)率、安全性和滿意度。獲得軟件的使用質(zhì)量依賴于所取得的外部質(zhì)量,而取得的外部質(zhì)量依賴于獲得必要的內(nèi)部質(zhì)量,所取得的內(nèi)部質(zhì)量又依賴于生存周期中所規(guī)定的過程的質(zhì)量。同樣,為了獲得所需的使用質(zhì)量,就有助于確定外部質(zhì)量需求,從而有助于確定內(nèi)部質(zhì)量需求,進(jìn)而有助于確定過程的質(zhì)量。 軟件質(zhì)量特性 功能性:在指定條件下使用時,軟件產(chǎn)品提供滿足明確和隱含需求功能的能力; 可靠性:在指定條件下使用時,軟件產(chǎn)品維持規(guī)定的性能級別的能力; 易用性:在指定條件下使用時,軟件產(chǎn)品被理解、學(xué)習(xí)、使用及其吸引用戶的能力; 效率:在規(guī)定條件下,相對于所用資源的數(shù)量,軟件產(chǎn)品可提供適當(dāng)性能的能力; 易維護(hù)性:軟件產(chǎn)品可被修改的能力,修改可能包括修正、改進(jìn)或者適應(yīng)環(huán)境、需求和功能規(guī)約的變化; 易移植性:軟件產(chǎn)品從一種環(huán)境遷移到另一種環(huán)境的能力; 有效性:軟件產(chǎn)品在指定使用環(huán)境下,使用戶準(zhǔn)確、完整地獲得規(guī)定目標(biāo)的能力; 生產(chǎn)率:軟件產(chǎn)品在指定使用環(huán)境下,使用戶花費(fèi)合適的與有效性相關(guān)的資源數(shù)量的能力; 安全性:軟件產(chǎn)品在指定使用環(huán)境下,獲得可接受的損害人類、商務(wù)、軟件、財產(chǎn)或環(huán)境風(fēng)險級別的能力; 滿意度:軟件產(chǎn)品在指定使用環(huán)境下,使用戶滿意的能力。 軟件質(zhì)量度量 能被用來確定軟件系統(tǒng)或軟件產(chǎn)品某屬性值的一種測量方法或測量尺度。測量尺度可以根據(jù)滿足不同程度的需求細(xì)分為多個級別,如劃分為兩級,不能令人滿意的和令人滿意的;如劃分為4級,包括超出需求、達(dá)到目標(biāo)、可接受的最低級別和不可接受的。軟件質(zhì)量度量有內(nèi)部度量、外部度量和使用質(zhì)量的度量3種。內(nèi)部度量可應(yīng)用于在設(shè)計和編碼期間的非執(zhí)行軟件產(chǎn)品(如設(shè)計規(guī)約或源代碼),能提供給用戶、評價者、測試員和開發(fā)者評價軟件質(zhì)量,并盡早地發(fā)布質(zhì)量問題。外部度量是通過測試、操作和觀察可執(zhí)行軟件,能提供給用戶、評價者、測試員和開發(fā)者評價軟件質(zhì)量。使用質(zhì)量的度量是在指定使用環(huán)境下,測量有效性、生產(chǎn)率、安全性和滿意度達(dá)到所規(guī)定的目標(biāo)的程度。 最初由Rubey和Hartwick于1968年提出了一些屬性的測量方法,但未建立質(zhì)量度量體系。Boehm等人于1976年提出了定量地評價軟件質(zhì)量的概念,并提出了60個質(zhì)量度量公式,并首次提出了軟件質(zhì)量度量的層次模型。1978年Walters和McCall提出了從軟件質(zhì)量要素、準(zhǔn)則到度量的3層次軟件質(zhì)量模型,將質(zhì)量要素降到11個。上海計算機(jī)軟件中心于1988年提出了軟件質(zhì)量評價體系,由6個質(zhì)量特性和22個評價準(zhǔn)則,以及眾多的度量和度量元構(gòu)成了一個4層次樹狀模型,并提出了評價準(zhǔn)則與質(zhì)量特性的關(guān)系和應(yīng)用策略。國際標(biāo)準(zhǔn)化組織于1991年制定了ISO/IEC 9126-1991標(biāo)準(zhǔn),給出了6個特性和21個子特性,又于1994年開始對ISO/IEC 9126修訂,直到2001年才完成修訂工作,現(xiàn)已被兩個系列標(biāo)準(zhǔn) “ISO/IEC 14598 軟件工程 產(chǎn)品評價”和“ISO/IEC 9126 軟件工程 產(chǎn)品質(zhì)量”所 取代。 軟件質(zhì)量評價過程 由于評價的出發(fā)點(diǎn)不同,可分為3種評價過程:其一,開發(fā)者用的過程,計劃開發(fā)新產(chǎn)品或增強(qiáng)現(xiàn)有產(chǎn)品時為了預(yù)測最終產(chǎn)品質(zhì)量指標(biāo);其二,需求方用的過程,計劃獲取或復(fù)用某個已有產(chǎn)品時,為了決定接受產(chǎn)品或者從眾多可選產(chǎn)品選擇某個產(chǎn)品;其三,評價者用的過程,應(yīng)開發(fā)者、需方或其他機(jī)構(gòu)的請求,對產(chǎn)品進(jìn)行獨(dú)立評估,它們通常是第三方機(jī)構(gòu)。不論哪一種評價過程,都是首先要確立評價需求,然后是規(guī)定評價、設(shè)計評價和執(zhí)行評價等活動。確立評價需求應(yīng)確立評價目的,確定產(chǎn)品類型(中間制品、最終產(chǎn)品),規(guī)定質(zhì)量模型;規(guī)定評價包括選擇度量、建立度量評定等級、確立評估準(zhǔn)則;設(shè)計評價包括制定評價計劃;執(zhí)行評價包括進(jìn)行度量、與評估準(zhǔn)則相比較,評價結(jié)果。 早在20世紀(jì)60年代末,已經(jīng)有人討論大型軟件開發(fā)項目的組織管理問題。隨著軟件工程在實(shí)踐過程中發(fā)生的問題,人們認(rèn)識到軟件產(chǎn)品和軟件項目的開發(fā),不完全取決于軟件開發(fā)方法。與程序的復(fù)雜性和系統(tǒng)的復(fù)雜性相比,前者已得到較大的緩解,更重要的是后者。如進(jìn)度推遲、經(jīng)費(fèi)超支、質(zhì)量差、軟件人員不稱職,均與管理有關(guān)。自20世紀(jì)80年代初,軟件界就關(guān)注“軟件過程”。1984年10月在美國召開的第一屆國際軟件過程討論會,正式提出了“軟件過程”的概念。1991年9月美國電氣和電子工程師學(xué)會(IEEE)的標(biāo)準(zhǔn)化委員會制定了“軟件生存周期過程開展”標(biāo)準(zhǔn)。1994年國際標(biāo)準(zhǔn)化組織和國際電工委員會(ISO/IEC)制定了“軟件生存周期過程”標(biāo)準(zhǔn)草案,1995年正式公布了“ISO/IEC 12207-1995 信息技術(shù) 軟件生存周期過程”國際標(biāo)準(zhǔn)。同時,在國際標(biāo)準(zhǔn)化組織中質(zhì)量管理和質(zhì)量保證技術(shù)委員會(ISO/TC176)制定了ISO 9000簇標(biāo)準(zhǔn),共有27個標(biāo)準(zhǔn)。其中有一個“ISO 9000-3 質(zhì)量管理和質(zhì)量保證——第3部分”,主要針對軟件開發(fā)、供應(yīng)、安裝和維護(hù)中的使用指南,其1997版替代了1993版,內(nèi)容已大多數(shù)和ISO/IEC 12207-1995相吻合,讀者可以參考清華大學(xué)出版社于1999年出版的《軟件企業(yè)ISO 9000質(zhì)量體系的建立和認(rèn)證》一書。 20世紀(jì)80年代中期,IBM在Watts S.Humphrey的指導(dǎo)下,Ron Radice等人將成熟度框架首次應(yīng)用于軟件過程,并由Humphrey于1986年將此成熟度框架帶到卡內(nèi)基·梅隆大學(xué)的軟件工程研究所(CMU/SEI)。 應(yīng)美國聯(lián)邦政府要求,為其提供一個評價軟件開發(fā)商能力的方法,1986年11月,CMU/SEI在MITRE公司的幫助下開始設(shè)計過程成熟度框架,以此幫助軟件機(jī)構(gòu)改進(jìn)他們的軟件過程。1987年9月,CMU/SEI發(fā)表了一個簡短的軟件過程成熟度框架。其后在Humphrey的《管理軟件過程》一書中進(jìn)行擴(kuò)充。書中提出了軟件過程評估和軟件能力評估,和成熟度問卷,用于評估軟件過程成熟度?;谶@些設(shè)想,由Jim Withey,Mark Paulk和Cynthia Wise在1990年推出了最早的草案。1991年8月Mary Beth Chrissis和Bill Curtis幫助Mark Paulk校訂,推出了CMM(成熟度模型)1.1版。 CMU/SEI原先計劃在1997年下半年推出2.0版,1998年推出2.1版。但由于種種原因,未能按計劃推出2.0版。 由于美國聯(lián)邦政府的大力推行,CMM模型得到了廣泛應(yīng)用,CMU/SEI于2001年公布了通過CMM評估的軟件機(jī)構(gòu)共有964家,并對其作了統(tǒng)計分析。目前CMM本身還在向縱深發(fā)展,CMM家族有: 軟件能力成熟度模型(SW-CMM) 軟件獲取能力成熟度模型(SA-CMM) 人員能力成熟度模型(People-CMM) 系統(tǒng)工程能力成熟度模型(SE-CMM) 集成產(chǎn)品開發(fā)能力成熟度模型(IPD-CMM) 個體軟件過程(PSP) 群組軟件過程(TSP) 另外,國際標(biāo)準(zhǔn)化組織為組織軟件過程評價標(biāo)準(zhǔn)的制訂,成立了“軟件過程改進(jìn)和能力確定(Software Process Improvement and Capability Determine,SPICD)”項目,ISO/IEC JTCI的SC 7分技術(shù)委員會于1996年9月正式公布了工作草案,代號為15504,即ISO/IEC TR 15504 Information Technology—Software Process Assessment。 CMM的廣泛采納和成功推廣,推動了軟件及其他學(xué)科的類似模型的開發(fā),從而模型繁衍,導(dǎo)致了過程改善目標(biāo)和技術(shù)的沖突。要求的培訓(xùn)工作有了相當(dāng)大的增長,部分實(shí)踐人員在應(yīng)用各種不同的模型來實(shí)現(xiàn)特定的需要時產(chǎn)生了混淆。針對這種情況,美國聯(lián)邦政府、產(chǎn)業(yè)界和CMU/SEI于1998年啟動了“能力成熟度模型集成(Capability Maturity Model Integration,CMMI)”項目,于2000年第四季度發(fā)布了第一個正式的CMMI,最近的修改是 另外我國也非常重視CMM的研究和應(yīng)用,目前已經(jīng)參照CMM1.1版制定國家軍標(biāo)“軍用軟件成熟度模型”,以及參照CMMI制定行業(yè)標(biāo)準(zhǔn)“ST/T11234 軟件過程能力評估模型” 和“ST/T 11235軟件能力成熟度模型”。 1.4 軟 件 測 試
|
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |