




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、幾種常見軟件可靠性測試方法綜述及應用比照上海交通大學陳曉芳摘要軟件可靠性測試是軟件可靠性工程的一項重要工作內容,是滿足軟件可靠性要求、評價軟件可靠性水平及驗證軟件產品是否到達可靠性要求的重要途徑。本文探討、研究了軟件可靠性測試的根本概念,分析、比照了幾種軟件可靠性測試主要方法的優缺點。關鍵詞軟件可靠性軟件可靠性測試軟件測試方法引言軟件可靠性工程是指為了滿足軟件的可靠性要求而進行的一系列設計、分析、測試等工作。其中確定軟件可靠性要求是軟件可靠性工程中要解決的首要問題,軟件可靠性測試是在軟件生存周期的系統測試階段提高軟件可靠性水平的有效途徑。各種測試方法、測試技術都能發現導致軟件失效的軟件中殘存的
2、缺陷,排除這些缺陷后,一般來講一定會實現軟件可靠性的增長,但是排除這些缺陷對可靠性的提高的作用卻是不一樣的。其中,軟件可靠性測試能最有效地發現對可靠性影響大的缺陷,因此可以有效地提高軟件的可靠性水平。軟件可靠性測試也是評估軟件可靠性水平,驗證軟件產品是否到達軟件可靠性要求的重要且有效的途徑。一、軟件可靠性測試概念“測試一般是指“為了發現程序中的錯誤而執行程序的過程。但是在不同的開發階段、對于不同的人員,測試的意義、目的及其采用的方法是有差異的。在軟件開發的測試階段,測試的主要目的是開發人員通過運行程序來發現程序中存在的缺陷、錯誤。而在產品交付、驗收階段,測試主要用來驗證軟件產品是否到達用戶的要
3、求。或者說,對于開發人員,測試是發現缺陷的一種途徑、手段,而對于用戶,測試那么是驗收產品的一種手段。二、軟件測試方法軟件測試方法有以下幾個主要概念:白盒測試、黑盒測試、灰盒測試。白盒測試(W h ite-box testing或glass-box testing是通過程序的源代碼進行測試而不使用用戶界面。這種類型的測試需要從代碼句法發現內部代碼在算法,溢出,路徑,條件等等中的缺點或者錯誤,進而加以修正。黑盒測試(B lack-box testing是通過使用整個軟件或某種軟件功能來嚴格地測試,而并沒有通過檢查程序的源代碼或者很清楚地了解該軟件或某種軟件功能的源代碼程序具體是怎樣設計的。測試人員
4、通過輸入他們的數據然后看輸出的結果從而了解軟件怎樣工作。通常測試人員在進行測試時不僅使用肯定出正確結果的輸入數據,而且還會使用有挑戰性的輸入數據以及可能結果會出錯的輸入數據以便了解軟件怎樣處理各種類型的數據。灰盒測試(Gray-box testing就像黑盒測試一樣是通過用戶界面測試,但是測試人員已經有所了解該軟件或某種軟件功能的源代碼程序具體是怎樣設計的,甚至于還讀過局部源代碼,因此測試人員可以有的放矢地進行某種確定的條件或功能的測試。這樣做的意義在于:如果你知道產品內部的設計和透過用戶界面對產品有深入了解,你就能夠更有效和深入地從用戶界面來測試它的各項性能。1、白盒測試白盒測試又稱結構測試
5、,透明盒測試、邏輯驅動測試或基于代碼的測試。白盒測試是一種測試用例設計方法,盒子指的是被測試的軟件,白盒指的是盒子是可視的,你清楚盒子內部的東西以及里面是如何運作的。白盒的測試用例需要做到:(1保證一個模塊中的所有獨立路徑至少被使用一次;(2對所有邏輯值均需測試true和false;(3在上下邊界及可操作范圍內運行所有循環;(4檢查內部數據結構以確保其有效性。白盒測試的目的:通過檢查軟件內部的邏輯結構,對軟件中的邏輯路徑進行覆蓋測試;在程序不同地方設立檢查點,檢查程序的狀態,以確定實際運行狀態與預期狀態是否一致。白盒測試的特點:依據軟件設計說明書進行測試、對程序內部細節的嚴密檢驗、針對特定條件
6、設計測試用例、對軟件的邏輯路徑進行覆蓋測試。白盒測試的實施步驟:(1測試方案階段:根據需求說明書,制定測試進度。(2測試設計階段:依據程序設計說明書,按照一定標準化的方法進行軟件結構劃分和設計測試用例。(3測試執行階段:輸入測試用例,得到測試結果。(4測試總結階段:比照測試的結果和代碼的預期結果,分析錯誤原因,找到并解決錯誤。白盒測試的方法:總體上分為靜態方法和動態方法兩大類。靜態分析是一種不通過執行程序而進行測試的技術。靜態分析的關鍵功能是檢查軟件的表示和描述是否一致,沒有沖突或者沒有歧義。動態分析的主要特點是當軟件系統在模擬的或真實的環境中執行之前、之中和之后,對軟件系統行為的分析。動態分
7、析包含了程序在受控的環境下使用特定的期望結果進行正式的運行。它顯示了一個系統在檢查狀態下是正確還是不正確。在動態分析技術中,最重要的技術是路徑和分支測試。小結:白盒測試是一種被廣泛使用的邏輯測試方法,是由程序內部邏輯驅動的一種單元測試方法。只有對程序內部十分了解才能進行適度有效的白盒測試。但是貫穿在程序內部的邏輯存在著不確定性和無窮性,尤其對于大規模復雜軟件。因此我們不能窮舉所有的邏輯路徑,即使窮舉也未必會帶來好運(窮舉不能查出程序邏輯規那么錯誤,不能查出數據相關錯誤,不能查出程序遺漏的路徑。要正確使用白盒測試,就要先從代碼分析入手,根據不同的代碼邏輯規那么、語句執行情況,選用適合的覆蓋方法。
8、任何一個高效的測試用例,都是針對具體測試場景的。邏輯測試不是片面的測試正確的結果或是測試錯誤的結果,而是盡可能全面地覆蓋每一個邏輯路徑。2、黑盒測試黑盒測試(B lack-box T esting,又稱為功能測試或數據驅6動測試是把測試對象看作一個黑盒子。利用黑盒測試法進行動態測試時,需要測試軟件產品的功能,不需測試軟件產品的內部結構和處理過程。采用黑盒技術設計測試用例的方法有:等價類劃分、邊界值分析、錯誤推測、因果圖和綜合策略。黑盒測試的目的是發現以下類型的錯誤:(1功能錯誤或遺漏;(2界面錯誤;(3數據結構或外部數據庫訪問錯誤;(4性能錯誤;(5初始化和終止錯誤。黑盒測試的實施步驟:(1測
9、試方案,根據用戶需求報告中關于功能要求和性能指標的規格說明書,定義相應的測試需求報告,即制訂黑盒測試的最高標準,以后所有的測試工作都將圍繞著測試需求來進行,符合測試需求的應用程序即是合格的,反之即是不合格的;同時,還要適中選擇測試內容,合理安排測試人員、測試時間及測試資源等。(2測試設計,將測試方案階段制訂的測試需求分解、細化為假設干個可執行的測試過程,并為每個測試過程選擇適當的測試用例(測試用例選擇的好壞將直接影響到測試結果的有效性。(3測試開發,建立可重復使用的自動測試過程。(4測試執行,執行測試開發階段建立的自動測試過程,并對所發現的缺陷進行跟蹤管理。測試執行一般由單元測試、組合測試、集
10、成測試、系統聯調及回歸測試等步驟組成,測試人員應本著科學負責的態度,一步一個腳印地進行測試。(5測試評估,結合量化的測試覆蓋域及缺陷跟蹤報告,對于應用軟件的質量和開發團隊的工作進度及工作效率進行綜合評價。小結:黑盒測試注重于測試軟件的功能性需求,也即黑盒測試使軟件工程師派生出執行程序所有功能需求的輸入條件。黑盒測試并不是白盒測試的替代品,而是用于輔助白盒測試發現其他類型的錯誤。3、灰盒測試灰盒測試是基于程序運行時刻的外部表現同時又結合程序內部邏輯結構來設計用例,執行程序并采集程序路徑執行信息和外部用戶接口結果的測試技術。灰盒測試法的目的是驗證軟件滿足外部指標要求以及軟件的所有通道都進行了檢驗。
11、通過該程序的所有路徑都進行了檢驗和驗證后,就得到了全面的驗證。完成功能和結構驗證后,就可隨機地一次變化一行來驗證軟件測試用例在軟件遇到違背原先驗證的不利變化時軟件的可靠性。灰盒測試需要的條件:(1需要在測試中,除了部署產品之外,還有就是程序源代碼,不管外部是多少漂亮界面或易用的功能,最終都是由源代碼來實現的。所以在部署時,要安裝源代碼。從源代碼編譯生成的目錄中運行軟件。(2需要代碼覆蓋率工具的配置;部署可以針對本軟件開發語言的代碼覆蓋率工具;(3測試人員要具備閱讀代碼的能力,其對開發語言的熟悉程度和程序設計經驗多少決定了采用灰盒測試能夠取得多大的好處,所以配置這方面的測試人員或進行必要的培訓是
12、必要的。三、白盒、黑盒、灰盒測試方法的優缺點比較測試方法優點缺點白盒測試1、迫使測試人員去仔細思考軟件的實現2、可以檢測代碼中的每條分支和路徑3、揭示隱藏在代碼中的錯誤4、對代碼的測試比較徹底5、最優化1、昂貴2、無法檢測代碼中遺漏的路徑和數據敏感性錯誤3、不驗證規格的正確性黑盒測試1、根本上不用人管著,如果程序停止運行了一般就是被測試程序crash了2、設計完測試例之后,下來的工作就是爽了,當然更苦悶的是確定crash原因1、結果取決于測試例的設計,測試例的設計局部來勢來源于經驗,OU SPG的東西很值得借鑒2、沒有狀態轉換的概念,目前一些成功的例子根本上都是針對PDU來做的,還做不到針對被
13、測試程序的狀態轉換來做3、就沒有狀態概念的測試來說,尋找和確定造成程序crash的測試例是個麻煩事情,必須把周圍可能的測試例單獨確認一遍。而就有狀態的測試來說,就更麻煩了,尤其不是一個單獨的test case造成的問題。這些在堆的問題中表現的更為突出灰盒測試1、能夠進行基于需求的覆蓋測試和基于程序路徑覆蓋的測試2、測試結果可以對應到程序內部路徑,便于bug的定位、分析和解決3、能夠保證設計的黑盒測試用例的完整性,防止遺漏軟件的一些不常用的功能或功能組合4、能夠需求或設計不詳細或不完整對測試造成的影響1、投入的時間比黑盒測試大概多20-40%的時間2、對測試人員的技術要求更高四、總結軟件可靠性是軟件質量評估的最重要指標之一,本文闡述了軟件可靠性測試的根本概念和
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 關于黃岡的七下數學試卷
- 貨品分析培訓課件圖片
- 肥城中考數學試卷
- 肛腸五項技術課件
- 燈塔市期末考試數學試卷
- 浮山中學數學試卷
- 高級中學期末數學試卷
- 2025年06月浙江溫州市蒼南縣衛生健康系統面向社會招聘120編外輔助人員2人筆試歷年專業考點(難、易錯點)附帶答案詳解
- 2025年01月2025安徽池州市人民醫院勞務派遣辦公室文員招聘1人筆試歷年專業考點(難、易錯點)附帶答案詳解
- 銷售技能培訓課件分類
- 2025年中考物理終極押題猜想(廣東省卷專用)(解析版)
- 學校食堂自營管理實施方案
- 2024年10月自考00882學前教育心理學試題及答案含評分參考
- 廣東省廣州市2024年中考道德與法治試卷(含答案)
- 2025年中國陪診服務行業現狀、發展環境及投資前景分析報告
- 新疆2024年小升初語文模擬考試試卷(含答案)
- 項目經理入職培訓
- 汽車駕駛員(技師)考試題及答案
- 南昌市產業投資集團有限公司招聘筆試題庫2024
- 三化一穩定嚴進嚴出專案報告
- TYNZYC 0095-2022 綠色藥材 金果欖(青牛膽)栽培技術規程
評論
0/150
提交評論