11章 凈室軟件工程_第1頁
11章 凈室軟件工程_第2頁
11章 凈室軟件工程_第3頁
11章 凈室軟件工程_第4頁
11章 凈室軟件工程_第5頁
已閱讀5頁,還剩48頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

第11章凈室軟件工程基本概念凈室策略功能規(guī)格說明凈室設(shè)計凈室測試認(rèn)證11.1基本本概念凈室軟件件工程(Cleanroomsoftwareengineering)是一種在在軟件開開發(fā)過程程中強(qiáng)調(diào)調(diào)在軟件件中建立立正確性性要求的的方法。。與傳統(tǒng)的的分析、、設(shè)計、、編碼、、測試和和調(diào)試的的周期觀觀點(diǎn)有所所不同。。凈室方法法的觀點(diǎn)點(diǎn):通過在第第一次正正確地書書寫代碼碼增量,,并在測測試前驗(yàn)驗(yàn)證它們們的正確確性來避避免成本本很高的的缺陷消消除過程程。它的的過程模模型是在在代碼增增量集成成到系統(tǒng)統(tǒng)的同時時,進(jìn)行行代碼增增量的統(tǒng)統(tǒng)計質(zhì)量量驗(yàn)證。。11.1基本本概念與形式化化方法技技術(shù)一樣樣,凈室室過程強(qiáng)強(qiáng)調(diào)規(guī)格格說明和和設(shè)計上上的嚴(yán)格格性,并并且使用用基于數(shù)數(shù)學(xué)的正正確性證證明來對對結(jié)果設(shè)設(shè)計模型型的每個個元素進(jìn)進(jìn)行形式式化驗(yàn)證證。凈室方法法不是先先制造一一個產(chǎn)品品,然后后再去消消除缺陷陷,而是是要求在在規(guī)格說說明和設(shè)設(shè)計中消消除錯誤誤,然后后以“干干凈”的的方式進(jìn)進(jìn)行制造造。凈室方法法還對形形式化方方法進(jìn)行行了擴(kuò)展展,強(qiáng)調(diào)調(diào)統(tǒng)計質(zhì)質(zhì)量控制制技術(shù),,包括基基于客戶戶對軟件件的預(yù)期期使用的的測試。。11.1基本本概念“第一次次就將事事情做正正確”是是軟件工工程最重重要的哲哲學(xué)。凈室軟件件工程是是這樣一一個過程程:它強(qiáng)強(qiáng)調(diào)在程程序構(gòu)造造開始前前進(jìn)行正正確性的的數(shù)學(xué)驗(yàn)驗(yàn)證,并并且將軟軟件可靠靠性認(rèn)證證作為軟軟件測試試的一部部分。其底線是是極低的的故障率率,這是是使用非非形式化化方法難難于或不不可能達(dá)達(dá)到的。。11.1基本本概念20世紀(jì)80年代,Mills、Dyer、及Linger最先建議議將凈室室原理應(yīng)應(yīng)用于軟軟件工程程。雖然在軟軟件開發(fā)發(fā)的早期期,人們們對其抱抱以很大大的希望望,但它它并沒有有得到廣廣泛的使使用。

