幾種常見軟件可靠性測(cè)試方法綜述及應(yīng)用對(duì)比(精)_第1頁
幾種常見軟件可靠性測(cè)試方法綜述及應(yīng)用對(duì)比(精)_第2頁
幾種常見軟件可靠性測(cè)試方法綜述及應(yīng)用對(duì)比(精)_第3頁
幾種常見軟件可靠性測(cè)試方法綜述及應(yīng)用對(duì)比(精)_第4頁
幾種常見軟件可靠性測(cè)試方法綜述及應(yīng)用對(duì)比(精)_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、幾種常見軟件可靠性測(cè)試方法綜述及應(yīng)用比照上海交通大學(xué)陳曉芳摘要軟件可靠性測(cè)試是軟件可靠性工程的一項(xiàng)重要工作內(nèi)容,是滿足軟件可靠性要求、評(píng)價(jià)軟件可靠性水平及驗(yàn)證軟件產(chǎn)品是否到達(dá)可靠性要求的重要途徑。本文探討、研究了軟件可靠性測(cè)試的根本概念,分析、比照了幾種軟件可靠性測(cè)試主要方法的優(yōu)缺點(diǎn)。關(guān)鍵詞軟件可靠性軟件可靠性測(cè)試軟件測(cè)試方法引言軟件可靠性工程是指為了滿足軟件的可靠性要求而進(jìn)行的一系列設(shè)計(jì)、分析、測(cè)試等工作。其中確定軟件可靠性要求是軟件可靠性工程中要解決的首要問題,軟件可靠性測(cè)試是在軟件生存周期的系統(tǒng)測(cè)試階段提高軟件可靠性水平的有效途徑。各種測(cè)試方法、測(cè)試技術(shù)都能發(fā)現(xiàn)導(dǎo)致軟件失效的軟件中殘存的

2、缺陷,排除這些缺陷后,一般來講一定會(huì)實(shí)現(xiàn)軟件可靠性的增長,但是排除這些缺陷對(duì)可靠性的提高的作用卻是不一樣的。其中,軟件可靠性測(cè)試能最有效地發(fā)現(xiàn)對(duì)可靠性影響大的缺陷,因此可以有效地提高軟件的可靠性水平。軟件可靠性測(cè)試也是評(píng)估軟件可靠性水平,驗(yàn)證軟件產(chǎn)品是否到達(dá)軟件可靠性要求的重要且有效的途徑。一、軟件可靠性測(cè)試概念“測(cè)試一般是指“為了發(fā)現(xiàn)程序中的錯(cuò)誤而執(zhí)行程序的過程。但是在不同的開發(fā)階段、對(duì)于不同的人員,測(cè)試的意義、目的及其采用的方法是有差異的。在軟件開發(fā)的測(cè)試階段,測(cè)試的主要目的是開發(fā)人員通過運(yùn)行程序來發(fā)現(xiàn)程序中存在的缺陷、錯(cuò)誤。而在產(chǎn)品交付、驗(yàn)收階段,測(cè)試主要用來驗(yàn)證軟件產(chǎn)品是否到達(dá)用戶的要

