




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、幾種常見軟件可靠性測試方法綜述及應(yīng)用比照上海交通大學(xué)陳曉芳摘要軟件可靠性測試是軟件可靠性工程的一項(xiàng)重要工作內(nèi)容,是滿足軟件可靠性要求、評價軟件可靠性水平及驗(yàn)證軟件產(chǎn)品是否到達(dá)可靠性要求的重要途徑。本文探討、研究了軟件可靠性測試的根本概念,分析、比照了幾種軟件可靠性測試主要方法的優(yōu)缺點(diǎn)。關(guān)鍵詞軟件可靠性軟件可靠性測試軟件測試方法引言軟件可靠性工程是指為了滿足軟件的可靠性要求而進(jìn)行的一系列設(shè)計、分析、測試等工作。其中確定軟件可靠性要求是軟件可靠性工程中要解決的首要問題,軟件可靠性測試是在軟件生存周期的系統(tǒng)測試階段提高軟件可靠性水平的有效途徑。各種測試方法、測試技術(shù)都能發(fā)現(xiàn)導(dǎo)致軟件失效的軟件中殘存的
2、缺陷,排除這些缺陷后,一般來講一定會實(shí)現(xiàn)軟件可靠性的增長,但是排除這些缺陷對可靠性的提高的作用卻是不一樣的。其中,軟件可靠性測試能最有效地發(fā)現(xiàn)對可靠性影響大的缺陷,因此可以有效地提高軟件的可靠性水平。軟件可靠性測試也是評估軟件可靠性水平,驗(yàn)證軟件產(chǎn)品是否到達(dá)軟件可靠性要求的重要且有效的途徑。一、軟件可靠性測試概念“測試一般是指“為了發(fā)現(xiàn)程序中的錯誤而執(zhí)行程序的過程。但是在不同的開發(fā)階段、對于不同的人員,測試的意義、目的及其采用的方法是有差異的。在軟件開發(fā)的測試階段,測試的主要目的是開發(fā)人員通過運(yùn)行程序來發(fā)現(xiàn)程序中存在的缺陷、錯誤。而在產(chǎn)品交付、驗(yàn)收階段,測試主要用來驗(yàn)證軟件產(chǎn)品是否到達(dá)用戶的要
3、求?;蛘哒f,對于開發(fā)人員,測試是發(fā)現(xiàn)缺陷的一種途徑、手段,而對于用戶,測試那么是驗(yàn)收產(chǎn)品的一種手段。二、軟件測試方法軟件測試方法有以下幾個主要概念:白盒測試、黑盒測試、灰盒測試。白盒測試(W h ite-box testing或glass-box testing是通過程序的源代碼進(jìn)行測試而不使用用戶界面。這種類型的測試需要從代碼句法發(fā)現(xiàn)內(nèi)部代碼在算法,溢出,路徑,條件等等中的缺點(diǎn)或者錯誤,進(jìn)而加以修正。黑盒測試(B lack-box testing是通過使用整個軟件或某種軟件功能來嚴(yán)格地測試,而并沒有通過檢查程序的源代碼或者很清楚地了解該軟件或某種軟件功能的源代碼程序具體是怎樣設(shè)計的。測試人員
4、通過輸入他們的數(shù)據(jù)然后看輸出的結(jié)果從而了解軟件怎樣工作。通常測試人員在進(jìn)行測試時不僅使用肯定出正確結(jié)果的輸入數(shù)據(jù),而且還會使用有挑戰(zhàn)性的輸入數(shù)據(jù)以及可能結(jié)果會出錯的輸入數(shù)據(jù)以便了解軟件怎樣處理各種類型的數(shù)據(jù)?;液袦y試(Gray-box testing就像黑盒測試一樣是通過用戶界面測試,但是測試人員已經(jīng)有所了解該軟件或某種軟件功能的源代碼程序具體是怎樣設(shè)計的,甚至于還讀過局部源代碼,因此測試人員可以有的放矢地進(jìn)行某種確定的條件或功能的測試。這樣做的意義在于:如果你知道產(chǎn)品內(nèi)部的設(shè)計和透過用戶界面對產(chǎn)品有深入了解,你就能夠更有效和深入地從用戶界面來測試它的各項(xiàng)性能。1、白盒測試白盒測試又稱結(jié)構(gòu)測試
5、,透明盒測試、邏輯驅(qū)動測試或基于代碼的測試。白盒測試是一種測試用例設(shè)計方法,盒子指的是被測試的軟件,白盒指的是盒子是可視的,你清楚盒子內(nèi)部的東西以及里面是如何運(yùn)作的。白盒的測試用例需要做到:(1保證一個模塊中的所有獨(dú)立路徑至少被使用一次;(2對所有邏輯值均需測試true和false;(3在上下邊界及可操作范圍內(nèi)運(yùn)行所有循環(huán);(4檢查內(nèi)部數(shù)據(jù)結(jié)構(gòu)以確保其有效性。白盒測試的目的:通過檢查軟件內(nèi)部的邏輯結(jié)構(gòu),對軟件中的邏輯路徑進(jìn)行覆蓋測試;在程序不同地方設(shè)立檢查點(diǎn),檢查程序的狀態(tài),以確定實(shí)際運(yùn)行狀態(tài)與預(yù)期狀態(tài)是否一致。白盒測試的特點(diǎn):依據(jù)軟件設(shè)計說明書進(jìn)行測試、對程序內(nèi)部細(xì)節(jié)的嚴(yán)密檢驗(yàn)、針對特定條件
6、設(shè)計測試用例、對軟件的邏輯路徑進(jìn)行覆蓋測試。白盒測試的實(shí)施步驟:(1測試方案階段:根據(jù)需求說明書,制定測試進(jìn)度。(2測試設(shè)計階段:依據(jù)程序設(shè)計說明書,按照一定標(biāo)準(zhǔn)化的方法進(jìn)行軟件結(jié)構(gòu)劃分和設(shè)計測試用例。(3測試執(zhí)行階段:輸入測試用例,得到測試結(jié)果。(4測試總結(jié)階段:比照測試的結(jié)果和代碼的預(yù)期結(jié)果,分析錯誤原因,找到并解決錯誤。白盒測試的方法:總體上分為靜態(tài)方法和動態(tài)方法兩大類。靜態(tài)分析是一種不通過執(zhí)行程序而進(jìn)行測試的技術(shù)。靜態(tài)分析的關(guān)鍵功能是檢查軟件的表示和描述是否一致,沒有沖突或者沒有歧義。動態(tài)分析的主要特點(diǎn)是當(dāng)軟件系統(tǒng)在模擬的或真實(shí)的環(huán)境中執(zhí)行之前、之中和之后,對軟件系統(tǒng)行為的分析。動態(tài)分
7、析包含了程序在受控的環(huán)境下使用特定的期望結(jié)果進(jìn)行正式的運(yùn)行。它顯示了一個系統(tǒng)在檢查狀態(tài)下是正確還是不正確。在動態(tài)分析技術(shù)中,最重要的技術(shù)是路徑和分支測試。小結(jié):白盒測試是一種被廣泛使用的邏輯測試方法,是由程序內(nèi)部邏輯驅(qū)動的一種單元測試方法。只有對程序內(nèi)部十分了解才能進(jìn)行適度有效的白盒測試。但是貫穿在程序內(nèi)部的邏輯存在著不確定性和無窮性,尤其對于大規(guī)模復(fù)雜軟件。因此我們不能窮舉所有的邏輯路徑,即使窮舉也未必會帶來好運(yùn)(窮舉不能查出程序邏輯規(guī)那么錯誤,不能查出數(shù)據(jù)相關(guān)錯誤,不能查出程序遺漏的路徑。要正確使用白盒測試,就要先從代碼分析入手,根據(jù)不同的代碼邏輯規(guī)那么、語句執(zhí)行情況,選用適合的覆蓋方法。
8、任何一個高效的測試用例,都是針對具體測試場景的。邏輯測試不是片面的測試正確的結(jié)果或是測試錯誤的結(jié)果,而是盡可能全面地覆蓋每一個邏輯路徑。2、黑盒測試黑盒測試(B lack-box T esting,又稱為功能測試或數(shù)據(jù)驅(qū)6動測試是把測試對象看作一個黑盒子。利用黑盒測試法進(jìn)行動態(tài)測試時,需要測試軟件產(chǎn)品的功能,不需測試軟件產(chǎn)品的內(nèi)部結(jié)構(gòu)和處理過程。采用黑盒技術(shù)設(shè)計測試用例的方法有:等價類劃分、邊界值分析、錯誤推測、因果圖和綜合策略。黑盒測試的目的是發(fā)現(xiàn)以下類型的錯誤:(1功能錯誤或遺漏;(2界面錯誤;(3數(shù)據(jù)結(jié)構(gòu)或外部數(shù)據(jù)庫訪問錯誤;(4性能錯誤;(5初始化和終止錯誤。黑盒測試的實(shí)施步驟:(1測
9、試方案,根據(jù)用戶需求報告中關(guān)于功能要求和性能指標(biāo)的規(guī)格說明書,定義相應(yīng)的測試需求報告,即制訂黑盒測試的最高標(biāo)準(zhǔn),以后所有的測試工作都將圍繞著測試需求來進(jìn)行,符合測試需求的應(yīng)用程序即是合格的,反之即是不合格的;同時,還要適中選擇測試內(nèi)容,合理安排測試人員、測試時間及測試資源等。(2測試設(shè)計,將測試方案階段制訂的測試需求分解、細(xì)化為假設(shè)干個可執(zhí)行的測試過程,并為每個測試過程選擇適當(dāng)?shù)臏y試用例(測試用例選擇的好壞將直接影響到測試結(jié)果的有效性。(3測試開發(fā),建立可重復(fù)使用的自動測試過程。(4測試執(zhí)行,執(zhí)行測試開發(fā)階段建立的自動測試過程,并對所發(fā)現(xiàn)的缺陷進(jìn)行跟蹤管理。測試執(zhí)行一般由單元測試、組合測試、集
10、成測試、系統(tǒng)聯(lián)調(diào)及回歸測試等步驟組成,測試人員應(yīng)本著科學(xué)負(fù)責(zé)的態(tài)度,一步一個腳印地進(jìn)行測試。(5測試評估,結(jié)合量化的測試覆蓋域及缺陷跟蹤報告,對于應(yīng)用軟件的質(zhì)量和開發(fā)團(tuán)隊的工作進(jìn)度及工作效率進(jìn)行綜合評價。小結(jié):黑盒測試注重于測試軟件的功能性需求,也即黑盒測試使軟件工程師派生出執(zhí)行程序所有功能需求的輸入條件。黑盒測試并不是白盒測試的替代品,而是用于輔助白盒測試發(fā)現(xiàn)其他類型的錯誤。3、灰盒測試灰盒測試是基于程序運(yùn)行時刻的外部表現(xiàn)同時又結(jié)合程序內(nèi)部邏輯結(jié)構(gòu)來設(shè)計用例,執(zhí)行程序并采集程序路徑執(zhí)行信息和外部用戶接口結(jié)果的測試技術(shù)。灰盒測試法的目的是驗(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)證軟件測試用例在軟件遇到違背原先驗(yàn)證的不利變化時軟件的可靠性?;液袦y試需要的條件:(1需要在測試中,除了部署產(chǎn)品之外,還有就是程序源代碼,不管外部是多少漂亮界面或易用的功能,最終都是由源代碼來實(shí)現(xiàn)的。所以在部署時,要安裝源代碼。從源代碼編譯生成的目錄中運(yùn)行軟件。(2需要代碼覆蓋率工具的配置;部署可以針對本軟件開發(fā)語言的代碼覆蓋率工具;(3測試人員要具備閱讀代碼的能力,其對開發(fā)語言的熟悉程度和程序設(shè)計經(jīng)驗(yàn)多少決定了采用灰盒測試能夠取得多大的好處,所以配置這方面的測試人員或進(jìn)行必要的培訓(xùn)是
12、必要的。三、白盒、黑盒、灰盒測試方法的優(yōu)缺點(diǎn)比較測試方法優(yōu)點(diǎn)缺點(diǎn)白盒測試1、迫使測試人員去仔細(xì)思考軟件的實(shí)現(xiàn)2、可以檢測代碼中的每條分支和路徑3、揭示隱藏在代碼中的錯誤4、對代碼的測試比較徹底5、最優(yōu)化1、昂貴2、無法檢測代碼中遺漏的路徑和數(shù)據(jù)敏感性錯誤3、不驗(yàn)證規(guī)格的正確性黑盒測試1、根本上不用人管著,如果程序停止運(yùn)行了一般就是被測試程序crash了2、設(shè)計完測試?yán)?下來的工作就是爽了,當(dāng)然更苦悶的是確定crash原因1、結(jié)果取決于測試?yán)脑O(shè)計,測試?yán)脑O(shè)計局部來勢來源于經(jīng)驗(yàn),OU SPG的東西很值得借鑒2、沒有狀態(tài)轉(zhuǎn)換的概念,目前一些成功的例子根本上都是針對PDU來做的,還做不到針對被
13、測試程序的狀態(tài)轉(zhuǎn)換來做3、就沒有狀態(tài)概念的測試來說,尋找和確定造成程序crash的測試?yán)莻€麻煩事情,必須把周圍可能的測試?yán)龁为?dú)確認(rèn)一遍。而就有狀態(tài)的測試來說,就更麻煩了,尤其不是一個單獨(dú)的test case造成的問題。這些在堆的問題中表現(xiàn)的更為突出灰盒測試1、能夠進(jìn)行基于需求的覆蓋測試和基于程序路徑覆蓋的測試2、測試結(jié)果可以對應(yīng)到程序內(nèi)部路徑,便于bug的定位、分析和解決3、能夠保證設(shè)計的黑盒測試用例的完整性,防止遺漏軟件的一些不常用的功能或功能組合4、能夠需求或設(shè)計不詳細(xì)或不完整對測試造成的影響1、投入的時間比黑盒測試大概多20-40%的時間2、對測試人員的技術(shù)要求更高四、總結(jié)軟件可靠性是軟件質(zhì)量評估的最重要指標(biāo)之一,本文闡述了軟件可靠性測試的根本概念和
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 糖批發(fā)商的供應(yīng)鏈優(yōu)化策略考核試卷
- 知艾防艾 共享健康-防艾滋病傳染病教育主題班會
- 春季防溺水安全教育主題班會
- 加快建設(shè)教育強(qiáng)國的路徑與實(shí)踐
- 2025企業(yè)員工團(tuán)體意外傷害保險合同樣本
- 2025YY借用人員合同范本
- 2025租賃合同到期不續(xù)簽如何處理賠償問題
- 2025商業(yè)店鋪?zhàn)赓U經(jīng)營合同
- 2025年土地置換住宅合同
- 2025標(biāo)準(zhǔn)二手車買賣合同協(xié)議書樣本
- 義務(wù)兵家庭優(yōu)待金審核登記表
- GA 255-2022警服長袖制式襯衣
- GB/T 5202-2008輻射防護(hù)儀器α、β和α/β(β能量大于60keV)污染測量儀與監(jiān)測儀
- GB/T 39560.4-2021電子電氣產(chǎn)品中某些物質(zhì)的測定第4部分:CV-AAS、CV-AFS、ICP-OES和ICP-MS測定聚合物、金屬和電子件中的汞
- GB/T 3452.4-2020液壓氣動用O形橡膠密封圈第4部分:抗擠壓環(huán)(擋環(huán))
- 計劃生育協(xié)會基礎(chǔ)知識課件
- 【教材解讀】語篇研讀-Sailing the oceans
- 抗腫瘤藥物過敏反應(yīng)和過敏性休克
- 排水管道非開挖預(yù)防性修復(fù)可行性研究報告
- 交通工程基礎(chǔ)習(xí)習(xí)題及參考答案
- 線路送出工程質(zhì)量創(chuàng)優(yōu)項(xiàng)目策劃書
評論
0/150
提交評論