11.1基本本概念Henderson提出了沒沒有得到到廣泛使使用的三三個原因因:1.凈室方法法學(xué)太理理論化、、太數(shù)學(xué)學(xué)化、太太激進(jìn),,難于在在實(shí)際的的軟件開開發(fā)中使使用。2.它提倡開開發(fā)者不不需要進(jìn)進(jìn)行單元元測試,,而是進(jìn)進(jìn)行正確確性驗(yàn)證證和統(tǒng)計計質(zhì)量控控制,這這些觀念念與當(dāng)前前大多數(shù)數(shù)軟件開開發(fā)方式式有很大大的偏離離。11.1基本本概念3.軟件開發(fā)發(fā)產(chǎn)業(yè)的的成熟度度不高。。使用凈凈室過程程需要在在整個生生命周期期階段嚴(yán)嚴(yán)格按照照定義的的過程進(jìn)進(jìn)行。由由于大多多數(shù)軟件件企業(yè)的的運(yùn)作還還處于過過程成熟熟度中的的較低級級別,軟軟件工程程師還沒沒有準(zhǔn)備備應(yīng)用凈凈室技術(shù)術(shù)。11.1基本本概念“程序中中出現(xiàn)錯錯誤的唯唯一方式式是作者者將錯誤誤引入進(jìn)進(jìn)去的。。沒有其其他方式式……正確實(shí)踐踐的目標(biāo)標(biāo)是:設(shè)設(shè)法避免免引入錯錯誤,如如果引入入了錯誤誤,通過過測試或或任何其其他運(yùn)行行程序的的方式來來消除錯錯誤?!薄盚arlanMills11.1基本本概念11.2凈室室策略凈室方法法使用增增量過程程模型。。一個“軟軟件增量量的流水水線”由由若干小小的、獨(dú)獨(dú)立的軟軟件團(tuán)隊(duì)隊(duì)開發(fā)。。每當(dāng)一個個軟件增增量通過過認(rèn)證,,它就被被集成到到整體系系統(tǒng)中。。因此,,系統(tǒng)的的功能隨隨時間增增加。一旦將功功能分配配給系統(tǒng)統(tǒng)的軟件件元素,,則可啟啟動凈室室增量的的流水線線。需要完成成的任務(wù)務(wù)如下::(1)增量策劃劃。制定一一個采用用增量策策略的項(xiàng)項(xiàng)目計劃劃,確定定每個增增量的功功能、預(yù)預(yù)計規(guī)模模、及凈凈室開發(fā)發(fā)進(jìn)度。。(2)需求收集集。為每個個增量開開發(fā)更詳詳細(xì)的客客戶級需需求描述述。

11.2凈室室策略(3)盒結(jié)構(gòu)規(guī)規(guī)格說明明。運(yùn)用盒盒結(jié)構(gòu)的的規(guī)格說說明方法法描述功功能規(guī)格格說明。。遵從操操作分析析原則,,盒結(jié)構(gòu)構(gòu)“在每每一個精精化級別別上使行行為、數(shù)數(shù)據(jù)及過過程的創(chuàng)創(chuàng)造性定定義獨(dú)立立”。(4)形式化設(shè)設(shè)計。使用盒盒結(jié)構(gòu)方方法,凈凈室設(shè)計計是規(guī)格格說明的的自然、、無縫擴(kuò)擴(kuò)展。對規(guī)格說說明(稱為黑盒盒)進(jìn)行迭代代求精(在一個增增量內(nèi))類似于體體系結(jié)構(gòu)構(gòu)設(shè)計和和構(gòu)件級級設(shè)計(分別稱為為“狀態(tài)態(tài)盒”和和“清晰晰盒”)。

11.2凈室室策略(5)正確性驗(yàn)驗(yàn)證。凈室團(tuán)團(tuán)隊(duì)對設(shè)設(shè)計及代代碼進(jìn)行行一系列列嚴(yán)格的的正確性性驗(yàn)證活活動。驗(yàn)證從最最高層次次的盒結(jié)結(jié)構(gòu)(規(guī)格說明明)開始,然然后移向向設(shè)計細(xì)細(xì)節(jié)和代代碼。正確性驗(yàn)驗(yàn)證的第第一層次次通過應(yīng)應(yīng)用一組組“正確確性問題題”來進(jìn)進(jìn)行,如如果這些些沒有證證明規(guī)格格說明是是正確的的,則使使用更形形式化的的(數(shù)學(xué)的)驗(yàn)證方法法。11.2凈室室策略(6)代碼生成成、檢查查和驗(yàn)證證。以某種種專門語語言表示示的盒結(jié)結(jié)構(gòu)規(guī)格格說明被被翻譯為為適當(dāng)?shù)牡某绦蛟O(shè)設(shè)計語言言。然后后,使用用標(biāo)準(zhǔn)的的走查或或檢查技技術(shù)來保保證代碼碼和盒結(jié)結(jié)構(gòu)的語語義相符符性,以以及代碼碼的語法法正確性性。最后后,對源源代碼進(jìn)進(jìn)行正確確性驗(yàn)證證。

