![第5章軟件檢驗(yàn)_第1頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-11/3/9c390a62-0189-4daf-9d0c-738be5591c12/9c390a62-0189-4daf-9d0c-738be5591c121.gif)
![第5章軟件檢驗(yàn)_第2頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-11/3/9c390a62-0189-4daf-9d0c-738be5591c12/9c390a62-0189-4daf-9d0c-738be5591c122.gif)
![第5章軟件檢驗(yàn)_第3頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-11/3/9c390a62-0189-4daf-9d0c-738be5591c12/9c390a62-0189-4daf-9d0c-738be5591c123.gif)
![第5章軟件檢驗(yàn)_第4頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-11/3/9c390a62-0189-4daf-9d0c-738be5591c12/9c390a62-0189-4daf-9d0c-738be5591c124.gif)
![第5章軟件檢驗(yàn)_第5頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-11/3/9c390a62-0189-4daf-9d0c-738be5591c12/9c390a62-0189-4daf-9d0c-738be5591c125.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第第5 5章章 軟件檢驗(yàn)軟件檢驗(yàn)5.1 動(dòng)態(tài)檢驗(yàn)動(dòng)態(tài)檢驗(yàn)5.2 靜態(tài)檢驗(yàn)靜態(tài)檢驗(yàn)5.3 正確性證明正確性證明5.4 測(cè)試步驟測(cè)試步驟 第5章 軟件檢驗(yàn)返回主目錄返回主目錄第第5 5章章 軟件檢驗(yàn)軟件檢驗(yàn)第5章 軟 件 檢 驗(yàn)5.1 動(dòng)動(dòng) 態(tài)態(tài) 檢檢 驗(yàn)驗(yàn) 動(dòng)態(tài)檢驗(yàn)就是指?jìng)鹘y(tǒng)的測(cè)試,這種方法是使程序有控制地運(yùn)行,并從不同角度觀察程序運(yùn)行的行為,以發(fā)現(xiàn)其中的錯(cuò)誤。測(cè)試的關(guān)鍵是如何設(shè)計(jì)測(cè)試用例。測(cè)試方法不同,所使用的測(cè)試用例也不同。常用的測(cè)試方法有黑盒法和白盒法。黑盒法是指測(cè)試人員將程序看成一個(gè)“黑盒”,也就是說(shuō),他不關(guān)心程序內(nèi)部是怎樣做的,而只想檢查程序是否符合它的“功能說(shuō)明”。所以黑盒法測(cè)試時(shí),
2、測(cè)試用例都是完全根據(jù)程序的功能說(shuō)明來(lái)設(shè)計(jì)的。如果想用黑盒法發(fā)現(xiàn)程序中的所有錯(cuò)誤,則必須用輸入數(shù)據(jù)的所有可能值來(lái)檢查程序是否都能產(chǎn)生正確的結(jié)果。 第第5 5章章 軟件檢驗(yàn)軟件檢驗(yàn)圖5.1 程序的輸入變量與輸出變量模塊xzxy第第5 5章章 軟件檢驗(yàn)軟件檢驗(yàn) 白盒法是指測(cè)試人員必須了解程序的內(nèi)部結(jié)構(gòu),此時(shí),測(cè)試用例是根據(jù)程序的內(nèi)部邏輯結(jié)構(gòu)來(lái)設(shè)計(jì)的。如果想用白盒法發(fā)現(xiàn)程序中的所有錯(cuò)誤,則至少必須使程序中每種可能的執(zhí)行路徑都執(zhí)行一次。 例如,圖5.1是一個(gè)很簡(jiǎn)單的程序,它有兩個(gè)輸入變量x、y,一個(gè)輸出變量z。假定程序是在字長(zhǎng)為32位的計(jì)算機(jī)上運(yùn)行,且x、y都是整數(shù),則輸入數(shù)據(jù)的可能值有23223226
3、4種。 如果這個(gè)程序執(zhí)行一次需0.5 ms,則執(zhí)行264次運(yùn)算將需2.9億年! 圖5.2是一個(gè)小程序控制流程圖。這個(gè)程序由一個(gè)循環(huán)語(yǔ)句組成,循環(huán)次數(shù)達(dá)20 次,循環(huán)體內(nèi)是一組嵌套的if語(yǔ)句,其可能的路徑有多條,所以從a到b的路徑多達(dá)520條。 第第5 5章章 軟件檢驗(yàn)軟件檢驗(yàn)ab圖5.2 程序控制流程圖 第第5 5章章 軟件檢驗(yàn)軟件檢驗(yàn) 如果用這么多情況測(cè)試它,并假設(shè)執(zhí)行一條路徑需0.5 ms,則完成測(cè)試需1512年! 這兩種測(cè)試方法在設(shè)計(jì)測(cè)試用例上是不可取的,也是不可行的。為此,設(shè)計(jì)人員提出了以下幾種設(shè)計(jì)測(cè)試用例的方法:隨機(jī)抽取測(cè)試用例、抽取典型測(cè)試用例、抽取邊界測(cè)試用例、抽取混合測(cè)試用例。
4、這些設(shè)計(jì)測(cè)試用例的方法各有特點(diǎn),至于使用哪種,可根據(jù)測(cè)試對(duì)象的不同分別選用一種,或聯(lián)合使用。第第5 5章章 軟件檢驗(yàn)軟件檢驗(yàn)5.2 靜靜 態(tài)態(tài) 檢檢 驗(yàn)驗(yàn) 靜態(tài)檢驗(yàn)是指用人工閱讀文檔和程序,從中發(fā)現(xiàn)錯(cuò)誤,或用一些輔助工具來(lái)完成這種工作,這種技術(shù)也稱為評(píng)審。實(shí)踐證明它是一種很有效的技術(shù)。 評(píng)審的種類很多,包括需求復(fù)查、概要設(shè)計(jì)(總體設(shè)計(jì))復(fù)查、詳細(xì)設(shè)計(jì)復(fù)查、程序復(fù)查和走查等,其正規(guī)化的程度、方式和參加的人員有所不同。本節(jié)就此概括討論評(píng)審過(guò)程和評(píng)審條款等問(wèn)題。 1評(píng)審過(guò)程評(píng)審過(guò)程 為了盡早發(fā)現(xiàn)并糾正錯(cuò)誤,應(yīng)將評(píng)審工作與開(kāi)發(fā)過(guò)程結(jié)合起來(lái),使評(píng)審成為前一階段之后必須進(jìn)行的步驟,這樣的模式可用圖5.3來(lái)
5、說(shuō)明。 第第5 5章章 軟件檢驗(yàn)軟件檢驗(yàn)圖5.3 評(píng)審模式系統(tǒng)需求需求復(fù)查需求說(shuō)明書(shū)分析設(shè)計(jì)設(shè)計(jì)復(fù)查設(shè)計(jì)文檔編程程序程序復(fù)查測(cè)試第第5 5章章 軟件檢驗(yàn)軟件檢驗(yàn) 由于評(píng)審的目的是發(fā)現(xiàn)錯(cuò)誤,為了獲得較好的效果,評(píng)審應(yīng)由開(kāi)發(fā)人員之外的人來(lái)主持,開(kāi)發(fā)人員與評(píng)審人員相互獨(dú)立是保證評(píng)審質(zhì)量的重要措施之一。評(píng)審人員應(yīng)在軟件開(kāi)發(fā)技術(shù)和檢驗(yàn)技術(shù)方面受過(guò)良好的訓(xùn)練,有豐富的軟件開(kāi)發(fā)經(jīng)驗(yàn)。 程序走查(code walkthrough)是另一種有效的評(píng)審活動(dòng)。走查的關(guān)鍵在于:以人工運(yùn)行作為媒介,通過(guò)這種方式啟發(fā)與會(huì)者向程序員提出種種問(wèn)題,從而發(fā)現(xiàn)程序中的錯(cuò)誤。 2.評(píng)審條款評(píng)審條款 評(píng)審的目的是盡量快、盡量多地發(fā)現(xiàn)
6、錯(cuò)誤,所以一般的做法是將軟件中常見(jiàn)的各類錯(cuò)誤列成清單作為評(píng)審條款。評(píng)審過(guò)程中按評(píng)審條款有針對(duì)性地進(jìn)行檢查,就可達(dá)到多、快、好、省的目的。 評(píng)審條款隨系統(tǒng)的不同可有所不同,可根據(jù)軟件系統(tǒng)的性質(zhì)和復(fù)查專家的經(jīng)驗(yàn)來(lái)設(shè)定。第第5 5章章 軟件檢驗(yàn)軟件檢驗(yàn) 5.3 正正確確性性證證明明 動(dòng)態(tài)檢驗(yàn)和靜態(tài)檢驗(yàn)的基本問(wèn)題在于不可能說(shuō)明軟件中不存在錯(cuò)誤,人們所能做到的最好的結(jié)果是發(fā)現(xiàn)錯(cuò)誤,因此自然希望能找到某種方法能確切地證明程序是沒(méi)有錯(cuò)誤的,這就出現(xiàn)了程序正確性證明的研究領(lǐng)域。 程序證明最常用的方法是歸納斷言法,它對(duì)程序提出一組命題,如能用數(shù)學(xué)方法證明這些命題成立,就可以保證程序中不存在錯(cuò)誤,即它對(duì)所有的輸入
7、都會(huì)產(chǎn)生預(yù)期的正確輸出。但是程序證明存在兩個(gè)問(wèn)題:其一是如何設(shè)置命題和證明命題,其二是在證明中如何定義“錯(cuò)誤”。 總之,程序正確性證明是一個(gè)鼓舞人心的想法,但距離實(shí)用還有一段路要科學(xué)技術(shù)人員去走。第第5 5章章 軟件檢驗(yàn)軟件檢驗(yàn)5.4 測(cè)測(cè) 試試 步步 驟驟 軟件開(kāi)發(fā)過(guò)程經(jīng)歷了分析、設(shè)計(jì)、編程等階段,每個(gè)階段都可能產(chǎn)生各種各樣的錯(cuò)誤。據(jù)統(tǒng)計(jì),開(kāi)發(fā)早期犯下的錯(cuò)誤(如誤解了用戶的要求、模塊界面之間有沖突等)比編程階段犯的錯(cuò)誤要多。為了發(fā)現(xiàn)各階段產(chǎn)生的錯(cuò)誤,測(cè)試過(guò)程應(yīng)該與分析、設(shè)計(jì)、編程的過(guò)程具有類似的結(jié)構(gòu),以便針對(duì)每一階段可能產(chǎn)生的錯(cuò)誤,采用某些特殊的測(cè)試技術(shù),所以測(cè)試過(guò)程通??梢苑秩竭M(jìn)行: (
8、1) 模塊測(cè)試(module testing); (2) 聯(lián)合測(cè)試(integration testing); (3) 系統(tǒng)測(cè)試(system testing)。第第5 5章章 軟件檢驗(yàn)軟件檢驗(yàn) 模塊測(cè)試是對(duì)一個(gè)模塊進(jìn)行測(cè)試,其目的是根據(jù)該模塊的功能說(shuō)明檢驗(yàn)?zāi)K是否存在錯(cuò)誤。模塊測(cè)試主要可發(fā)現(xiàn)詳細(xì)設(shè)計(jì)和編程時(shí)犯下的錯(cuò)誤,如某個(gè)變量未賦值、數(shù)組的上下界不正確等。 程序員在完成某個(gè)模塊的編程之后,一般總是要先對(duì)該模塊進(jìn)行私下的測(cè)試,此時(shí),可以先用白盒法選擇一些例子檢驗(yàn)程序的內(nèi)部邏輯,再用黑盒法補(bǔ)充一些例子。程序員本人經(jīng)私下測(cè)試后認(rèn)為程序基本可行,才會(huì)將程序交付出來(lái)。程序交付出來(lái)之后,由其他人員以黑
9、盒法為主再次對(duì)該模塊進(jìn)行測(cè)試。 聯(lián)合測(cè)試又稱集成測(cè)試或聯(lián)調(diào),其目的是根據(jù)模塊結(jié)構(gòu)圖將各個(gè)模塊連接起來(lái)進(jìn)行,以便發(fā)現(xiàn)問(wèn)題。聯(lián)合測(cè)試可以發(fā)現(xiàn)概要設(shè)計(jì)時(shí)犯的錯(cuò)誤,如模塊界面上的問(wèn)題等。與后面的系統(tǒng)測(cè)試一樣,聯(lián)合測(cè)試的主要目標(biāo)已不是發(fā)現(xiàn)模塊內(nèi)部的錯(cuò)誤,所以通常只采用黑盒法。第第5 5章章 軟件檢驗(yàn)軟件檢驗(yàn)圖5.4 軟件開(kāi)發(fā)過(guò)程分析綜合測(cè)試設(shè)計(jì)聯(lián)合測(cè)試編程模塊測(cè)試第第5 5章章 軟件檢驗(yàn)軟件檢驗(yàn) 系統(tǒng)測(cè)試將硬件、軟件和操作人員等視為一個(gè)整體,檢驗(yàn)它是否有不符合需求說(shuō)明書(shū)的地方,這一步可以發(fā)現(xiàn)設(shè)計(jì)和分析階段的錯(cuò)誤,如誤解了用戶的要求,與用戶要求有沖突等。系統(tǒng)測(cè)試后就可由用戶來(lái)驗(yàn)收。 測(cè)試中如發(fā)現(xiàn)錯(cuò)誤,需要回到編程、設(shè)計(jì)、分析等階段作相應(yīng)的修改,也就是說(shuō),需要進(jìn)行“再編程”、“再設(shè)計(jì)”和“再分
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年前列腺射頻治療儀系統(tǒng)行業(yè)深度研究分析報(bào)告
- 2025年船用裝飾材料項(xiàng)目投資可行性研究分析報(bào)告-20241226-205913
- 以租代買房合同范本
- 個(gè)人銷售欠款合同范本
- 關(guān)于公司承包合同范本
- 2025年度道路劃線施工與交通信號(hào)優(yōu)化合同范本
- 一汽解放車銷售合同范本
- 代理電商合同范本
- 代建房合同范本
- 《如何做一名好教師》課件
- 2016-2023年婁底職業(yè)技術(shù)學(xué)院高職單招(英語(yǔ)/數(shù)學(xué)/語(yǔ)文)筆試歷年參考題庫(kù)含答案解析
- 貴陽(yáng)市2024年高三年級(jí)適應(yīng)性考試(一)一模英語(yǔ)試卷(含答案)
- 地理標(biāo)志專題通用課件
- 魚(yú)類和淡水生態(tài)系統(tǒng)
- 全國(guó)大學(xué)高考百科匯編之《哈爾濱工業(yè)大學(xué)》簡(jiǎn)介
- 學(xué)校安全教育教你如何遠(yuǎn)離危險(xiǎn)
- 【人教版】九年級(jí)化學(xué)上冊(cè)全冊(cè)單元測(cè)試卷【1-7單元合集】
- 中國(guó)傳統(tǒng)文化課件6八卦五行
- 《胃癌課件:病理和分子機(jī)制解析》
- 口腔科導(dǎo)診分診技巧(PPT課件)
評(píng)論
0/150
提交評(píng)論