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

下載本文檔

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

文檔簡(jiǎn)介

1、 成對(duì)組合(zh)覆蓋與PICT的應(yīng)用一、成對(duì)組合(zh)覆蓋簡(jiǎn)介成對(duì)組合覆蓋(fgi)這一概念是Mandl于1985年在 HYPERLINK javascript:; t _self 測(cè)試Aad編譯程序時(shí)提出來(lái)的。Cohen等人應(yīng)用成對(duì)組合覆蓋 HYPERLINK javascript:; t _self 測(cè)試技術(shù)對(duì)Unix中的“Sort”命令進(jìn)行了測(cè)試。測(cè)試結(jié)果表明覆蓋率高達(dá)90%以上??梢?jiàn)成對(duì)組合覆蓋是一種非常有效的 HYPERLINK javascript:; t _self 測(cè)試用例設(shè)計(jì)方法。成對(duì)組合覆蓋要求任意兩個(gè)因素(輸入條件)的所有水平組合至少要被覆蓋1次。組合覆蓋的算法已經(jīng)被

2、很多工具實(shí)現(xiàn),測(cè)試人員可以直接利用這些工具,例如:TConfig、 HYPERLINK javascript:; t _self 微軟的PICT等。下面介紹一下使用PICT設(shè)計(jì)測(cè)試用例的過(guò)程。PICT的應(yīng)用PICT概述成對(duì)組合覆蓋測(cè)試 工具 PICT 能幫助你有效地設(shè)計(jì)軟件系統(tǒng)測(cè)試用例和測(cè)試配置 。使用 PIC T生成的測(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ù)的模型文件。

3、例如 , 如果你想給分區(qū)和卷建立一組測(cè)試用例集 , 在這里需要用到以下幾個(gè)參數(shù) : -類型: Primary , Logical , Single , Span , Stripe , Mirror , RAID-5尺寸: 10 , 100 , 500 , 1000 , 5000 , 10000 , 40000格式方法:快,慢文件系統(tǒng): FAT , FAT32 , NTFS簇大?。?512 , 1024 , 2048 , 4096 , 8192 , 16384 , 32768 , 65536壓縮:開(kāi),關(guān)-這些參數(shù)可能的取值組合超過(guò) 4700 個(gè)。在合理的時(shí)間范圍內(nèi)測(cè)試完他們那將是非常困難的一件事

4、情 。 研究表明 , 把所有可能的值成對(duì)進(jìn)行組合能做到很好的測(cè)試覆蓋且測(cè)試用例的數(shù)量由此也會(huì)變得可控 。 例如 , ( Primary , FAT ) 是一對(duì)和 ( 10 , 慢 ) 是另外一對(duì) , 單個(gè)測(cè)試用例可以覆蓋到多個(gè)部分。使用上面的參數(shù)運(yùn)行(ynxng) PICT 將產(chǎn)生 60 個(gè)測(cè)試用例。Eg:modelfile1.txt運(yùn)行(ynxng)PICTPICT 是一個(gè)命令行工具,它接受一個(gè)純文本文件作為(zuwi)輸入,然后輸出測(cè)試用例集。-用法: PICT 模型文件路徑 選項(xiàng) 選項(xiàng):/o:N - 組合次數(shù)(默認(rèn) :2 )/d:C - 值之間的分隔符 (默認(rèn) :, )/a:C - 別名

5、間的分隔符(默認(rèn) :| )/n:C - 負(fù)值前綴(默認(rèn): )/e:file - 種子文件/r:N - 隨機(jī)生成 ,N 表示產(chǎn)生隨機(jī)的種子/c - 模型計(jì)算區(qū)分大小寫(xiě)/s - 顯示模型統(tǒng)計(jì)數(shù)據(jù)-PICT 安裝程序?qū)?huì)把 PICT 安裝到指定的路徑 , 然后你可以從指定的目錄中運(yùn)行它 。 要想查看上面例子的 PICT 輸出,可使用任何像 Windows 記事本 的文本編輯器創(chuàng)建模型文件,然后運(yùn)行下面的命令:模型文件模型區(qū)域一個(gè)模型文件至少包含 1 個(gè)區(qū)域,最多包含 3 個(gè)區(qū)域:-參數(shù)定義 子模型定義 約束定義 -模型文件中的區(qū)域應(yīng)始終按照上面所列的先后順序被顯示 , 且不能重疊 。 首先是參數(shù)定義

