昨天晚上小組討論get到一個新的知識點,正交表測試法,請原諒我的無知,真的是第一次聽說。因為沒有實踐過在討論中理解有限,今天查詢了一些資料這個知識點慢慢清晰起來,現(xiàn)總結(jié)如下:
正交試驗法是研究多因素、多水平的一種試驗法,它是利用正交表來對試驗進行設(shè)計,通過少數(shù)的試驗替代全面試驗,根據(jù)正交表的正交性從全面試驗中挑選適量的、有代表性的點進行試驗,這些有代表性的點具備了“均勻分散,整齊可比”的特點。因此正交表法是一種有效減少測試用例個數(shù)的設(shè)計方法。
2正交表的使用
為了能夠深入的理解正交法的使用,下面舉個例子
如上為一個個人信息查詢窗口,輸入條件的組合為:
姓名:填,不填身份證號:填,不填 手機號碼:填,不填
此處有三個條件,每個條件有兩個輸入?yún)?shù),如果全部要覆蓋輸入組合,則需要以下8個測試用例:
1填寫姓名,填寫身份證號,填寫手機號碼
2填寫姓名,填寫身份證號,不填寫手機號碼
3填寫姓名,不填寫身份證號,填寫手機號碼
4填寫姓名,不填寫身份證號,不填寫手機號碼
5不填寫姓名,填寫身份證號,填寫手機號碼
6不填寫姓名,填寫身份證號,不填寫手機號碼
7不填寫姓名,不填寫身份證號,填寫手機號碼
8不填寫姓名,不填寫身份證號,不填寫手機號碼
?????? 這只是一個輸入條件比較少的情況,如果考慮更多的輸入條件及參數(shù),則有可能需要成千上萬的測試用例,例如:5個輸入條件,5個輸入?yún)?shù),如果考慮全部覆蓋,則需要5*5*5*5*5=3125個測試用例,這對測試人員來講工作量很大。那么通過正交表就可以簡化測試用例,用最少的測試用例獲得盡可能全面的覆蓋率。正交表設(shè)計測試用例的步驟如下:
(1)確定有哪些因子。例如例子中的姓名、身份證號、手機號碼,即有三個因子
(2)每個因子有幾種輸入。例如:姓名有填和不填兩種輸入
(3)選擇合適的正交表,此處就可以選擇,其中4代表采用這個正交表需要執(zhí)行4個測試用例,2為水平數(shù)(即輸入條件的參數(shù)個數(shù))3位因子數(shù)(即輸入條件的個數(shù))(備注:計算公式 一般用L代表正交表,N代表正交表的行數(shù),M代表每個因子的水平數(shù)(輸入條件的參數(shù)個數(shù)),K代表因子數(shù)即正交表的列數(shù),正交表的行數(shù)N=K*(M-1)+1,此處K=3 M=2則N=4)
??? 正交表如下:
根據(jù)正交表可得:姓名?? 身份證號?? 手機號碼
????????????????????????????? 不填???? 不填????????? 不填
?????????????????????????????? 不填???? 填????????????? 不填
???????????????????????????????? 填????? 不填?????????? 填
???????????????????????????????? 填???????? 填???????????? 填
(4)把每一行的因子水平的組合作為一個測試用例。這樣就把前面的8個測試用例簡化為4個測試用例:
1不填寫姓名,不填寫身份證號,不填寫手機號碼
2不填寫姓名,填寫身份證號,不填寫手機號碼
3填寫姓名,不填寫身份證號,填寫手機號碼
4填寫姓名, 填寫身份證號,填寫手機號碼