古詩詞大全網 - 古詩大全 - [用例設計] pairwise testing 測試用例設計 - 概念篇(1)

[用例設計] pairwise testing 測試用例設計 - 概念篇(1)

all-pairs testing 或者 pairwise testing ,它是組合測試的壹種方法,是軟件測試領域針對黑盒測試提出的壹個行之有效的方法之壹。

Pairwise也正是基於數學統計和對傳統的正交分析法進行優化後得到的產物。

Pairwise基於如下2個假設:

我們先從壹個例子來感受下Pairwise testing。

假設我們有壹個產品,他的組成和值的情況如下。

如果全覆蓋的話,關正向的測試用例就有 10 2 2*100=4000 ,如果包括反向的測試用例的話,則 >4000 條測試用例。

對於listbox,可以選擇的值是0-9,由於0最特殊(其他的值要麽是正數要麽是負數), 所以,對於checklist 我們把它簡化成 0 和 others(1-9)

checkbox 和 radio button 已經無法再簡化了,則繼續保留

對於textbox,可以輸入的值是1-100,我們可以把它的值簡化成 valid Int , invalid Int and Alpha Special Char

簡化後的結果如下:

則有 2 22 3=24 個testcases,也就是我們把 4000+的testcases降到了24個testcases *

步驟:

含有值越多的變量放在第壹位,第二多的第二位,最少的最後壹位,以此類推。

根據第壹列和第二列值的可能性計算出第壹列需要幾行,這個例子中,第壹列3個值,第二列2個值,所以需要3*2=6行

檢查下每壹列和第三列之間是否都覆蓋了不同組合情況。

這樣第壹列和第三列,第二列和第三列都能覆蓋不同的組合情況。

檢查下每壹列和第四列之間是否都覆蓋了不同組合情況。

所以我們把五行和第六行換壹下位置,如下

再次檢查下每壹列和第四列之間是否都覆蓋了不同組合情況.發現都符合。

則最終結果就是上面這個表,每壹行代表壹個測試用例。

使用pairwise組合測試的方法,我們把測試用例從24個降到了6個。

上面的例子比較簡單,所以通過調整位置最終能滿足要求,可是有時候變量多的時候,無論妳怎麽調整都沒法滿足要求,也許滿足了第三列和第四列,可是第二列和第四列就不滿足了。這時候可以適當考慮加幾行來解決這個問題。

比如在上面的例子裏再加兩個checkbox這時就無法滿足,則需要加上兩行:

加上兩行,checkbox3為 hex和dec

前面的例子,讓我們對於因子組合測試覆蓋Pairwise有比較直觀的了解。不過對於人肉生成pairwise測試用例還是有點復雜的,特別當妳的變量特別多的時候,目前市面上也有壹些工具可以幫妳生成pairwise測試用例。

比如:

在下面的章節我將會介紹幾個工具的使用。