11.2凈室室策略(7)統(tǒng)計測試試規(guī)劃。分析軟軟件的預(yù)預(yù)計使用用情況,,規(guī)劃并并設(shè)計一一組測試試用例,,以測試試使用情情況的““概率分分布”。

11.2凈室室策略(8)統(tǒng)計使用用測試。對計算機(jī)機(jī)軟件進(jìn)進(jìn)行窮舉舉測試是是不可能能的,因因此,設(shè)設(shè)計有限限數(shù)量的的測試用用例總是是必要的的。統(tǒng)計使用用技術(shù)執(zhí)執(zhí)行由統(tǒng)統(tǒng)計樣本本導(dǎo)出的的一系列列測試,,這里的的統(tǒng)計樣樣本是從從來自目目標(biāo)人群群的所有有用戶對對程序的的所有可可能執(zhí)行行中抽取取的。11.2凈室室策略(9)認(rèn)證。一旦完完成驗(yàn)證證、檢查查和使用用測試(并且所有有錯誤被被改正),則對增增量進(jìn)行行集成前前的認(rèn)證證工作。。11.2凈室室策略凈室方法法的特異異之處明確使用用統(tǒng)計質(zhì)質(zhì)量控制制。使用基于于數(shù)學(xué)的的正確性性證明來來驗(yàn)證設(shè)設(shè)計規(guī)格格說明。。實(shí)現(xiàn)了一一些測試試技術(shù),,這些測測試技術(shù)術(shù)最有可可能揭示示具有嚴(yán)嚴(yán)重影響響的錯誤誤。

