分析白盒測試邏輯覆蓋中條件組合覆蓋的方法,結(jié)合正交表的特征,提出了一種基于正交表的條件組合測試用例設(shè)計方法,并針對具體實際問題給出了方法說明,意在減少測試用例冗余度,提升測試效率。
【關(guān)鍵詞】正交表 條件組合覆蓋 白盒測試
1 引言
隨著互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,軟件開發(fā)周期越來越短,軟件測試人員的時間也經(jīng)常被壓縮,時長面臨測試任務(wù)量大和測試時間短的矛盾。條件組合覆蓋是白盒測試覆蓋率較高的一種測試用例設(shè)計方法,但測試用例條數(shù)較多,測試執(zhí)行工作量較大,測試執(zhí)行效率較差。正交表是基于正交實驗法提出的一種方法,這種方法普遍用于黑盒測試用例設(shè)計中,本章將結(jié)合正交表方法對條件組合覆蓋算法進行改進,減少測試冗余度,節(jié)約測試執(zhí)行時間。
2 正交表
正交表是一個二維表格,其表達形式為:L行數(shù)(水平數(shù)因素數(shù))
行數(shù)(Runs):正交表中的行的個數(shù),即試驗的次數(shù)。
因素數(shù)(Factors):正交表中列的個數(shù)。
水平數(shù)(Levels):任何單個因素能夠取得的值的最大個數(shù)。正交表中的包含的值為從0到“水平數(shù)-1”或從1到“水平數(shù)”
如L4(23),3因素2水平,如表1。
正交試驗設(shè)計是研究多因素多水平的一種設(shè)計方法,它是根據(jù)正交性從全面試驗中挑選出部分有代表性的點進行試驗,這些有代表性的點具備了“均勻分散,齊整可比”的特點。
2.1 整齊可比性
在同一張正交表中,每個因素的每個水平出現(xiàn)的次數(shù)是完全相同的。由于在試驗中每個因素的每個水平與其它因素的每個水平參與試驗的機率是完全相同的,這就保證在各個水平中最大程度的排除了其它因素水平的干擾。因而,能最有效地進行比較和作出展望,容易找到好的試驗條件。
2.2 均衡分散性
在同一張正交表中,任意兩列(兩個因素)的水平搭配(橫向形成的數(shù)字對)是完全相同的。這樣就保證了試驗條件均衡地分散在因素水平的完全組合之中,因而具有很強的代表性,容易得到好的試驗條件。
3 條件組合覆蓋
條件組合覆蓋,也稱多條件覆蓋MCC (Multiple Condition Coverage),是白盒測試中覆蓋指標較高的一種設(shè)計方法,這種方法在設(shè)計測試用例,使得每個判定中條件的各種可能組合都至少出現(xiàn)一次。當條件表達式中判定語句較多時,條件組合值比較多。
針對判斷是否是閏年程序流程圖1,使用條件組合方法進行測試用例設(shè)計,其中條件表達式的3個判定條件進行完成組合,共有8條用例,用例如表2。
4 使用正交表改進后條件組合覆蓋
整個條件表達式有三個判定條件,也就是因素(變量)的個數(shù)是3,每個判定條件的可能取值有兩個(T和F),因此,因素水平(變量的取值)的個數(shù)是2,選擇3因素2水平的正交表,即表1,設(shè)計測試用例如表3。
5 結(jié)論
文章在研究白盒測試條件組合覆蓋測試用例設(shè)計的方法的基礎(chǔ)之上,結(jié)合黑盒測試用例設(shè)計的正交表方法,使判斷是否是閏年程序流程圖白盒測試用例的條數(shù)由八條減少為四條,由于正交表本身的特征,在條數(shù)減少的情況下,又保證了測試用例的覆蓋,減少了測試用例執(zhí)行的工作量,尤其是當條件表達式內(nèi)部的判定條件較多時,此種方法可以很大程度上提升測試執(zhí)行效率。
參考文獻
[1]曹薇.軟件測試[M].北京:清華大學出版社,2011.
[2]衛(wèi)延偉.白盒測試系統(tǒng)的設(shè)計與實現(xiàn)[D].武漢:華中科技大學,2013.
[3]綦晶.白盒測試方法研究[D].哈爾濱.哈爾濱工程大學,2008.
[4]KuhfeldWF.orthogonalArrays[EB/OL].[2010].http://support.sas.com/techsup/ technotel/ts723.html.
[5]張應(yīng)山.正交表的數(shù)據(jù)分析及其構(gòu)造[D].上海:華東師范大學,2006.
[6]龐善起.正交表的構(gòu)造方法及其應(yīng)用[D].西安:西安電子科技大學,2003.
[7]許麗花.軟件測試[M].北京: 高等教育出版社,2013:131-132.
[8]丁懷寶.約束條件下組合測試用例生成的一種新方法[D].上海:上海師范大學,2010.
[9]呂振洪.一種快速的條件組合算法[J].z浙江師范大學學報(自然科學版),2006,29(01):52-54.
作者簡介
賈利娟(1982-),女,河北省保定市人。2014年9月?lián)未T士研究生助教。
作者單位
南京工業(yè)職業(yè)技術(shù)學院計算機與軟件學院 江蘇省南京市 210023