3、求?;蛘哒f,對(duì)于開發(fā)人員,測(cè)試是發(fā)現(xiàn)缺陷的一種途徑、手段,而對(duì)于用戶,測(cè)試那么是驗(yàn)收產(chǎn)品的一種手段。二、軟件測(cè)試方法軟件測(cè)試方法有以下幾個(gè)主要概念:白盒測(cè)試、黑盒測(cè)試、灰盒測(cè)試。白盒測(cè)試(W h ite-box testing或glass-box testing是通過程序的源代碼進(jìn)行測(cè)試而不使用用戶界面。這種類型的測(cè)試需要從代碼句法發(fā)現(xiàn)內(nèi)部代碼在算法,溢出,路徑,條件等等中的缺點(diǎn)或者錯(cuò)誤,進(jìn)而加以修正。黑盒測(cè)試(B lack-box testing是通過使用整個(gè)軟件或某種軟件功能來嚴(yán)格地測(cè)試,而并沒有通過檢查程序的源代碼或者很清楚地了解該軟件或某種軟件功能的源代碼程序具體是怎樣設(shè)計(jì)的。測(cè)試人員

4、通過輸入他們的數(shù)據(jù)然后看輸出的結(jié)果從而了解軟件怎樣工作。通常測(cè)試人員在進(jìn)行測(cè)試時(shí)不僅使用肯定出正確結(jié)果的輸入數(shù)據(jù),而且還會(huì)使用有挑戰(zhàn)性的輸入數(shù)據(jù)以及可能結(jié)果會(huì)出錯(cuò)的輸入數(shù)據(jù)以便了解軟件怎樣處理各種類型的數(shù)據(jù)?;液袦y(cè)試(Gray-box testing就像黑盒測(cè)試一樣是通過用戶界面測(cè)試,但是測(cè)試人員已經(jīng)有所了解該軟件或某種軟件功能的源代碼程序具體是怎樣設(shè)計(jì)的,甚至于還讀過局部源代碼,因此測(cè)試人員可以有的放矢地進(jìn)行某種確定的條件或功能的測(cè)試。這樣做的意義在于:如果你知道產(chǎn)品內(nèi)部的設(shè)計(jì)和透過用戶界面對(duì)產(chǎn)品有深入了解,你就能夠更有效和深入地從用戶界面來測(cè)試它的各項(xiàng)性能。1、白盒測(cè)試白盒測(cè)試又稱結(jié)構(gòu)測(cè)試

5、,透明盒測(cè)試、邏輯驅(qū)動(dòng)測(cè)試或基于代碼的測(cè)試。白盒測(cè)試是一種測(cè)試用例設(shè)計(jì)方法,盒子指的是被測(cè)試的軟件,白盒指的是盒子是可視的,你清楚盒子內(nèi)部的東西以及里面是如何運(yùn)作的。白盒的測(cè)試用例需要做到:(1保證一個(gè)模塊中的所有獨(dú)立路徑至少被使用一次;(2對(duì)所有邏輯值均需測(cè)試true和false;(3在上下邊界及可操作范圍內(nèi)運(yùn)行所有循環(huán);(4檢查內(nèi)部數(shù)據(jù)結(jié)構(gòu)以確保其有效性。白盒測(cè)試的目的:通過檢查軟件內(nèi)部的邏輯結(jié)構(gòu),對(duì)軟件中的邏輯路徑進(jìn)行覆蓋測(cè)試;在程序不同地方設(shè)立檢查點(diǎn),檢查程序的狀態(tài),以確定實(shí)際運(yùn)行狀態(tài)與預(yù)期狀態(tài)是否一致。白盒測(cè)試的特點(diǎn):依據(jù)軟件設(shè)計(jì)說明書進(jìn)行測(cè)試、對(duì)程序內(nèi)部細(xì)節(jié)的嚴(yán)密檢驗(yàn)、針對(duì)特定條件

6、設(shè)計(jì)測(cè)試用例、對(duì)軟件的邏輯路徑進(jìn)行覆蓋測(cè)試。白盒測(cè)試的實(shí)施步驟:(1測(cè)試方案階段:根據(jù)需求說明書,制定測(cè)試進(jìn)度。(2測(cè)試設(shè)計(jì)階段:依據(jù)程序設(shè)計(jì)說明書,按照一定標(biāo)準(zhǔn)化的方法進(jìn)行軟件結(jié)構(gòu)劃分和設(shè)計(jì)測(cè)試用例。(3測(cè)試執(zhí)行階段:輸入測(cè)試用例,得到測(cè)試結(jié)果。(4測(cè)試總結(jié)階段:比照測(cè)試的結(jié)果和代碼的預(yù)期結(jié)果,分析錯(cuò)誤原因,找到并解決錯(cuò)誤。白盒測(cè)試的方法:總體上分為靜態(tài)方法和動(dòng)態(tài)方法兩大類。靜態(tài)分析是一種不通過執(zhí)行程序而進(jìn)行測(cè)試的技術(shù)。靜態(tài)分析的關(guān)鍵功能是檢查軟件的表示和描述是否一致,沒有沖突或者沒有歧義。動(dòng)態(tài)分析的主要特點(diǎn)是當(dāng)軟件系統(tǒng)在模擬的或真實(shí)的環(huán)境中執(zhí)行之前、之中和之后,對(duì)軟件系統(tǒng)行為的分析。動(dòng)態(tài)分

7、析包含了程序在受控的環(huán)境下使用特定的期望結(jié)果進(jìn)行正式的運(yùn)行。它顯示了一個(gè)系統(tǒng)在檢查狀態(tài)下是正確還是不正確。在動(dòng)態(tài)分析技術(shù)中,最重要的技術(shù)是路徑和分支測(cè)試。小結(jié):白盒測(cè)試是一種被廣泛使用的邏輯測(cè)試方法,是由程序內(nèi)部邏輯驅(qū)動(dòng)的一種單元測(cè)試方法。只有對(duì)程序內(nèi)部十分了解才能進(jìn)行適度有效的白盒測(cè)試。但是貫穿在程序內(nèi)部的邏輯存在著不確定性和無窮性,尤其對(duì)于大規(guī)模復(fù)雜軟件。因此我們不能窮舉所有的邏輯路徑,即使窮舉也未必會(huì)帶來好運(yùn)(窮舉不能查出程序邏輯規(guī)那么錯(cuò)誤,不能查出數(shù)據(jù)相關(guān)錯(cuò)誤,不能查出程序遺漏的路徑。要正確使用白盒測(cè)試,就要先從代碼分析入手,根據(jù)不同的代碼邏輯規(guī)那么、語句執(zhí)行情況,選用適合的覆蓋方法。

8、任何一個(gè)高效的測(cè)試用例,都是針對(duì)具體測(cè)試場(chǎng)景的。邏輯測(cè)試不是片面的測(cè)試正確的結(jié)果或是測(cè)試錯(cuò)誤的結(jié)果,而是盡可能全面地覆蓋每一個(gè)邏輯路徑。2、黑盒測(cè)試黑盒測(cè)試(B lack-box T esting,又稱為功能測(cè)試或數(shù)據(jù)驅(qū)6動(dòng)測(cè)試是把測(cè)試對(duì)象看作一個(gè)黑盒子。利用黑盒測(cè)試法進(jìn)行動(dòng)態(tài)測(cè)試時(shí),需要測(cè)試軟件產(chǎn)品的功能,不需測(cè)試軟件產(chǎn)品的內(nèi)部結(jié)構(gòu)和處理過程。采用黑盒技術(shù)設(shè)計(jì)測(cè)試用例的方法有:等價(jià)類劃分、邊界值分析、錯(cuò)誤推測(cè)、因果圖和綜合策略。黑盒測(cè)試的目的是發(fā)現(xiàn)以下類型的錯(cuò)誤:(1功能錯(cuò)誤或遺漏;(2界面錯(cuò)誤;(3數(shù)據(jù)結(jié)構(gòu)或外部數(shù)據(jù)庫訪問錯(cuò)誤;(4性能錯(cuò)誤;(5初始化和終止錯(cuò)誤。黑盒測(cè)試的實(shí)施步驟:(1測(cè)

9、試方案,根據(jù)用戶需求報(bào)告中關(guān)于功能要求和性能指標(biāo)的規(guī)格說明書,定義相應(yīng)的測(cè)試需求報(bào)告,即制訂黑盒測(cè)試的最高標(biāo)準(zhǔn),以后所有的測(cè)試工作都將圍繞著測(cè)試需求來進(jìn)行,符合測(cè)試需求的應(yīng)用程序即是合格的,反之即是不合格的;同時(shí),還要適中選擇測(cè)試內(nèi)容,合理安排測(cè)試人員、測(cè)試時(shí)間及測(cè)試資源等。(2測(cè)試設(shè)計(jì),將測(cè)試方案階段制訂的測(cè)試需求分解、細(xì)化為假設(shè)干個(gè)可執(zhí)行的測(cè)試過程,并為每個(gè)測(cè)試過程選擇適當(dāng)?shù)臏y(cè)試用例(測(cè)試用例選擇的好壞將直接影響到測(cè)試結(jié)果的有效性。(3測(cè)試開發(fā),建立可重復(fù)使用的自動(dòng)測(cè)試過程。(4測(cè)試執(zhí)行,執(zhí)行測(cè)試開發(fā)階段建立的自動(dòng)測(cè)試過程,并對(duì)所發(fā)現(xiàn)的缺陷進(jìn)行跟蹤管理。測(cè)試執(zhí)行一般由單元測(cè)試、組合測(cè)試、集

10、成測(cè)試、系統(tǒng)聯(lián)調(diào)及回歸測(cè)試等步驟組成,測(cè)試人員應(yīng)本著科學(xué)負(fù)責(zé)的態(tài)度,一步一個(gè)腳印地進(jìn)行測(cè)試。(5測(cè)試評(píng)估,結(jié)合量化的測(cè)試覆蓋域及缺陷跟蹤報(bào)告,對(duì)于應(yīng)用軟件的質(zhì)量和開發(fā)團(tuán)隊(duì)的工作進(jìn)度及工作效率進(jìn)行綜合評(píng)價(jià)。小結(jié):黑盒測(cè)試注重于測(cè)試軟件的功能性需求,也即黑盒測(cè)試使軟件工程師派生出執(zhí)行程序所有功能需求的輸入條件。黑盒測(cè)試并不是白盒測(cè)試的替代品,而是用于輔助白盒測(cè)試發(fā)現(xiàn)其他類型的錯(cuò)誤。3、灰盒測(cè)試灰盒測(cè)試是基于程序運(yùn)行時(shí)刻的外部表現(xiàn)同時(shí)又結(jié)合程序內(nèi)部邏輯結(jié)構(gòu)來設(shè)計(jì)用例,執(zhí)行程序并采集程序路徑執(zhí)行信息和外部用戶接口結(jié)果的測(cè)試技術(shù)?;液袦y(cè)試法的目的是驗(yàn)證軟件滿足外部指標(biāo)要求以及軟件的所有通道都進(jìn)行了檢驗(yàn)。

11、通過該程序的所有路徑都進(jìn)行了檢驗(yàn)和驗(yàn)證后,就得到了全面的驗(yàn)證。完成功能和結(jié)構(gòu)驗(yàn)證后,就可隨機(jī)地一次變化一行來驗(yàn)證軟件測(cè)試用例在軟件遇到違背原先驗(yàn)證的不利變化時(shí)軟件的可靠性?;液袦y(cè)試需要的條件:(1需要在測(cè)試中,除了部署產(chǎn)品之外,還有就是程序源代碼,不管外部是多少漂亮界面或易用的功能,最終都是由源代碼來實(shí)現(xiàn)的。所以在部署時(shí),要安裝源代碼。從源代碼編譯生成的目錄中運(yùn)行軟件。(2需要代碼覆蓋率工具的配置;部署可以針對(duì)本軟件開發(fā)語言的代碼覆蓋率工具;(3測(cè)試人員要具備閱讀代碼的能力,其對(duì)開發(fā)語言的熟悉程度和程序設(shè)計(jì)經(jīng)驗(yàn)多少?zèng)Q定了采用灰盒測(cè)試能夠取得多大的好處,所以配置這方面的測(cè)試人員或進(jìn)行必要的培訓(xùn)是

12、必要的。三、白盒、黑盒、灰盒測(cè)試方法的優(yōu)缺點(diǎn)比較測(cè)試方法優(yōu)點(diǎn)缺點(diǎn)白盒測(cè)試1、迫使測(cè)試人員去仔細(xì)思考軟件的實(shí)現(xiàn)2、可以檢測(cè)代碼中的每條分支和路徑3、揭示隱藏在代碼中的錯(cuò)誤4、對(duì)代碼的測(cè)試比較徹底5、最優(yōu)化1、昂貴2、無法檢測(cè)代碼中遺漏的路徑和數(shù)據(jù)敏感性錯(cuò)誤3、不驗(yàn)證規(guī)格的正確性黑盒測(cè)試1、根本上不用人管著,如果程序停止運(yùn)行了一般就是被測(cè)試程序crash了2、設(shè)計(jì)完測(cè)試?yán)?下來的工作就是爽了,當(dāng)然更苦悶的是確定crash原因1、結(jié)果取決于測(cè)試?yán)脑O(shè)計(jì),測(cè)試?yán)脑O(shè)計(jì)局部來勢(shì)來源于經(jīng)驗(yàn),OU SPG的東西很值得借鑒2、沒有狀態(tài)轉(zhuǎn)換的概念,目前一些成功的例子根本上都是針對(duì)PDU來做的,還做不到針對(duì)被

13、測(cè)試程序的狀態(tài)轉(zhuǎn)換來做3、就沒有狀態(tài)概念的測(cè)試來說,尋找和確定造成程序crash的測(cè)試?yán)莻€(gè)麻煩事情,必須把周圍可能的測(cè)試?yán)龁为?dú)確認(rèn)一遍。而就有狀態(tài)的測(cè)試來說,就更麻煩了,尤其不是一個(gè)單獨(dú)的test case造成的問題。這些在堆的問題中表現(xiàn)的更為突出灰盒測(cè)試1、能夠進(jìn)行基于需求的覆蓋測(cè)試和基于程序路徑覆蓋的測(cè)試2、測(cè)試結(jié)果可以對(duì)應(yīng)到程序內(nèi)部路徑,便于bug的定位、分析和解決3、能夠保證設(shè)計(jì)的黑盒測(cè)試用例的完整性,防止遺漏軟件的一些不常用的功能或功能組合4、能夠需求或設(shè)計(jì)不詳細(xì)或不完整對(duì)測(cè)試造成的影響1、投入的時(shí)間比黑盒測(cè)試大概多20-40%的時(shí)間2、對(duì)測(cè)試人員的技術(shù)要求更高四、總結(jié)軟件可靠性是軟件質(zhì)量評(píng)估的最重要指標(biāo)之一,本文闡述了軟件可靠性測(cè)試的根本概念和

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論