凈室軟件件工程和和傳統(tǒng)軟軟件實(shí)踐踐的差別別在于::它不再再強(qiáng)調(diào)(有些人稱稱取消)單元測試試和調(diào)試試的作用用,從而而大量地地減少(或取消)由軟件開開發(fā)者所所承擔(dān)的的測試工工作量。。在凈室軟軟件工程程中,單單元測試試和調(diào)試試被正確確性驗(yàn)證證和基于于統(tǒng)計的的測試所所替代。。凈室方法法的特異異之處11.3功能能規(guī)格說說明不管選擇擇哪種分分析方法法,操作作分析原原理總是是適用的的。對數(shù)數(shù)據(jù)、功功能和行行為建模模,并對對結(jié)果模模型進(jìn)行行分解,提供更進(jìn)進(jìn)一步的的詳細(xì)信信息??傮w目標(biāo)標(biāo)是從捕捕獲問題題實(shí)質(zhì)的的規(guī)格說說明(模型)移向提供供重要實(shí)實(shí)現(xiàn)細(xì)節(jié)節(jié)的規(guī)格格說明。。凈室軟件件工程通通過使用用盒結(jié)構(gòu)規(guī)格說明明的方法法來遵從從操作分分析原則則。一個“盒盒”在某某個細(xì)節(jié)節(jié)層次上上封裝系系統(tǒng)(或系統(tǒng)的的某些方方面)。通過逐步步求精的的過程,,盒被精精化為層層次?!懊總€盒規(guī)規(guī)格說明明的信息息內(nèi)容足足以定義義其精化化,不需需要依賴賴任何其其他盒的的實(shí)現(xiàn)””。這使得分分析員能能夠按層層次劃分分一個系系統(tǒng)——從頂層的的基本表表示到底底層實(shí)現(xiàn)現(xiàn)的特定定細(xì)節(jié)。。11.3功能能規(guī)格說說明有三種類類型的盒盒:黑盒,狀狀態(tài)盒,,清晰盒盒黑盒。黑盒刻刻畫系統(tǒng)統(tǒng)行為或或系統(tǒng)部部件的行行為。通通過運(yùn)用用由觸發(fā)發(fā)映射到到反應(yīng)的的一組轉(zhuǎn)轉(zhuǎn)換規(guī)則則,系統(tǒng)統(tǒng)(或部件)對特定的的觸發(fā)(事件)做出反應(yīng)應(yīng)。狀態(tài)盒。狀態(tài)盒盒以類似似于對象象的方式式封裝狀狀態(tài)數(shù)據(jù)據(jù)和服務(wù)務(wù)(操作)。在這種種規(guī)格說說明視圖圖中,表表示出狀狀態(tài)盒的的輸入(觸發(fā))和輸出(反應(yīng))。清晰盒。在清晰晰盒中定定義狀態(tài)態(tài)盒所蘊(yùn)蘊(yùn)含的轉(zhuǎn)轉(zhuǎn)換功能能,簡單單地說,,清晰盒盒包含了了對狀態(tài)態(tài)盒的過過程設(shè)計計。11.3功能能規(guī)格說說明黑盒規(guī)格格說明黑盒規(guī)格格說明描描述一種種抽象、、觸發(fā)和和反應(yīng)。。函數(shù)f被應(yīng)用到到輸入(觸發(fā))S的序列S*,并將它們們變換為為輸出(反應(yīng))R。對于簡單單的軟件件構(gòu)件,,f可以是一一個數(shù)學(xué)學(xué)函數(shù),,但一般般情況下下,使用用自然語語言(或形式化化規(guī)格說說明語言言)描述f。黑盒規(guī)格格說明為面向?qū)ο笙到y(tǒng)統(tǒng)引入的的很多概概念也適適用于黑黑盒。黑盒封裝裝數(shù)據(jù)抽抽象和操操縱抽象象數(shù)據(jù)的的操作。。和類層次次一樣,,黑盒規(guī)規(guī)約可以以展示使使用層次次,其中中,低層層盒從樹樹結(jié)構(gòu)中中的高層層盒繼承承屬性。。黑盒規(guī)格格說明狀態(tài)盒規(guī)規(guī)格說明明一個狀態(tài)態(tài)是某個個可觀查查到的系系統(tǒng)行為為的模型型。當(dāng)進(jìn)進(jìn)行處理理時,一個系統(tǒng)統(tǒng)對事件件(觸發(fā))作出反應(yīng)應(yīng),從當(dāng)當(dāng)前狀態(tài)態(tài)轉(zhuǎn)換到到某一新新的狀態(tài)態(tài)。當(dāng)進(jìn)行行轉(zhuǎn)換時時,可能能發(fā)生某某個動作作。狀態(tài)盒使使用數(shù)據(jù)據(jù)抽象來來確定到到下一個個狀態(tài)的的轉(zhuǎn)換、、以及狀狀態(tài)轉(zhuǎn)換換后將要要發(fā)生的的動作(反應(yīng))。狀態(tài)盒同同黑盒協(xié)協(xié)作。來來自某外外部源及及一組內(nèi)內(nèi)部系統(tǒng)統(tǒng)狀態(tài)T的觸發(fā)S被輸入到到黑盒中中。包含在狀狀態(tài)盒內(nèi)內(nèi)的黑盒盒的函數(shù)數(shù)g的數(shù)學(xué)描描述:g∶S*×T*→R×T這里g是和特定定狀態(tài)t連接的子子函數(shù)。。當(dāng)整體體地考慮慮時,狀狀態(tài)—子函數(shù)對對(t,g)定義了黑黑盒函數(shù)數(shù)f。狀態(tài)盒規(guī)規(guī)格說明明狀態(tài)盒規(guī)規(guī)格說明明清晰盒規(guī)規(guī)格說明明清晰盒規(guī)規(guī)格說明明是與過過程設(shè)計計及結(jié)構(gòu)構(gòu)化編程程緊密關(guān)關(guān)聯(lián)的。。狀態(tài)盒中中的子函函數(shù)g被實(shí)現(xiàn)g的結(jié)構(gòu)化化編程結(jié)結(jié)構(gòu)所替替代。清晰盒規(guī)規(guī)格說明明11.4凈室室設(shè)計凈室軟件件工程中中使用的的設(shè)計方方法主要要運(yùn)用結(jié)結(jié)構(gòu)化程程序設(shè)計計的原理理。基本的處處理函數(shù)數(shù)(在規(guī)格說說明的早早期求精精中描述述)被精化,,其方法法是“將數(shù)學(xué)函函數(shù)逐步步擴(kuò)展為為邏輯連連接詞(如,if-then-else))和子函數(shù)數(shù)構(gòu)成的的結(jié)構(gòu),,這種擴(kuò)擴(kuò)展一直直進(jìn)行下下去,直直到所有有標(biāo)識出出來的子子函數(shù)可可以用程程序設(shè)計計語言直直接表達(dá)達(dá)”。設(shè)計求精精與驗(yàn)證證每個清晰晰盒規(guī)格格說明代代表了一一個完成成狀態(tài)盒盒轉(zhuǎn)換所所需的過過程(子函數(shù))的設(shè)計。。對清晰盒盒規(guī)格說說明,使使用結(jié)構(gòu)構(gòu)化程序序設(shè)計結(jié)結(jié)構(gòu)和逐逐步求精精。一個程序序函數(shù)f被細(xì)化為為子函數(shù)數(shù)g和h的序列,,這些又又被進(jìn)一一步細(xì)化化為條件件結(jié)構(gòu)(if--then-else和do-while)。進(jìn)一步的的求精給給出了連連續(xù)的邏邏輯細(xì)化化。在每個求求精層次次,凈室室團(tuán)隊(duì)執(zhí)執(zhí)行一次次形式化化正確性性驗(yàn)證。。為此,,將一類類正確性性條件集集合附加加到結(jié)構(gòu)構(gòu)化程序序設(shè)計結(jié)結(jié)構(gòu)上。。如果函數(shù)數(shù)f被擴(kuò)展為為序列g(shù)和h,則f所有輸入入的正確確性條件件是:執(zhí)行g(shù)之后再執(zhí)執(zhí)行h能完成f的功能嗎嗎?如果一個個函數(shù)p被精化為為形為if<c>thenqelser的條件形形式,則則對p的所有輸輸入的正正確性條條件是::只要條件件<c>為真,q能完成p的功能嗎嗎?只要條件件<c>為假,r能完成p的功能嗎嗎?