6、部分 , 然后是子模型定義和約束定義部分 。 它們之間不需要任何特殊的分隔符 。 空行可以出現(xiàn)(chxin)在任何地方??梢杂?“ ” 開(kāi)啟一行注釋。、簡(jiǎn)單(jindn)模型為了產(chǎn)生一個(gè)非?;镜哪P臀募?, 你需要列出參數(shù)(cnsh)名稱 , 每行一個(gè)參數(shù)和它可能的取值之間用分號(hào)分隔::,.例如:# 這是一個(gè)測(cè)試 創(chuàng)建 / 刪除磁盤(pán)卷 功能的簡(jiǎn)單模型文件Size: 10, 100, 500, 1000, 5000, 10000, 40000File system: FAT, FAT32, NTFSCluster size: 512, 1024, 2048, 4096, 8192, 16384

7、, 32768, 65536逗號(hào)是默認(rèn)的分隔符,可使用 “ /d: ” 選項(xiàng)指定一個(gè)不同的分隔符。(模型文件中的符號(hào)都需要用英文輸入法半角下輸入)Eg:modelfile2.txt 、成對(duì)和高階生成默認(rèn)情況下 , PICT 生成一組成對(duì)組合且覆蓋所有情況的測(cè)試用例集 。 可以使用選項(xiàng) “ /o:N ”設(shè)置比 2 更大的排列次數(shù)。例如,如果指定 “ /o:3 ” ,由此生成的測(cè)試用例將涵蓋所有三個(gè)一組的值 , 產(chǎn)生比成對(duì)測(cè)試更多的測(cè)試用例 , 這樣測(cè)試的覆蓋范圍就更大 。 對(duì)于一個(gè)簡(jiǎn)單的模型文件, PICT 選項(xiàng) “ /o:N ” 的最大取值應(yīng)小于等于模型文件中參數(shù)的總量。如果 N 取值等于參數(shù)

8、總量 , 那參數(shù)取值將會(huì)涵蓋所有可能的組合 。 同樣 , 指定 “ /o:1 ” 將產(chǎn)生涵蓋所有值一次的測(cè)試組合。Eg:modelfile2.txt 執(zhí)行2階(即成對(duì)組合)時(shí),有56個(gè)用例。執(zhí)行3階時(shí)(即全部覆蓋,因?yàn)橹挥?個(gè)參數(shù)),有168個(gè)用例執(zhí)行1階時(shí),只有8個(gè)用例(因?yàn)槠渲幸粋€(gè)參數(shù)的最多可能值為8)、子模型子模型允許你將一些參數(shù)綁定到組中 , 以得到自定義的組合順序 。 在某些參數(shù)組合需要被更充分測(cè)試時(shí),這種方式會(huì)很有用。子模型以下面的格式定義:( , , , . ) 例如,子模型對(duì)涉及硬件和軟件參數(shù)結(jié)合在一起的測(cè)試用例時(shí)是十分有用的。沒(méi)有子模型 ,每個(gè)測(cè)試用例將產(chǎn)生一個(gè)新的 、 唯一

9、的硬件配置 。 將硬件參數(shù)放置到一個(gè)子模型中可以產(chǎn)生更少的硬件配置,從而盡可能地降低測(cè)試成本。使用創(chuàng)建子模型的命令可帶來(lái)不少靈活性 。-PLATFORM: x86, ia64, amd64CPUS: Single, Dual, QuadRAM: 128MB, 1GB, 4GB, 64GBHDD: SCSI, IDEOS: NT4, Win2K, WinXP, Win2K3IE: 4.0, 5.0, 5.5, 6.0APP: SQLServer, Exchange, Offi PLATFORM, CPUS, RAM, HDD 3 OS, IE 2下圖描述了上面的模型是怎么(zn me)產(chǎn)生的:E

