您好,我對如何爲成對測試創建表格有疑問。 例如,如果我有三個參數,每個參數可以獲得兩個不同的值。那麼如何創建一個包含所有可能組合的輸入表?它看起來像這樣嗎?成對測試:如何創建表格?
| 1 2 3
-----------
1 | 1 1 1
2 | 1 2 2
3 | 1 1 2
4 | 1 2 1
每個參數是否對應每列? 但是由於我有3個參數,每個參數可以取2個不同的值。測試用例的數量應該是2^3
不是嗎?
您好,我對如何爲成對測試創建表格有疑問。 例如,如果我有三個參數,每個參數可以獲得兩個不同的值。那麼如何創建一個包含所有可能組合的輸入表?它看起來像這樣嗎?成對測試:如何創建表格?
| 1 2 3
-----------
1 | 1 1 1
2 | 1 2 2
3 | 1 1 2
4 | 1 2 1
每個參數是否對應每列? 但是由於我有3個參數,每個參數可以取2個不同的值。測試用例的數量應該是2^3
不是嗎?
有鏈接到這裏一些有用的工具的好文章:
http://blog.josephwilk.net/ruby/pairwise-testing-with-cucumber.html
有趣的文章,謝謝你 – 2011-05-17 14:32:48
對於參數:每列是一個參數,每一行都是可能的組合。下面是表:
| 1 2 3
-----------
1 | 1 1 1
2 | 2 1 1
3 | 1 2 1
4 | 1 1 2
5 | 2 2 1
6 | 2 1 2
7 | 1 2 2
8 | 2 2 2
所以2^3 = 8個可能的組合,你可以看到:)
對於值:每列是一個值,並且每行是一個可能的組合:
| 1 2
--------
1 | 1 1
2 | 2 1
3 | 1 2
4 | 2 2
他們是2^2 = 4種可能的組合。希望能幫助到你。
1)請注意,成對測試是不是所有的掃描參數的值的詳盡所有可能的組合。首先,這樣的掃描會給你大量的測試用例,幾乎沒有現有的系統能夠運行所有的測試用例。其次,軟件系統的成對測試是基於希望具有最高數量可能值的兩個參數是該系統故障的最高百分比的罪魁禍首。
這當然只是一個希望,而且迄今爲止幾乎沒有嚴謹的科學研究能夠證明這一點。
2)我在討論成對測試的文檔中經常看到的東西,如this,是所有可能值的列表(又名成對測試表)不是以一種深思熟慮的方式構建的。這造成混亂。
在您的情況下,所有參數的可能值(2個值)都是相同的,因此您可以選擇這三個參數中的任意兩個參數來構建表格。你可以注意的是組合的順序:你首先迭代右上角的參數,然後左邊的下一個參數,依此類推......
如果你有兩個參數p1和p2, p1有兩個可能的值Apple和Orange;和P2具有紅色和藍色兩個可能的值,那麼你的配對試驗檯將是:
index| p1 p2
------------------
1 | apple red
2 | apple blue
3 | orange red
4 | orange blue
注意成對測試** **沒有得到有關**所有可能的組合**而是要確保兩個參數的每個組合至少由一個測試用例覆蓋。 – 2011-05-16 10:04:55
@Lieven,是的,我意識到這一點,但是你不需要先製作這張表,然後找出所有的配對嗎? – starcorn 2011-05-16 10:09:07
@starcom - 作爲學習練習和/或簡單情況下,這可能是有用的,但除此之外,你應該使用一個工具。有許多免費工具可用。我們使用Microsoft的PICT。 – 2011-05-16 10:18:19