設(shè)計求精精與驗(yàn)證證如果一個個函數(shù)m被細(xì)化為為循環(huán)donwhile<c>則對m的所有輸輸入的正正確性條條件是::能夠保證證循環(huán)終終止嗎??只要<c>為真,,循環(huán)執(zhí)執(zhí)行n之后能完完成m的功能嗎嗎?只要<c>為假,,退出循循環(huán)仍能能完成m的功能嗎嗎?設(shè)計求精精與驗(yàn)證證每當(dāng)一個個清晰盒盒被精化化為下一一個詳細(xì)細(xì)層次時時,都應(yīng)應(yīng)用上面面給出的的正確性性條件。。值得注意意的是::結(jié)構(gòu)化化程序設(shè)設(shè)計結(jié)構(gòu)構(gòu)的使用用限制了了必須進(jìn)進(jìn)行的正正確性測測試的數(shù)數(shù)量。對順序結(jié)結(jié)構(gòu)只檢檢查單個個條件,,對if-then-else結(jié)構(gòu)只測測試兩個個條件,,對循環(huán)環(huán)則只驗(yàn)驗(yàn)證三個個條件。。設(shè)計求精精與驗(yàn)證證例:過程程設(shè)計的的正確性性驗(yàn)證::設(shè)計并并驗(yàn)證一一個小的的程序,,該程序序?qū)δ辰o給定的整整數(shù)x,找出其平平方根的的整數(shù)部部分y。