10、g:modelfile4.txt(60個(gè)用例) modelfile5.txt(20個(gè)用例)注意(zh y):1 你可以定義盡可能多的子模型,一個(gè)參數(shù)可屬于多個(gè)子模型。模型層次結(jié)構(gòu)可以只是(zhsh)一個(gè)層次。2 子模型 order 的取值不能超過(guò)它所含參數(shù)的數(shù)量。在上面的例子中,第一個(gè)子模型的 order 可以取 1 到 4 之間的值。3 如果你沒(méi)有給子模型指定 order 值, PICT 會(huì)使用默認(rèn)的 order 值或使用選項(xiàng) “ /o ”的值。模型選項(xiàng)、約束:條件約束、無(wú)條件約束約束允許你指定域的限制 。 在前面的分區(qū)例子中 , 一對(duì) ( FAT,5000 ) 將至少出現(xiàn)在一個(gè)測(cè)試用例中。

11、但是, FAT 文件系統(tǒng)不能創(chuàng)建大于 4096 MB 的卷。注意,你不能簡(jiǎn)單地從測(cè)試集中刪除這樣的測(cè)試用例 , 因?yàn)檫@個(gè)討厭的用例可能覆蓋一些沒(méi)有出現(xiàn)在其它用例中但有效的測(cè)試情況。為了避免丟失有效的測(cè)試情況,你可以在生成的過(guò)程中排除不可接受的組合。 在PICT 中指定一個(gè)約束,像下面這樣:-Type: Primary, Logical, Single, Span, Stripe, Mirror, RAID-5Size: 10, 100, 500, 1000, 5000, 10000, 40000Format method: quick, slowFile system: FAT, FAT32,

12、 NTFSCluster size: 512, 1024, 2048, 4096, 8192, 16384, 32768, 65536Compression: on, offIF File system = FAT THEN Size = 4096;IF File system = FAT32 THEN Size = 32000;為了更能看出效果(xiogu),如下例子:Eg:modelfile6.txt1.條件(tiojin)約束 參數(shù)及其取值是謂詞邏輯的原子部分。它們之間的關(guān)系可使用(shyng)這些符號(hào)表示 :=,=,=, 和 LIKE 。 LIKE 是一個(gè)通用匹配的操作 (* 表示任意

13、多個(gè)字符, ? 表示任意一個(gè)字符 ) 。約束分為兩種:有條件的( if-then-else )和無(wú)條件的。Size 10000Compression = OFFFile system like FAT*-操作符 IN 允許指定一組滿足明確關(guān)系的值:-IF Cluster size in 512, 1024, 2048 THEN Compression = Off;IF File system in FAT, FAT32 THEN Compression = Off;如下面后臺(tái)的一個(gè)檢索條件:選擇不同的專賣店則有其對(duì)應(yīng)的不同廣告標(biāo)題值(則可用上面的in來(lái)明確一組關(guān)系值)在 IF 、 THEN 、

14、 ELSE 的語(yǔ)句中可以加入邏輯操作符 NOT 、 AND 和 OR 。可使用圓括號(hào)改變它們的運(yùn)算優(yōu)先順序:-IF File system NTFS OR ( File system = NTFS AND Cluster size 4096 )THEN Compression = Off;IF NOT ( File system = NTFS OR ( File system = NTFS AND NOT Cluster size = 4096 )THEN Compression = Off;參數(shù)可以被組合到另一個(gè)參數(shù)中:-# Machine 1OS_1: Win2000, WinXPSKU_

15、1: Professional, Server, Datacenter, WinPoweredLANG_1: EN, DE# Machine 2OS_2: Win2000, WinXPSKU_2: Professional, Server, DatecenterLANG_2: EN, DEIF LANG_1 = LANG_2THEN OS_1 OS_2 AND SKU_1 SKU_2;2.無(wú)條件約束(yush)(不變) 一個(gè)不變的聲明在一個(gè)域中總是(zn sh)有效的限制:# 至少有一對(duì)參數(shù)不相等才是有意義(yy)的測(cè)試用例(使用 OR 運(yùn)算符)OS_1 OS_2 or SKU_1 SKU_2

16、 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

17、: a, b, c, dIF Size 3 THEN Value b;-默認(rèn)情況下 , 比較字符串時(shí)大小寫(xiě)不敏感 。 你可以指定 “ /c ” 選項(xiàng)以使字符串比較時(shí)大小寫(xiě)敏感。 Numeric 值作為數(shù)字進(jìn)行比較。Eg:Modelfile8.txt、負(fù)面測(cè)試除了測(cè)試被稱為 “ 正面測(cè)試 ” 有效組合外 , 你通常需要測(cè)試允許范圍之外的值 , 以確保程序適當(dāng)?shù)靥幚砹隋e(cuò)誤 。 每個(gè) “ 負(fù)面測(cè)試 ” 測(cè)試用例應(yīng)該只有一個(gè)無(wú)效的值 , 因?yàn)榇蠖鄶?shù)程序當(dāng)它們發(fā)現(xiàn)第一個(gè)錯(cuò)誤后就不會(huì)再做進(jìn)一步處理 。 為此 , 就可能發(fā)生負(fù)面測(cè)試中被稱之為輸入掩蓋的問(wèn)題。一個(gè)無(wú)效的輸入阻止了其他無(wú)效輸入被測(cè)試。eg:檢測(cè)

