當前位置:名人名言大全網 - 祝福短信 - 測試用例設計工具PICT的詳細使用教程

測試用例設計工具PICT的詳細使用教程

在測試工作中,我們經常會遇到這樣的場景:壹個軟件功能有多個輸入項,每個輸入項有多個選項;壹個接口有多個參數,每個參數有多個值。這種情況平時很常見。如果按照排列組合,得到的測試用例數量非常大。

舉個直觀的例子就好理解了。有壹個接口函數,它有三個參數,每個參數可以取四個值。如果要驗證所有傳入的參數,需要測試4*4*4=64個案例。如果有更多參數和值,那將是壹場災難。

有沒有更好的方法可以少做測試,滿足測試覆蓋率?答案是肯定的,就是我們今天要講的“覆蓋兩兩的因子組合測試”。先簡單介紹壹下什麽是Pairwise。

Pairwise是由l . l . Thurston E(5月29日1887–9月30日1955)在1927中首次提出的。他是美國的心理統計學家,Pairwise是基於數理統計優化傳統正交分析方法的產物。

Pairwise基於以下兩個假設:每個維度都是正交的,即每個維度彼此沒有交集;據數理統計,73%的缺陷(單因素為35%,雙因素為38%)是由單因素或兩因素交互作用造成的,19%的缺陷是由三因素交互作用造成的。因此,成對基於覆蓋所有2個因素的交互,用例集是最具成本效益的。

軟件測試分為黑盒測試和白盒測試。成對算法是軟件測試中黑盒測試的壹種有效測試方法。

這個概念通常很模糊。這裏有壹個簡單的例子。看完之後,妳就明白成對算法是如何選擇測試用例的了。

成對算法過程:從表的最後壹行開始,如果在上面壹行或者這個表中可以找到這壹行的成對組合值,那麽這壹行就可以從用例集中刪除。

例如,如果TC8包含(X2-Y2,X2-Z2,Y2-Z2)的成對組合值,X2-Y2存在於TC7中,X2-Z2存在於TC6中,Y2-Z2存在於TC4中,則刪除此行;

TC7包含(X2-Y2,X2-Z1,Y2-Z1)的成對組合值,X2-Y2在此表中找不到,因此保留。按照這種方法,最終的測試用例集如右上方所示。顯然,經過兩兩配對的過程後,測試用例的數量減少了壹半。

所以如果每次都要手工計算,不僅浪費時間,還容易出錯。壹旦參數多了,手動就沒辦法了。有沒有可能開發壹個自動程序,讓它自動輸出結果?這個想法很好,但是我們不需要再做輪子了。市面上已經有非常有用的工具了,就是PICT工具。

進入安裝目錄,並在目錄中創建壹個新的txt文件,如text.txt。

有壹個登錄頁面,有用戶名、密碼、驗證碼、是否保存密碼的選項,其中最多1用戶名、密碼、驗證為空。如果有5*3*4*2-3=117個用例,在txt中輸入所有與測試用例相關的參數,如下圖1所示:

test.txt的參數內容如下:

用戶名:?手機號碼,電子郵件地址,昵稱,非空字符,空

密碼:?正確的密碼,錯誤的密碼,空的

驗證碼:正確驗證碼,錯誤驗證碼,超時驗證碼,空。

保存_密碼:?是,不是

在安裝目錄下運行cmd命令,輸入picttest.txt,結果如下:

看起來不是很漂亮,可以用命令picttest。txt >;test.xls命令將結果輸出到text.xls文檔,結果如下:

我從需求中知道,最多只有1用戶名,密碼,驗證碼是空的。我該怎麽辦?這時候就需要用到PICT的約束了。

PICT約束:

子模型約束:?

{ Para1,Para2,Para3 } @ 2?#任何成對的參數組合都必須包含分號。

約束(如,IN,AND,OR,NOT)必須以分號結束:

[用戶名]& lt;& gt“空”;

[年齡]& lt;120 ;

[用戶名]& lt;& gt“空”或[年齡]< 120;

【昵稱】喜歡“李*”;

如果[用戶名] = "空",則不是[密碼] = "空";

如果[簇大小]在{512,1024,2048}那麽[壓縮] = "關";

如果[用戶名] = "空"那麽?[密碼]& lt;& gt“空”和[驗證碼]< & gt;“空”;

因此,為了滿足最多1個用戶名、密碼和驗證碼為空,text.txt中的參數約束修改如下:

輸出結果如下,可以發現沒有用戶名,密碼,驗證碼,最多只有1為空:

想覆蓋所有用戶名、密碼、驗證碼組合測試項目,該怎麽做?您可以添加以下參數約束:

這就是所有的約束。在編輯test.txt文件時,切記不要用中文編輯空格、冒號和逗號,否則會不斷報錯,得不到正確的結果。

以上組合都是兩兩組合。如果我想改變組合順序參數值,我該怎麽做?此時只需要在運行命令時添加參數/o:3即可,比如pict test.txt /o:3。其他命令參數選項具有以下含義:

/ o :N?-組合數,默認值為2。

/ d :C?-值之間的分隔符,默認為逗號(,)。

/ a :C?-別名之間的分隔符。默認為管道字符(|)。

/ n :C?-無效值或非法值的前綴,默認值為(~)。

/e:file-定義種子文件,它可以指定組合方法。

/ r [:N]?-隨機生成,N種子

/ c?-參數值完全區分大小寫。

/ s?-顯示模型統計數據