yesno設(shè)計求精精與驗(yàn)證證定義入口口和出口口條件。。為了證明明設(shè)計的的正確性性,需要要證明圖圖中表示示的條件件init、loop、cont、yes和exit在所有情情形下都都是正確確的。設(shè)計求精精與驗(yàn)證證1.條件init要求[x≥0andy==0]。基于問題題的需求求,假定定入口條條件是正正確的。。因此,,init條件的第第一部分分x≥0是滿足的的。在流流程圖中中,在init條件前的的語句設(shè)設(shè)置y=0,因此,init條件的第第二部分分也是滿滿足的,,因此,,init為真。2.條件loop可能以兩兩種方式式之一出出現(xiàn):(1)直接從init(此時loop條件被直直接滿足足),或(2)通過穿過過條件cont的控制流流。因?yàn)闉闂l件cont與條件loop相同,因因此,不不管從哪哪條路徑徑到達(dá)它它,條件件loop都為真。。3.條件cont:只有在y值被遞增增1后,才能能遇到條條件cont。另外,只只有在條條件yes也為真時時,才能能調(diào)用到到達(dá)條件件cont的控制流流路徑。。因此,,如果(y+1)2≤x,則y2≤x,條件cont成立。4.條件yes在如圖所所示的條條件邏輯輯中被測測試,因因此,當(dāng)當(dāng)控制流流沿著所所示的路路徑移動動時,條條件yes一定為真真。5.條件exit首先要求求x保持不變變,對設(shè)設(shè)計進(jìn)行行檢查可可發(fā)現(xiàn)x沒有出現(xiàn)現(xiàn)在賦值值操作的的左邊,,沒有使使用x的函數(shù)調(diào)調(diào)用,因因此,x保持不變變。因?yàn)闉闂l件測測試(y+1)2≤x不成立時時,才可可能到達(dá)達(dá)條件exit,因此(y+1)2>x成立。此此外,loop條件還必必須保持持為真(即,y2≤x),因此,(y+1)2>x和y2≤x可以組合合在一起起滿足exit條件。保證循環(huán)環(huán)終止:因?yàn)閥是遞增的的,而x≥0,因此,最最后(y+1)2≤x不成立,,循環(huán)一一定終止止。設(shè)計求精精與驗(yàn)證證設(shè)計驗(yàn)證證的優(yōu)點(diǎn)點(diǎn)對清晰盒盒設(shè)計的的每一步步求精進(jìn)進(jìn)行嚴(yán)格格的正確確性驗(yàn)證證有許多多顯著的的優(yōu)點(diǎn)::(1)將驗(yàn)證簡簡化為一一個有限限的過程程。在清清晰盒中中,以嵌嵌套的、、順序的的方式組組織控制制結(jié)構(gòu),,這就自自然地定定義了一一個層次次,該層層次顯示示了必須須被驗(yàn)證證的正確確性條件件。(2)再怎么強(qiáng)強(qiáng)調(diào)將驗(yàn)驗(yàn)證簡化化為有限限過程對對質(zhì)量產(chǎn)產(chǎn)生的正正面效果果都不過過分。除除了那些些最微不不足道的的程序,,即使所所有程序序都具有有無限數(shù)數(shù)目的可可執(zhí)行路路徑,也也可以在在有限步步驟內(nèi)對對它們進(jìn)進(jìn)行驗(yàn)證證。(3)使得凈室室團(tuán)隊(duì)驗(yàn)驗(yàn)證設(shè)計計和代碼碼的每一一行。在在正確性性定理的的基礎(chǔ)上上,團(tuán)隊(duì)隊(duì)可以通通過小組組分析和和討論來來執(zhí)行驗(yàn)驗(yàn)證,并并且當(dāng)在在生命關(guān)關(guān)鍵或使使命關(guān)鍵鍵的系統(tǒng)統(tǒng)中需要要額外的的信心時時,可以以生成書書面的證證明。(4)達(dá)到幾乎乎零缺陷陷的水平平。在團(tuán)團(tuán)隊(duì)的復(fù)復(fù)審過程程中,每每個控制制結(jié)構(gòu)的的每個正正確性條條件被依依次驗(yàn)證證。每個個團(tuán)隊(duì)成成員必須須就每個個條件都都是正確確的達(dá)成成共識,,這樣只只有團(tuán)隊(duì)隊(duì)的每個個成員均均未能正正確地驗(yàn)驗(yàn)證某條條件時,,才有可可能出現(xiàn)現(xiàn)錯誤。。設(shè)計驗(yàn)證證的優(yōu)點(diǎn)點(diǎn)(5)具有可伸伸縮性。。每個軟軟件系統(tǒng)統(tǒng),不管管有多大大,均具具有頂層層的由順順序、選選擇和循循環(huán)結(jié)構(gòu)構(gòu)構(gòu)成的的清晰盒盒過程。。(6)產(chǎn)生出比比采用單單元測試試更好的的代碼。。單元測測試僅僅僅檢查從從很多可可能的路路徑中選選出的測測試路徑徑的執(zhí)行行效果。?;诤瘮?shù)驗(yàn)證證的理論論,凈室室方法可可以驗(yàn)證證所有數(shù)數(shù)據(jù)的每每個可能能的結(jié)果果,因?yàn)闉殡m然一一個程序序可能有有很多可可執(zhí)行路路徑,但但它只有有一個函函數(shù)。驗(yàn)驗(yàn)證也比比單元測測試更有有效,可可以在幾幾分鐘之之內(nèi)檢查查大多數(shù)數(shù)驗(yàn)證條條件,但但單元測測試要花花費(fèi)大量量時間去去準(zhǔn)備、、執(zhí)行和和檢查。。設(shè)計驗(yàn)證證的優(yōu)點(diǎn)點(diǎn)11.5凈室室測試凈室測試試的策略略在根本本上不同同于傳統(tǒng)統(tǒng)測試方方法。傳傳統(tǒng)測試試方法導(dǎo)導(dǎo)出一組組測試用用例發(fā)現(xiàn)現(xiàn)設(shè)計和和編碼錯錯誤;凈室測試試的目的的是:通通過證明明用例的的統(tǒng)計樣樣本的成成功運(yùn)行行來確認(rèn)認(rèn)軟件需需求。統(tǒng)計使用用測試計算機(jī)程程序的用用戶沒有有必要去去了解設(shè)設(shè)計的技技術(shù)細(xì)節(jié)節(jié)。程序的用用戶可見見的行為為通常是是由用戶戶產(chǎn)生的的輸入和和事件所所驅(qū)動的的。在復(fù)雜系系統(tǒng)中,,輸入和和事件的的可能的的范圍(即用例)是非常廣廣泛的。。什么樣樣的用例例子集能能夠充分分驗(yàn)證程程序的行行為?這這是統(tǒng)計計使用測測試關(guān)注注的第一一個問題題。統(tǒng)計使用用測試““等同于于以用戶戶試圖使使用軟件件的方式式來測試試軟件””。為了完成成測試工工作,凈凈室測試試團(tuán)隊(duì)((也稱為為認(rèn)證團(tuán)團(tuán)隊(duì))必必須確定定軟件的的使用概概率分布布。對軟件的的每個增增量的規(guī)規(guī)格說明明(黑盒)進(jìn)行分析析,并定定義一組組使軟件件改變其其行為的的觸發(fā)(輸入或事事件)。通過與潛潛在用戶戶的交流流、使用用場景的的建立、、及對應(yīng)應(yīng)用領(lǐng)域域的全面面了解,,為每個個觸發(fā)分分配一個個使用概概率。按照使用用概率分分布為每每個觸發(fā)發(fā)集合生生成測試試用例。。統(tǒng)計使用用測試?yán)诩壹彝ケ0舶蚕到y(tǒng)中中,使用用凈室軟軟件工程程方法開開發(fā)一個個軟件增增量來管管理用戶戶與安全全系統(tǒng)鍵鍵區(qū)之間間的交互互。對這這個增量量,已經(jīng)經(jīng)標(biāo)識出出5個觸發(fā)。。通過分分析,給給出每個個觸發(fā)的的概率分分布百分分?jǐn)?shù)。為為了更容容易地選選擇測試試用例,,這些概概率被映映射到1至99的數(shù)字區(qū)區(qū)間。統(tǒng)計使用用測試為了生成成符合使使用概率率分布的的使用測測試用例例序列,,生成1至99之間的隨隨機(jī)數(shù)。。每個隨隨機(jī)數(shù)與與前面概概率分布布的一個個區(qū)間相相對應(yīng)。。因此,,使用測測試用例例序列可可以隨機(jī)機(jī)定義,,但又與與觸發(fā)發(fā)發(fā)生的適適當(dāng)概率率相對應(yīng)應(yīng)。例

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論