18、登陸功能的模型文件Modelfile9.txt注意: 在比較期間 , PICT 不會(huì)把前綴作為(zuwi)值的一部分 。 在約束中 , 也不會(huì)使用帶前綴的值 ,前綴不會(huì)影響值的類型 。 前綴會(huì)出現(xiàn)在輸出結(jié)果中。、權(quán)重(qun zhn)使用權(quán)重 , 您可以強(qiáng)制 PICT 優(yōu)先(yuxin)接受指定的值 。 權(quán)重可以是任何正整數(shù) 。 如果你沒(méi)有顯式地指定一個(gè)權(quán)重,那么 PICT 默認(rèn)會(huì)使用 1 。-# 讓我們把焦點(diǎn)放在使用 NTFS 格式化主分區(qū)上Type: Primary (10), Logical, Single, Span, Stripe, Mirror, RAID-5SIZE: 10, 1

19、00, 500, 1000, 5000File system: FAT, FAT32, NTFS (10)Eg:modelfile10.txt重要說(shuō)明: 權(quán)重值沒(méi)有絕對(duì)的意義。例如,當(dāng)一個(gè)參數(shù)定義如下時(shí):File system: FAT, FAT32, NTFS (10)這并不意味著 NTFS 在輸出結(jié)果中會(huì)是 FAT 或 FAT32 的 10 倍 。 此外 , 你還不能認(rèn)定你所指定的權(quán)重一直會(huì)起作用,因?yàn)?PICT 還必須要處理兩個(gè)相互矛盾的要求:1 在最少的測(cè)試用例中覆蓋所有參數(shù)組合2 根據(jù)參數(shù)的權(quán)重進(jìn)行取值上述 規(guī)則 1 的優(yōu)先級(jí)永遠(yuǎn)比 規(guī)則 2 高,只有在選擇值時(shí)不需要依賴 規(guī)則 1

20、,權(quán)重才有可能起作用。更確切地說(shuō),在創(chuàng)建測(cè)試用例的過(guò)程中, PICT 會(huì)評(píng)估所有可能的候選值,然后盡量選擇在大多數(shù)參數(shù)值組合中沒(méi)有使用過(guò)的值 。 有時(shí)候多個(gè)候選值可能同樣重要 。 在這種情況下, PICT 會(huì)使用權(quán)重去做最終的選擇。你可以使用權(quán)重嘗試將機(jī)會(huì)偏向一些值,但是 PICT 會(huì)決定是否遵守這一要求,到什么程度,使用幾個(gè)因素,不僅只是權(quán)重。Eg:modelfile11.txt大小寫(xiě)敏感性 默認(rèn)情況下 , PICT 執(zhí)行所有比較和檢查時(shí)不區(qū)分大小寫(xiě) 。 例如 , 有 OS 、 os 兩個(gè)參數(shù) , PI會(huì)認(rèn)為它們重名 ( 參數(shù)名必須是唯一的 ) 。 PICT 默認(rèn)也會(huì)解除大小寫(xiě)限制 : IF OS = Win2 THEN . 將會(huì)匹配 Win2K 和 win2k 兩個(gè)值(參數(shù)值可以不是唯一的 ) ??梢允褂眠x項(xiàng) “ /c使模型計(jì)算時(shí)完全區(qū)分大小寫(xiě)。、大小寫(xiě)敏感性警告信息約束或 條件 定義出錯(cuò)的警告應(yīng)當(dāng)引起注意 。 PICT 在生成過(guò)程中發(fā)現(xiàn)有語(yǔ)法錯(cuò)誤時(shí)不會(huì)停止它仍然能生成一些有意義的結(jié)果 。 然而 , 如果你看到這些警告后 ,

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論