成對(duì)組合覆蓋-與-PICT-的應(yīng)用_第1頁
成對(duì)組合覆蓋-與-PICT-的應(yīng)用_第2頁
成對(duì)組合覆蓋-與-PICT-的應(yīng)用_第3頁
成對(duì)組合覆蓋-與-PICT-的應(yīng)用_第4頁
成對(duì)組合覆蓋-與-PICT-的應(yīng)用_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

成對(duì)組合覆蓋與PICT的應(yīng)用一、成對(duì)組合覆蓋簡介成對(duì)組合覆蓋這一概念是Mandl于1985年在測(cè)試Aad編譯程序時(shí)提出來的。Cohen等人應(yīng)用成對(duì)組合覆蓋測(cè)試技術(shù)對(duì)Unix中的“Sort”命令進(jìn)行了測(cè)試。測(cè)試結(jié)果表明覆蓋率高達(dá)90%以上??梢姵蓪?duì)組合覆蓋是一種非常有效的測(cè)試用例設(shè)計(jì)方法。成對(duì)組合覆蓋要求任意兩個(gè)因素(輸入條件)的所有水平組合至少要被覆蓋1次。組合覆蓋的算法已經(jīng)被很多工具實(shí)現(xiàn),測(cè)試人員可以直接利用這些工具,例如:TConfig、微軟的PICT等。下面介紹一下使用PICT設(shè)計(jì)測(cè)試用例的過程。PICT的應(yīng)用PICT概述成對(duì)組合覆蓋測(cè)試工具PICT能幫助你有效地設(shè)計(jì)軟件系統(tǒng)測(cè)試用例和測(cè)試配置。使用PICT生成的測(cè)試用例比手工生成的更有效。在保證測(cè)試覆蓋率的前提下,盡量縮小參數(shù)值組合的。PS:其實(shí)pict不單單是成對(duì)組合(2階),其實(shí)可以實(shí)現(xiàn)多階組合覆蓋,只是默認(rèn)為2階使用PICT組合測(cè)試用例參數(shù)PICT以命令行方式運(yùn)行。在運(yùn)行之前,需要準(zhǔn)備一份詳細(xì)描述了測(cè)試參數(shù)的模型文件。例如,如果你想給分區(qū)和卷建立一組測(cè)試用例集,在這里需要用到以下幾個(gè)參數(shù):------------------------------------------------------------------------------類型:Primary,Logical,Single,Span,Stripe,Mirror,RAID-5尺寸:10,100,500,1000,5000,10000,40000格式方法:快,慢文件系統(tǒng):FAT,F(xiàn)AT32,NTFS簇大?。?12,1024,2048,4096,8192,16384,32768,65536壓縮:開,關(guān)-------------------------------------------------------------------------------這些參數(shù)可能的取值組合超過4700個(gè)。在合理的時(shí)間范圍內(nèi)測(cè)試完他們那將是非常困難的一件事情。研究表明,把所有可能的值成對(duì)進(jìn)行組合能做到很好的測(cè)試覆蓋且測(cè)試用例的數(shù)量由此也會(huì)變得可控。例如,(Primary,F(xiàn)AT)是一對(duì)和(10,慢)是另外一對(duì),單個(gè)測(cè)試用例可以覆蓋到多個(gè)部分。使用上面的參數(shù)運(yùn)行PICT將產(chǎn)生60個(gè)測(cè)試用例。Eg:modelfile1.txt運(yùn)行PICTPICT是一個(gè)命令行工具,它接受一個(gè)純文本文件作為輸入,然后輸出測(cè)試用例集。----------------------------------------------------------------------------用法:PICT模型文件路徑[選項(xiàng)]選項(xiàng):/o:N-組合次數(shù)(默認(rèn):2)/d:C-值之間的分隔符(默認(rèn):,)/a:C-別名間的分隔符(默認(rèn):|)/n:C-負(fù)值前綴(默認(rèn):~)/e:file-種子文件/r[:N]-隨機(jī)生成,N表示產(chǎn)生隨機(jī)的種子/c-模型計(jì)算區(qū)分大小寫/s-顯示模型統(tǒng)計(jì)數(shù)據(jù)-------------------------------------------------------------------------------PICT安裝程序?qū)?huì)把PICT安裝到指定的路徑,然后你可以從指定的目錄中運(yùn)行它。要想查看上面例子的PICT輸出,可使用任何像Windows?記事本?的文本編輯器創(chuàng)建模型文件,然后運(yùn)行下面的命令:-------------------------------------------------------------------------------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.條件約束參數(shù)及其取值是謂詞邏輯的原子部分。它們之間的關(guān)系可使用這些符號(hào)表示:=,<>,>,>=,<,<=,和LIKE。LIKE是一個(gè)通用匹配的操作(*表示任意多個(gè)字符,?表示任意一個(gè)字符)。約束分為兩種:有條件的(if-then-else)和無條件的。[Size]<10000[Compression]="OFF"[Filesystem]like"FAT*"-------------------------------------------------------------------------------操作符IN允許指定一組滿足明確關(guān)系的值:-------------------------------------------------------------------------------IF[Clustersize]in{512,1024,2048}THEN[Compression]="Off";IF[Filesystem]in{"FAT","FAT32"}THEN[Compression]="Off";如下面后臺(tái)的一個(gè)檢索條件:選擇不同的專賣店則有其對(duì)應(yīng)的不同廣告標(biāo)題值(則可用上面的in來明確一組關(guān)系值)在IF、THEN、ELSE的語句中可以加入邏輯操作符NOT、AND和OR。可使用圓括號(hào)改變它們的運(yùn)算優(yōu)先順序:-------------------------------------------------------------------------------IF[Filesystem]<>"NTFS"OR([Filesystem]="NTFS"AND[Clustersize]>4096)THEN[Compression]="Off";IFNOT([Filesystem]="NTFS"OR([Filesystem]="NTFS"ANDNOT[Clustersize]<=4096))THEN[Compression]="Off";參數(shù)可以被組合到另一個(gè)參數(shù)中:----------------------------------------------------------------#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.無條件約束(不變)一個(gè)不變的聲明在一個(gè)域中總是有效的限制:#至少有一對(duì)參數(shù)不相等才是有意義的測(cè)試用例(使用OR運(yùn)算符)[OS_1]<>[OS_2]or[SKU_1]<>[SKU_2]or[LANG_1]<>[LANG_2];-------------------------------------------------------------------------------#每對(duì)參數(shù)必須不相等(使用AND運(yùn)算符)[OS_1]<>[OS_2]and[SKU_1]<>[SKU_2]and[LANG_1]<>[LANG_2];Eg:modelfile7.txt、參數(shù)類型PICT使用參數(shù)類型的概念。有兩種類型的參數(shù):numeric和string。只有所有的值都是numeric時(shí)才會(huì)被認(rèn)為是numeric參數(shù)。如果一個(gè)值有多個(gè)名字,那么只有第一個(gè)會(huì)被計(jì)算。只有在評(píng)估約束性時(shí)類型才是重要的。你只能把numeric參數(shù)與數(shù)字作比較,string參數(shù)與字符串作比較。例如:-------------------------------------------------------------------------------Size:1,2,3,4,5Value:a,b,c,dIF[Size]>3THEN[Value]>"b";-------------------------------------------------------------------------------默認(rèn)情況下,比較字符串時(shí)大小寫不敏感。你可以指定“/c”選項(xiàng)以使字符串比較時(shí)大小寫敏感。Numeric值作為數(shù)字進(jìn)行比較。Eg:Modelfile8.txt、負(fù)面測(cè)試除了測(cè)試被稱為“正面測(cè)試”有效組合外,你通常需要測(cè)試允許范圍之外的值,以確保程序適當(dāng)?shù)靥幚砹隋e(cuò)誤。每個(gè)“負(fù)面測(cè)試”測(cè)試用例應(yīng)該只有一個(gè)無效的值,因?yàn)榇蠖鄶?shù)程序當(dāng)它們發(fā)現(xiàn)第一個(gè)錯(cuò)誤后就不會(huì)再做進(jìn)一步處理。為此,就可能發(fā)生負(fù)面測(cè)試中被稱之為輸入掩蓋的問題。一個(gè)無效的輸入阻止了其他無效輸入被測(cè)試。eg:檢測(cè)登陸功能的模型文件Modelfile9.txt注意:在比較期間,PICT不會(huì)把前綴作為值的一部分。在約束中,也不會(huì)使用帶前綴的值,前綴不會(huì)影響值的類型。前綴會(huì)出現(xiàn)在輸出結(jié)果中。、權(quán)重使用權(quán)重,您可以強(qiáng)制PICT優(yōu)先接受指定的值。權(quán)重可以是任何正整數(shù)。如果你沒有顯式地指定一個(gè)權(quán)重,那么PICT默認(rèn)會(huì)使用1。-------------------------------------------------------------------------------#讓我們把焦點(diǎn)放在使用NTFS格式化主分區(qū)上Type:Primary(10),Logical,Single,Span,Stripe,Mirror,RAID-5SIZE:10,100,500,1000,5000Filesystem:FAT,FAT32,NTFS(10)Eg:modelfile10.txt重要說明:權(quán)重值沒有絕對(duì)的意義。例如,當(dāng)一個(gè)參數(shù)定義如下時(shí):Filesystem:FAT,FAT32,NTFS(10)這并不意味著NTFS在輸出結(jié)果中會(huì)是FAT或FAT32的10倍。此外,你還不能認(rèn)定你所指定的權(quán)重一直會(huì)起作用,因?yàn)镻ICT還必須要處理兩個(gè)相互矛盾的要求:1.在最少的測(cè)試用例中覆蓋所有參數(shù)組合2.根據(jù)參數(shù)的權(quán)重進(jìn)行取值上述[規(guī)則1]的優(yōu)先級(jí)永遠(yuǎn)比[規(guī)則2]高,只有在選擇值時(shí)不需要依賴[規(guī)則1],權(quán)重才有可能起作用。更確切地說,在創(chuàng)建測(cè)試用例的過程中,PICT會(huì)評(píng)估所有可能的候選值,然后盡量選擇在大多數(shù)參數(shù)值組合中沒有使用過的值。有時(shí)候多個(gè)候選值可能同樣重要。在這種情況下,PICT會(huì)使用權(quán)重去做最終的選擇。你可以使用權(quán)重嘗試將機(jī)會(huì)偏向一些值,但是PICT會(huì)決定是否遵守這一要求,到什么程度,使用幾個(gè)因素,不僅只是權(quán)重。Eg:modelfile11.txt大小寫敏感性默認(rèn)情況下,PICT執(zhí)行所有比較和檢查時(shí)不區(qū)分大小寫。例如,有OS、os兩個(gè)參數(shù),PI會(huì)認(rèn)為它們重名(參數(shù)名必須是唯一的)。PICT默認(rèn)也會(huì)解除大小寫限制:IF[OS]="Win2THEN...將會(huì)匹配Win2K和win2k兩個(gè)值(參數(shù)值可以不是唯一的)??梢允褂眠x項(xiàng)“/c使模型計(jì)算時(shí)完全區(qū)分大小寫。、大小寫敏感性警告信息約束或條件定義出錯(cuò)的警告應(yīng)當(dāng)引起注意。PICT在生成過程中發(fā)現(xiàn)有語法錯(cuò)誤時(shí)不會(huì)停止它仍然能生成一些有意義的結(jié)果。然而,如果你看到這些警告后,最好還是重新檢查一下模型文件中的參數(shù)和約束。全部或沒有值滿足關(guān)系當(dāng)你定義了一個(gè)錯(cuò)誤的關(guān)系時(shí),這種警告能給你及早的提示。所有的關(guān)系、條件或約束都必須讓結(jié)果集是有意義的。如果沒有值滿足關(guān)系或所有的值都滿足關(guān)系,則肯定哪兒出錯(cuò)了如果看到此警告,得重新檢查一下你的值關(guān)系并理清他們。Eg:modelfile12.txt限制性約束,輸出將不包含下列值有時(shí)一組約束條件交織在一起導(dǎo)致一些值總是違反一個(gè)或多個(gè)約束條件。循環(huán)依賴便是這樣的一個(gè)例子:---------------------------------------------------------------

溫馨提示

  • 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)論