本節書摘來自異步社群《軟體測試技術實戰:設計、工具及管理》一書中的第2章,第2.5節運用正交法設計測試用例,作者顧翔,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視。
2.5 運用正交法設計測試用例
案例2-14:網站相容性組合測試。
本節介紹采用正交法設計多種組合情況下的測試用例。
下面是軟體測試某網站系統的例子。
(1)8種浏覽器:ie9、ie10、ie11、netscape 9.0、火狐36、safari 5.3、firefox 35、百度7.2。
(2)3種office插件:office 2007、office 2010、office 2013。
(3)6種用戶端作業系統:windows xp、windows vista、windows 8.0、windows 8.1、windows 9、windows 9.1。
(4)3種伺服器軟體:iis、apache、weblogic。
(5)3種伺服器端作業系統:windows 2003、windows 2008、linux。
如果達到100%組合的軟體測試,需要設計8×3×6×3×3=1296個測試用例,這個資料非常龐大,利用正交法可以在最大程度上減少測試用例,而且可以保證軟體測試一定的可靠性。下面簡單介紹一下正交法。
2.5.1 正交法
正交法又稱兩兩組合法,它保證測試用例中的兩兩組合不同,但兩兩覆寫所有的組合。比如,現在有3個變量,每個變量有兩種取值,标記為0和1。這樣,測試用例為2×2×2=8個,這種情況下的正交表見表2-15。
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicWZwpmLjhjYhZDOwYGMxMTNiRTNhJGO4ITZjhTMiZGOzU2NzEmZkFTNzYjZk9CXt92Yu4GZjlGbh5SZslmZxl3Lc9CX6MHc0RHaiojIsJye.jpeg)
第1、3、2、4行,ab分别對應00、01、10、11(滿足了0和1的所有4種組合)。
第2、1、3、4行,bc分别對應00、01、10、11(滿足了0和1的所有4種組合)。
第3、1、2、4行,ac分别對應00、01、10、11(滿足了0和1的所有4種組合)。
這樣,8個測試用例就被簡化為4個,減少率為50%。這種情況标記為:
l4(23)
這裡,2代表有2個取值,3代表有3個變量,4代表有4種組合。
2.5.2 浏覽器組合軟體測試
下面介紹本節開始的那個網站如何使用正交法來設計測試用例。
(3)6種用戶端作業系統:windows xp、windows vista、windows 8.0、windows 8.1、windows 9.0、windows 9.1。
8個取值有1個,6個取值有1個,3個取值有3個,是以需要找到是否存在816133正交表,這樣的正交表不存在,但是在正交表中找到了最接近的l64(8243)表,為此需要對原來的取值進行調整,加入no used選項,調整後的結果如下。
(2)3種office插件:office 2007、office 2010、office 2013、no used。
(3)6種用戶端作業系統:windows xp、windows vista、windows 8.0、windows 8.1、windows 9.0、windows 9.1、no used、no used。
(4)3種伺服器軟體:iis、apache、weblogic、no used。
(5)3種伺服器端作業系統:windows 2003、windows 2008、linux、no used。
l64(8243)的正交表如圖2-13所示。
用相應的值代替表中的數字,如表2-16所示。
把所有的值都代入l64(8243)正交表,得到如表2-17所示。
表2-17 得到的測試用例
這樣,1296個測試用例就被簡化為64個,減少率為95%。關于正交表如何獲得,是有許多工具可以産生的,讀者可以在網上搜尋。