組合測試pict生成用例的基本使用

2021-07-16 00:27:33 字數 2899 閱讀 3507

專案中用到pict生成用例測試,洒家現收集了一些pict的基本使用記錄下來,分享出來。

使用微軟pict測試工具生成組合測試用例:

需要待測程式模型檔案,檔案中描述了待測程式的條件因素,以及可能出現的取值。因素和值用冒號:分隔,值之間使用逗號,分隔。

根據模型檔案來生成相應的組合測試用例。讀入模型檔案輸出測試用例檔案。

多因素組合測試,在pict工具中實現多因素組合測試。

在測試中,因素條件預設為2,成對組合兩兩測試是較為簡單易行的組合測試覆蓋。這樣的測試覆蓋生成的組合測試覆蓋較少,而且兩兩組合

的錯誤檢測能力有限,因此在資源允許的情況下需要引入多因素的組合覆蓋,有可能進一步的提高錯誤發現率。

微軟建議:

從2因素測試開始逐漸提高測試緯度到6因素的測試因素。有研究表明有6因素的組合測試覆蓋可以發現絕大多數的錯誤缺陷。

隨著組合緯度的提高,測試用例數量增長較大,幾乎沒有團隊能完成6因素,因此在現實中3因素的組合測試是比較實際的。

在pict有2中方法可以引入多因素的測試,第一種方法是在命令列輸入引數,引數3生成的引數是引數2的三倍。第二種方法是在模型檔案中定義子模型語句。

子模型描述語句中可以定義哪些因素使用多因素覆蓋準則。

如果業務邏輯複雜的話,就需要在檔案編寫大量的條件判斷語句。注釋使用#。

if [賬戶名] = "正常" and [密碼] = "正常" and [驗證碼] = "正常" then [會話] = 「儲存乙個月」 else [會話] = 「不儲存」;

1、2個因素組合測試,該用例集可以暴露由2個變數共同作用而引發的缺陷。

2、多因素組合測試生成的測試集可以覆蓋任意n和變數的所有取值組合。在理論上,該測試用例集可以發現所有n個因素共同作用引發的缺陷.

pict的條件語句中支援:=、<>、>、>=、

3、pict命令的選項:

可以看到pict命令的一些選項:

/o:n   組合數,預設值為2,即pict生成的測試用例集中每條測試資料會有兩個值與其他測試集是不同的;

/d:c   值與值之間的分隔符,預設為逗號(,),例如乙個引數 作業系統  winxp,win7,win8 之間會用逗號隔開;

/a:c   別名間的分隔符,預設是管道符(|),例如乙個引數(使用者名稱不區分大小寫,但為了保證測試的可信度,可以用大小寫輪換的方式進行測試) 使用者名稱  admin|admin;

/n:c   無效數值或者是非法數值的字首,預設值為(~),例如乙個引數(只能取1、2,為了測試非法值的輸入,取0,但又不希望0和其他引數的每隔值都配一次對,為了減少測試集的數量,在0前面加乙個~)即 引數  ~0,1,2;

/e:file  定義種子檔案,作用是可以指定組合方式,例如在種子檔案seed.txt中指定乙個組合方式,在執行1.txt時,命令:pict 1.txt /e:seed.txt  生成的測試集中會包含seed中指定的組合集(當然指定的組合集有一定條件)。(此引數目前的理解可能會有誤區);

/r[:n]  通過/r引數,可以使每次生成的測試集不同;

/c        加上該引數,說明引數值完全區分大小寫

/s        顯示模型統計資料 例如執行 pict 1.txt /s   結果為 

combinations:  21

generated tests:   9

generation time:0:00:00

模型檔案子模型:

定義:使用" @ 組合次數"的格式自定義乙個組合,然後通過增減"組合次數"來使特定組合得到更多或更少的測試。

說明:可以定義多個子模型;同一引數可在多個模型中使用;組合次數預設值為選項/o的取值,最大值為子模型引數總量。

組合次數/o:n:預設2,最大值為引數總量。取值越大生成的測試用例越多,從而測試覆蓋率就更高。

值分隔符/d:預設逗號","。

別名分隔符/a:預設管道符"|"。

負值字首/n:預設波浪符"~"。

輸出隨機/r:使用同樣的模型內容和選項得到的輸出是相同的,使用此選項可使輸出結果隨機。

區分大小寫/c:引數的取值區分大小寫。

模型檔案引數定義

模型檔案內容分塊:至少1個"引數定義"區域,額外可選擇包含"子模型"和"約束定義"區域。

注釋和空行:可以用"#"開啟一行注釋,空行可以出現任何地方。

引數定義:引數與其取值間使用分號":"分隔,一行乙個引數。

引數型別:數值型和字元型兩種。

模型檔案子模型

定義:使用" @ 組合次數"的格式自定義乙個組合,然後通過增減"組合次數"來使特定組合得到更多或更少的測試。

說明:可以定義多個子模型;同一引數可在多個模型中使用;組合次數預設值為選項/o的取值,最大值為子模型引數總量。

模型檔案約束

條件約束

if分支語句:if pass then pass else pass;

關係運算子:=,<>,>,>=,

邏輯運算子:not,and,or

可以使用圓括號改變它們的運算優先順序;引數名需用中括號括起來;in的目標集合需用大括號{}括起來。

測試用例組合 PICT

測試用例組合 一原理1.配對組合原理 兩兩組合原理 應用工具pict自動輸出組合 name a,b value 1,2 key m,n 如果自己組合那麼有2 2 2 8條用例 a1m a2m a1n a2n b1m b2m b1n b2n 使用配對組合原理結果是a2m a1n b2n b1m 2.基...

使用PICT生成測試用例

介紹 pict 可以有效地按照兩兩測試的原理,進行測試用例設計 在使用pict時,需要輸入與測試用例相關的所有引數,以達到全面覆蓋的效果 安裝 工具會用就好,下面試試這個工具 在安裝目錄下新建乙個txt文件,填上引數,如下圖所示 需要注意的是,這裡使用的冒號和逗號都必須是英文格式下的符號,不然在使用...

使用PICT生成全面組合覆蓋的測試用例

pict the pairwise independent combinatorial testing tool 是 microsoft 內部使用一款測試用例設計工具。在實際使用過程中,需要輸入測試用例相關的引數,然後pict可以有效的按照兩兩測試的原理來建立和設計測試用例,以獲得引數的全面組合覆蓋...