軟件測試數(shù)據(jù)的高效生成及測試方法研究.pdf_第1頁
已閱讀1頁,還剩139頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、當前,計算機的應用范圍及規(guī)模不斷擴大,軟件復雜度也不斷提高,對軟件質量的要求也越來越高,高質量的軟件開發(fā)正面臨著極大的挑戰(zhàn)。
   提高軟件質量的重要手段之一是高質量的軟件測試。由于軟件開發(fā)技術在不斷地推陳出新,相比起來,軟件測試技術的發(fā)展就要相對地滯后,面臨著很多棘手的問題。
   在軟件測試中,一個很重要的問題就是如何生成高質量的測試數(shù)據(jù)。高質量的測試用例集可用較少的測試用例發(fā)現(xiàn)較多的錯誤和缺陷,可節(jié)省測試費用,提高

2、測試效率和質量。面對眾多的有關測試數(shù)據(jù)的生成及測試方法問題,我們選擇性地研究了其中的幾個主要方面,包括:
   (1)組合測試用例集的生成和精簡;
   (2)結構化測試中,對大程序的測試相關問題;
   (3)基于Anti-model的測試技術的研究。
   就組合測試用例生成來說,已經有了不少的研究成果。R.Mandl在1985年為了測試Ada編譯器首先提出了組合測試的概念。此后,組合測試就成為了研究

3、焦點之一,D.Cohen等很多的國內外學者提出了各種方法來生成組合覆蓋測試用例集。
   就結構測試來說,選擇路徑和按照選定路徑生成測試用例是其中重要的兩個方面。1982年,ThomasMcCabe在其提出的軟件復雜性度量的理論基礎之上,提出了基本路徑覆蓋測試的概念;隨后B.Beizer等提出了各種覆蓋準則等。那么基于給定的測試路徑,可以用靜態(tài)法、動態(tài)法以及試探法等生成面向路徑的測試用例。
   不管怎樣,對于組合測試來

4、說,被測軟件往往輸入?yún)?shù)多,并且參數(shù)取值也多;對于結構測試來說,往往需要覆蓋的測試路徑數(shù)目很大,因此都會導致測試用例集的龐大,給測試工作帶來困難。
   然而,組合測試用例集中常存在著冗余和無效的用例,從而影響測試的效率和效果,那么怎樣精簡冗余和無效的用例呢?結構測試也存在不能完全覆蓋所有路徑的問題,那么如何選擇覆蓋的標準呢?還有,當被測軟件只有一個總的系統(tǒng)架構和系統(tǒng)總體需求,沒有其它相關的的詳細信息(如源代碼等),或者在實際的

5、系統(tǒng)實現(xiàn)過程中設計模型常需要多次被修改等情況時,又該怎樣來測試這樣的系統(tǒng)呢?
   針對上述的這些測試中的問題,本文研究的主要內容和成果如下:
   (1)提出了一種基于樹模型和輸入?yún)?shù)關系的全組合測試用例集的精簡和生成方法。這種方法首先是用解空間樹來表示多輸入?yún)?shù)的組合測試用例,并且給出了解空間樹和輸入?yún)?shù)之間的關系;然后分析了輸入?yún)?shù)之間的依賴關系,總結了依賴關系的幾種分類,說明了如何利用依賴關系來剪裁解空間樹的冗余

6、無效的枝葉;最后給出了生成解空間樹、裁剪冗余無效枝葉和生成組合測試用例集的算法。實驗表明該方法在一定的范圍中具有較好的性能和實際的應用性。
   (2)討論了利用輸入關系精簡成對組合用例集的方法。為了剔除組合測試用例集中的無效用例,提高用例集的生成效率,系統(tǒng)地分析了成對組合測試用例集中的無效用例存在情況,研究了成對輸入關系集的獲取,提出了成對組合測試用例集的精簡方法,并給出了判斷用例是否為無效用例的具體算法。
   (3

7、)提出了幾種利用LP來求解小的組合測試用例集的方法。首先建立了組合測試LP優(yōu)化模型,其主要的目標是提高獲取用例集時LP的求解效率;然后給出化解大LP為小LP求解測試集、0/1整型LP來求解非最小測試集和非0/1整型規(guī)劃求解測試集的三種直接獲得用例集的方法;最后提出和利用了三個精簡輸入輸出關系規(guī)則來精簡LP求解用例集的約束數(shù)和變量數(shù)。在實驗分析中,我們在耗時、用例集的大小和方法可用性這三個方面比較了這些方法,并得出了中斷0/1-ILP程序

8、來求得替代的用例集是可行且綜合性能比較好的結論。
   (4)提出了基于圈復雜度的大程序分割測試方法。文中分析了難以對圈復雜度大的程序進行測試的原因,給出了基于程序分割的變量影響度和圈復雜度的算法,討論了程序分割的方式和原則,也討論了分割對幾種測試數(shù)據(jù)生成算法性能的影響以及分割對程序元素的覆蓋率影響。通過分割程序可以降低每個程序片段的圈復雜度,從而降低測試的難度,而且從每個片段來說,分割會使得測試效率提高。
   (5)

9、基于Anti-model的測試是在沒有源代碼或者只有較少的系統(tǒng)信息情況下的一種測試技術,它和基于模型的測試技術相對應。文中以基于組件的測試為具體的敘述對象,提出了基于組件的系統(tǒng)測試框架及過程,并將測試數(shù)據(jù)分為測試用例運行時的I/O信息、測試用例運行時的組件之間的動態(tài)的行為交互信息和系統(tǒng)運行時的動態(tài)行為交互信息等三類,討論了AspectJ面向方面的編程方法和JVMTI接口等兩種動態(tài)數(shù)據(jù)的獲取技術,給出了動態(tài)數(shù)據(jù)信息的形式化描述,探討了獲取

溫馨提示

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

評論

0/150

提交評論