成功安裝后,在命令行中輸入命令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
組合測試的概念
組合測試(combinatorial testing)是一種
測試用例生成方法。傳統的測試用例生成方法中沒有這一方法,但是組合測試確實對傳統測試方法的綜合,如果能熟練自如的運用組合測試,那么我想大部分測試方法也就都能融會貫通了。
運用組合測試,測試人員需要將被測試對象抽象為一個受到多個變量影響的系統,其中每個變量的取值是離散且有限的。然后使用組合測試工具生成滿足特定組合覆蓋標准的組合測試用例集。
1、兩因素組合測試(也稱配對測試、全對偶測試)生成的測試集可以覆蓋任意兩個變量的所有取值組合。在理論上,該用例集可以暴露所有由兩個變量共同作用而引發的缺陷。
2、多因素組合測試生成的測試集可以覆蓋任意n和變量的所有取值組合。在理論上,該測試用例集可以發現所有n個因素共同作用引發的缺陷。
怎樣進行組合測試建模
組合測試面臨的一個最大問題是:沒有足夠的測試資源來運行所有的測試用例(全組合測試)。因此提出了基於一個數學模型和一個假設的解決方法。
一個數學模型:產品的功能被抽象為函數f,產品的輸入被抽象為函數的變量x1,x2,…,xm,且xi(1≤i≤m)的可能取值是有限的,產品的輸出被抽象為函數的返回值y1,y2,…,yn。
一個假設:如果測試覆蓋了任意t個(2≤t≤m)輸入變量的取值組合,那么該測試可以發現函數f的大部分錯誤。
組合測試建模的步驟
1)確定變量xi;
2)確定每個變量xi的取值集合;
3)為了更充分的發現缺陷,每個變量的取值要進行充分的設計,尤其是“典型取值”,可以通過等價划分、邊界值等方法進行取值。測試集中沒有包含可以暴漏錯誤的特定取值是缺陷遺漏的主要原因;
4)確定檢查方法,以判斷y1,y2,…,yn是否正確。錯誤的或不嚴謹的檢查都有可能遺漏暴漏的缺陷。
組合測試模型的問題
1)組合測試可能會錯過最重要的取值組合;由於是工具生成測試用例集,而且不是全覆蓋測試,所以很可能遺漏的測試集就是最重要而且能發現問題的測試用例(例如默認測試集);
2)組合測試的數學模型沒有描述變量之間的約束關系;此時需要加入約束條件(PICT即可實現此功能)
3)組合測試用例可能被衛哨語句過濾;此時需要用到PICT中的~在無效數據前進行標記;
注意事項
-
txt文件名最好是英文名,文本標點必須是英文標點。