Pairwise testing 是一種產生測試個案的方法, 當你有些排列組合的狀況要測試時, 這個方法可以幫助你有效產生出要測試的組合.
 
我們來看個小案例
這個案例有三個變數: 手機, 功能, 和賣的模式.
每個變數有以下可能得值:
    手機: Nokia, Ericsson, Motorola. 
    功能: voice 和 text. 
    賣的模式: UK 和 oversea
因此你會有 3 x 2 x 2 = 12 種組合要做測試
image
 
如果你使用 pairwise testing 中 all-pairs 的方式產生測試組合, 你可以得到下面 6 種組合
image
 
看起來挺不錯的, 似乎這些產生的組合還蠻均勻的, 然後組合的數量立刻砍半, 挺好的.
 
若是你想要更詳細了解 Pairwise testing 是什麼, 可以參考以下文.
(1) All-pairs testing
(2) Pairwise Testing Or All-Pairs Testing Tutorial With Tools And Examples
 
 
但是, 似乎沒有看到太多人使用, 這是為什麼呢?
 
(1) 我想應該是有很多人不知道這個方法, 所以導致沒人使用. 這可能是主因
 
(2) 並不是每個組合都有相同的出現機率
如果有些組合很少出現, 有些組合其實是最常出現, 如果利用 pairwise testing 方式去產生, 很可能最重要最常出現的組合並不會被挑中. 那這樣的測試可能就不具代表性
 
(3) 並不是每個產生的組合是有意義的
如果你有兩個變數 瀏覽器 和 作業系統. 他們可能得值如下
瀏覽器: IE, Edge, FireFox
作業系統: win 7, win 10
這時候如果產生出 Edge + win 7 的組合, 我想這應該是無用的組合, Edge 應該是無法跑在 win 7 上面. 
 
(4) 並不是每個組合都有相同的嚴重性
有些組合可能已經行之有年, 上面的問題已經被抓的差不多. 但是有些組合可能才剛出現, 上面有很多問題等待處理. 這種問題多的應該要被放到組合中測試, 不用管他是否被挑中. 
 
 
所以看到這邊, 你應該知道, 雖然 pairwise testing 是可以幫你挑出少量有代表性的測試組合, 但是你必須根據你的狀況, 檢查這些產生出來的組合是否合適. 
 
建議: 天下沒有所謂萬靈丹, 可以適用於所有環境. 你必須根據你的狀況, 來選擇合適的測試方法. 而不是把問題一股腦套用手邊現有的方法
 
參考資料: Pairwise Testing: A Best Practice That Isn't
arrow
arrow
    全站熱搜

    kojenchieh 發表在 痞客邦 留言(0) 人氣()