




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
成對組合覆蓋與PICT的應用一、成對組合覆蓋簡介成對組合覆蓋這一概念是Mandl于1985年在測試Aad編譯程序時提出來的。Cohen等人應用成對組合覆蓋測試技術對Unix中的“Sort”命令進行了測試。測試結果表明覆蓋率高達90%以上。可見成對組合覆蓋是一種非常有效的測試用例設計方法。成對組合覆蓋要求任意兩個因素(輸入條件)的所有水平組合至少要被覆蓋1次。組合覆蓋的算法已經被很多工具實現,測試人員可以直接利用這些工具,例如:TConfig、微軟的PICT等。下面介紹一下使用PICT設計測試用例的過程。PICT的應用PICT概述成對組合覆蓋測試工具PICT能幫助你有效地設計軟件系統測試用例和測試配置。使用PICT生成的測試用例比手工生成的更有效。在保證測試覆蓋率的前提下,盡量縮小參數值組合的。PS:其實pict不單單是成對組合(2階),其實可以實現多階組合覆蓋,只是默認為2階使用PICT組合測試用例參數PICT以命令行方式運行。在運行之前,需要準備一份詳細描述了測試參數的模型文件。例如,如果你想給分區和卷建立一組測試用例集,在這里需要用到以下幾個參數:------------------------------------------------------------------------------類型:Primary,Logical,Single,Span,Stripe,Mirror,RAID-5尺寸:10,100,500,1000,5000,10000,40000格式方法:快,慢文件系統:FAT,FAT32,NTFS簇大小:512,1024,2048,4096,8192,16384,32768,65536壓縮:開,關-------------------------------------------------------------------------------這些參數可能的取值組合超過4700個。在合理的時間范圍內測試完他們那將是非常困難的一件事情。研究表明,把所有可能的值成對進行組合能做到很好的測試覆蓋且測試用例的數量由此也會變得可控。例如,(Primary,FAT)是一對和(10,慢)是另外一對,單個測試用例可以覆蓋到多個部分。使用上面的參數運行PICT將產生60個測試用例。Eg:modelfile1.txt運行PICTPICT是一個命令行工具,它接受一個純文本文件作為輸入,然后輸出測試用例集。----------------------------------------------------------------------------用法:PICT模型文件路徑[選項]選項:/o:N-組合次數(默認:2)/d:C-值之間的分隔符(默認:,)/a:C-別名間的分隔符(默認:|)/n:C-負值前綴(默認:~)/e:file-種子文件/r[:N]-隨機生成,N表示產生隨機的種子/c-模型計算區分大小寫/s-顯示模型統計數據-------------------------------------------------------------------------------PICT安裝程序將會把PICT安裝到指定的路徑,然后你可以從指定的目錄中運行它。要想查看上面例子的PICT輸出,可使用任何像Windows?記事本?的文本編輯器創建模型文件,然后運行下面的命令:-------------------------------------------------------------------------------Type:Primary,Logical,Single,Span,Stripe,Mirror,RAID-5Size:10,100,500,1000,5000,10000,40000Formatmethod:quick,slowFilesystem:FAT,FAT32,NTFSClustersize:512,1024,2048,4096,8192,16384,32768,65536Compression:on,offIF[Filesystem]="FAT"THEN[Size]<=4096;IF[Filesystem]="FAT32"THEN[Size]<=32000;為了更能看出效果,如下例子:Eg:modelfile6.txt1.條件約束參數及其取值是謂詞邏輯的原子部分。它們之間的關系可使用這些符號表示:=,<>,>,>=,<,<=,和LIKE。LIKE是一個通用匹配的操作(*表示任意多個字符,?表示任意一個字符)。約束分為兩種:有條件的(if-then-else)和無條件的。[Size]<10000[Compression]="OFF"[Filesystem]like"FAT*"-------------------------------------------------------------------------------操作符IN允許指定一組滿足明確關系的值:-------------------------------------------------------------------------------IF[Clustersize]in{512,1024,2048}THEN[Compression]="Off";IF[Filesystem]in{"FAT","FAT32"}THEN[Compression]="Off";如下面后臺的一個檢索條件:選擇不同的專賣店則有其對應的不同廣告標題值(則可用上面的in來明確一組關系值)在IF、THEN、ELSE的語句中可以加入邏輯操作符NOT、AND和OR。可使用圓括號改變它們的運算優先順序:-------------------------------------------------------------------------------IF[Filesystem]<>"NTFS"OR([Filesystem]="NTFS"AND[Clustersize]>4096)THEN[Compression]="Off";IFNOT([Filesystem]="NTFS"OR([Filesystem]="NTFS"ANDNOT[Clustersize]<=4096))THEN[Compression]="Off";參數可以被組合到另一個參數中:----------------------------------------------------------------#Machine1OS_1:Win2000,WinXPSKU_1:Professional,Server,Datacenter,WinPoweredLANG_1:EN,DE#Machine2OS_2:Win2000,WinXPSKU_2:Professional,Server,DatecenterLANG_2:EN,DEIF[LANG_1]=[LANG_2]THEN[OS_1]<>[OS_2]AND[SKU_1]<>[SKU_2];2.無條件約束(不變)一個不變的聲明在一個域中總是有效的限制:#至少有一對參數不相等才是有意義的測試用例(使用OR運算符)[OS_1]<>[OS_2]or[SKU_1]<>[SKU_2]or[LANG_1]<>[LANG_2];-------------------------------------------------------------------------------#每對參數必須不相等(使用AND運算符)[OS_1]<>[OS_2]and[SKU_1]<>[SKU_2]and[LANG_1]<>[LANG_2];Eg:modelfile7.txt、參數類型PICT使用參數類型的概念。有兩種類型的參數:numeric和string。只有所有的值都是numeric時才會被認為是numeric參數。如果一個值有多個名字,那么只有第一個會被計算。只有在評估約束性時類型才是重要的。你只能把numeric參數與數字作比較,string參數與字符串作比較。例如:-------------------------------------------------------------------------------Size:1,2,3,4,5Value:a,b,c,dIF[Size]>3THEN[Value]>"b";-------------------------------------------------------------------------------默認情況下,比較字符串時大小寫不敏感。你可以指定“/c”選項以使字符串比較時大小寫敏感。Numeric值作為數字進行比較。Eg:Modelfile8.txt、負面測試除了測試被稱為“正面測試”有效組合外,你通常需要測試允許范圍之外的值,以確保程序適當地處理了錯誤。每個“負面測試”測試用例應該只有一個無效的值,因為大多數程序當它們發現第一個錯誤后就不會再做進一步處理。為此,就可能發生負面測試中被稱之為輸入掩蓋的問題。一個無效的輸入阻止了其他無效輸入被測試。eg:檢測登陸功能的模型文件Modelfile9.txt注意:在比較期間,PICT不會把前綴作為值的一部分。在約束中,也不會使用帶前綴的值,前綴不會影響值的類型。前綴會出現在輸出結果中。、權重使用權重,您可以強制PICT優先接受指定的值。權重可以是任何正整數。如果你沒有顯式地指定一個權重,那么PICT默認會使用1。-------------------------------------------------------------------------------#讓我們把焦點放在使用NTFS格式化主分區上Type:Primary(10),Logical,Single,Span,Stripe,Mirror,RAID-5SIZE:10,100,500,1000,5000Filesystem:FAT,FAT32,NTFS(10)Eg:modelfile10.txt重要說明:權重值沒有絕對的意義。例如,當一個參數定義如下時:Filesystem:FAT,FAT32,NTFS(10)這并不意味著NTFS在輸出結果中會是FAT或FAT32的10倍。此外,你還不能認定你所指定的權重一直會起作用,因為PICT還必須要處理兩個相互矛盾的要求:1.在最少的測試用例中覆蓋所有參數組合2.根據參數的權重進行取值上述[規則1]的優先級永遠比[規則2]高,只有在選擇值時不需要依賴[規則1],權重才有可能起作用。更確切地說,在創建測試用例的過程中,PICT會評估所有可能的候選值,然后盡量選擇在大多數參數值組合中沒有使用過的值。有時候多個候選值可能同樣重要。在這種情況下,PICT會使用權重去做最終的選擇。你可以使用權重嘗試將機會偏向一些值,但是PICT會決定是否遵守這一要求,到什么程度,使用幾個因素,不僅只是權重。Eg:modelfile11.txt大小寫敏感性默認情況下,PICT執行所有比較和檢查時不區分大小寫。例如,有OS、os兩個參數,PI會認為它們重名(參數名必須是唯一的)。PICT默認也會解除大小寫限制:IF[OS]="Win2THEN...將會匹配Win2K和win2k兩個值(參數值可以不是唯一的)。可以使用選項“/c使模型計算時完全區分大小寫。、大小寫敏感性警告信息約束或條件定義出錯的警告應當引起注意。PICT在生成過程中發現有語法錯誤時不會停止它仍然能生成一些有意義的結果。然而,如果你看到這些警告后,最好還是重新檢查一下模型文件中的參數和約束。全部或沒有值滿足關系當你定義了一個錯誤的關系時,這種警告能給你及早的提示。所有的關系、條件或約束都必須讓結果集是有意義的。如果沒有值滿足關系或所有的值都滿足關系,則肯定哪兒出錯了如果看到此警告,得重新檢查一下你的值關系并理清他們。Eg:modelfile12.txt限制性約束,輸出將不包含下列值有時一組約束條件交織在一起導致一些值總是違反一個或多個約束條件。循環依賴便是這樣的一個例子:---------------------------------------------------------------
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 小店合作協議書合同
- 銀行租借合同協議書模板
- 2021法制工作報告
- 進口食品標語
- 中國氟化鈮(V)項目商業計劃書
- 加固工程(更新)融資投資立項項目可行性研究報告(2025咨詢)
- 家居商業品牌策劃書模板3
- 按揭車輛轉讓合同協議書
- 美容美發店發型設計與護理手冊
- 外賣柜創業計劃書
- 福建百校聯考2025屆高三5月高考押題卷-英語試卷(含答案)
- 知識圖譜構建與應用試題及答案
- 湖北省武漢市2025屆高三五月模擬訓練英語試題(含答案無聽力原文及音頻)
- 基因編輯技術的臨床應用與未來發展方向-洞察闡釋
- 項目一 動力電池課件 任務4 動力電池性能檢測
- 靜脈輸液不良反應應急預案與處理流程
- 《論亞太局勢》課件
- 基于深度學習的日志異常檢測技術研究
- 大學生勞動就業法律問題解讀(華東理工大學)智慧樹知到見面課、章節測試、期末考試答案
- 水電站收購分析報告
- 浙江省杭州市2024年中考英語真題(含答案)
評論
0/150
提交評論