昨天晚上小組討論get到一個(gè)新的知識(shí)點(diǎn),正交表測(cè)試法,請(qǐng)?jiān)徫业臒o(wú)知,真的是第一次聽(tīng)說(shuō)。因?yàn)闆](méi)有實(shí)踐過(guò)在討論中理解有限,今天查詢(xún)了一些資料這個(gè)知識(shí)點(diǎn)慢慢清晰起來(lái),現(xiàn)總結(jié)如下:
正交試驗(yàn)法是研究多因素、多水平的一種試驗(yàn)法,它是利用正交表來(lái)對(duì)試驗(yàn)進(jìn)行設(shè)計(jì),通過(guò)少數(shù)的試驗(yàn)替代全面試驗(yàn),根據(jù)正交表的正交性從全面試驗(yàn)中挑選適量的、有代表性的點(diǎn)進(jìn)行試驗(yàn),這些有代表性的點(diǎn)具備了“均勻分散,整齊可比”的特點(diǎn)。因此正交表法是一種有效減少測(cè)試用例個(gè)數(shù)的設(shè)計(jì)方法。
2正交表的使用
為了能夠深入的理解正交法的使用,下面舉個(gè)例子

如上為一個(gè)個(gè)人信息查詢(xún)窗口,輸入條件的組合為:
姓名:填,不填身份證號(hào):填,不填 手機(jī)號(hào)碼:填,不填
此處有三個(gè)條件,每個(gè)條件有兩個(gè)輸入?yún)?shù),如果全部要覆蓋輸入組合,則需要以下8個(gè)測(cè)試用例:
1填寫(xiě)姓名,填寫(xiě)身份證號(hào),填寫(xiě)手機(jī)號(hào)碼
2填寫(xiě)姓名,填寫(xiě)身份證號(hào),不填寫(xiě)手機(jī)號(hào)碼
3填寫(xiě)姓名,不填寫(xiě)身份證號(hào),填寫(xiě)手機(jī)號(hào)碼
4填寫(xiě)姓名,不填寫(xiě)身份證號(hào),不填寫(xiě)手機(jī)號(hào)碼
5不填寫(xiě)姓名,填寫(xiě)身份證號(hào),填寫(xiě)手機(jī)號(hào)碼
6不填寫(xiě)姓名,填寫(xiě)身份證號(hào),不填寫(xiě)手機(jī)號(hào)碼
7不填寫(xiě)姓名,不填寫(xiě)身份證號(hào),填寫(xiě)手機(jī)號(hào)碼
8不填寫(xiě)姓名,不填寫(xiě)身份證號(hào),不填寫(xiě)手機(jī)號(hào)碼
?????? 這只是一個(gè)輸入條件比較少的情況,如果考慮更多的輸入條件及參數(shù),則有可能需要成千上萬(wàn)的測(cè)試用例,例如:5個(gè)輸入條件,5個(gè)輸入?yún)?shù),如果考慮全部覆蓋,則需要5*5*5*5*5=3125個(gè)測(cè)試用例,這對(duì)測(cè)試人員來(lái)講工作量很大。那么通過(guò)正交表就可以簡(jiǎn)化測(cè)試用例,用最少的測(cè)試用例獲得盡可能全面的覆蓋率。正交表設(shè)計(jì)測(cè)試用例的步驟如下:
(1)確定有哪些因子。例如例子中的姓名、身份證號(hào)、手機(jī)號(hào)碼,即有三個(gè)因子
(2)每個(gè)因子有幾種輸入。例如:姓名有填和不填兩種輸入
(3)選擇合適的正交表,此處就可以選擇,其中4代表采用這個(gè)正交表需要執(zhí)行4個(gè)測(cè)試用例,2為水平數(shù)(即輸入條件的參數(shù)個(gè)數(shù))3位因子數(shù)(即輸入條件的個(gè)數(shù))(備注:計(jì)算公式 一般用L代表正交表,N代表正交表的行數(shù),M代表每個(gè)因子的水平數(shù)(輸入條件的參數(shù)個(gè)數(shù)),K代表因子數(shù)即正交表的列數(shù),正交表的行數(shù)N=K*(M-1)+1,此處K=3 M=2則N=4)
??? 正交表如下:

根據(jù)正交表可得:姓名?? 身份證號(hào)?? 手機(jī)號(hào)碼
????????????????????????????? 不填???? 不填????????? 不填
?????????????????????????????? 不填???? 填????????????? 不填
???????????????????????????????? 填????? 不填?????????? 填
???????????????????????????????? 填???????? 填???????????? 填
(4)把每一行的因子水平的組合作為一個(gè)測(cè)試用例。這樣就把前面的8個(gè)測(cè)試用例簡(jiǎn)化為4個(gè)測(cè)試用例:
1不填寫(xiě)姓名,不填寫(xiě)身份證號(hào),不填寫(xiě)手機(jī)號(hào)碼
2不填寫(xiě)姓名,填寫(xiě)身份證號(hào),不填寫(xiě)手機(jī)號(hào)碼
3填寫(xiě)姓名,不填寫(xiě)身份證號(hào),填寫(xiě)手機(jī)號(hào)碼
4填寫(xiě)姓名, 填寫(xiě)身份證號(hào),填寫(xiě)手機(jī)號(hào)碼