C语言正交表测试用例,用正交表设计测试用例
正交試驗(yàn)設(shè)計(jì)(Orthogonal experimental design)是研究多因素多水平的一種設(shè)計(jì)方法,它是根據(jù)正交性從全面試驗(yàn)中挑選出部分有代表性的點(diǎn)進(jìn)行試驗(yàn),這些有代表性的點(diǎn)具備了“均勻分散,齊整可比”的特點(diǎn),正交試驗(yàn)設(shè)計(jì)是一種基于正交表的、高效率、快速、經(jīng)濟(jì)的試驗(yàn)。
什么是因素(Factor):在一項(xiàng)試驗(yàn)中,凡欲考察的變量稱為因素(變量)
什么是水平(位級(jí))(Level):在試驗(yàn)范圍內(nèi),因素被考察的值稱為水平(變量的取值)
正交表的構(gòu)成:
行數(shù)(Runs):正交表中的行的個(gè)數(shù),即試驗(yàn)的次數(shù)。
因素?cái)?shù)(Factors):正交表中列的個(gè)數(shù)。
水平數(shù)(Levels):任何單個(gè)因素能夠取得的值的最大個(gè)數(shù)。正交表中的包含的值為從0到數(shù)“水平數(shù)-1”或從1到“水平數(shù)”
正交表的表示形式: L行數(shù)(水平數(shù)因素?cái)?shù))
正交表:
各列中出現(xiàn)的最大數(shù)字相同的正交表稱為相同水平正交表。如L4(23)、L8(27)、L12(211)等各列中最大數(shù)字為2,稱為兩水平正交表;L9(34)、L27(313)等各列中最大數(shù)字為3,稱為3水平正交表。凡是標(biāo)準(zhǔn)表,水平數(shù)都相等,且水平數(shù)只能取素?cái)?shù)或素?cái)?shù)冪。因此有7水平、9水平的標(biāo)準(zhǔn)表,沒有6水平,8水平的標(biāo)準(zhǔn)表。
例如L9(34),它表示需做9次實(shí)驗(yàn),最多可觀察4個(gè)因素,每個(gè)因素均為3水平。
混合正交表:
一個(gè)正交表中也可以各列的水平數(shù)不相等,我們稱它為混合型正交表,如L8(4×24),即:L8(41×24)此表的5列中,有1列為4水平,4列為2水平。再如L16(44×23),L16(4×212)等都混合水平正交表。
正交表的兩個(gè)特點(diǎn):
正交表必須滿足這兩個(gè)特點(diǎn),有一條不滿足,就不是正交表。
1)每列中不同數(shù)字出現(xiàn)的次數(shù)相等。例如,在兩水平正交表中,任何一列都有數(shù)碼“1”與“2”,且任何一列中它們出現(xiàn)的次數(shù)是相等的;在三水平正交表中,任何一列都有“1”、“2”、“3”,且在任一列的出現(xiàn)數(shù)均相等。這一特點(diǎn)表明每個(gè)因素的每個(gè)水平與其它因素的每個(gè)水平參與試驗(yàn)的幾率是完全相同的,從而保證了在各個(gè)水平中最大限度地排除了其它因素水平的干擾,能有效地比較試驗(yàn)結(jié)果并找出最優(yōu)的試驗(yàn)條件。
2)在任意兩列其橫向組成的數(shù)字對(duì)中,每種數(shù)字對(duì)出現(xiàn)的次數(shù)相等。例如,在兩水平正交表中,任何兩列(同一橫行內(nèi))有序?qū)ψ庸灿?種:(1,1)、(1,2)、(2,1)、(2,2)。每種對(duì)數(shù)出現(xiàn)次數(shù)相等。在三水平情況下,任何兩列(同一橫行內(nèi))有序?qū)灿?種,1.1、1.2、1.3、2.1、2.2、2.3、3.1、3.2、3.3,且每對(duì)出現(xiàn)數(shù)也均相等。這個(gè)特點(diǎn)保證了試驗(yàn)點(diǎn)均勻地分散在因素與水平的完全組合之中,因此具有很強(qiáng)的代表性。
以上兩點(diǎn)充分的體現(xiàn)了正交表的兩大優(yōu)越性,即“均勻分散性,整齊可比”。通俗的說,每個(gè)因素的每個(gè)水平與另一個(gè)因素各水平各碰一次,這就是正交性。
混合正交表選擇正交表的時(shí)候需滿足:水平數(shù)>=max(水平1,水平2,...),因素?cái)?shù)>=(因素1+因素2+因素3+…)
混合正交表選擇正交表的示例:
我們分析一下:
1、被測(cè)項(xiàng)目中一共有四個(gè)被測(cè)對(duì)象(4個(gè)因素),每個(gè)被測(cè)對(duì)象的狀態(tài)(水平數(shù))都不一樣。其中,A、C水平數(shù)均為3,B的水平數(shù)為4,D的水平數(shù)為2。
2、選擇正交表:
本題,水平數(shù)>=max(3,4,2)=4,因素?cái)?shù)>=4,查詢附錄中的正交表,只有L16(45)的行數(shù)最少,行數(shù)取最少的一個(gè),比較適合。
3、最后選中正交表公式:L16(45)
另外,當(dāng)水平數(shù)和因素?cái)?shù)的具體值確定時(shí),正確的行數(shù)(試驗(yàn)次數(shù))的計(jì)算方法是:
試驗(yàn)次數(shù)(行數(shù))=∑(每列水平數(shù)-1)+1
如:L18(36 *61)=(3-1)*6+(6-1)*1+1=18;L8(27)=(2-1)*7+1=8
31/3123>
總結(jié)
以上是生活随笔為你收集整理的C语言正交表测试用例,用正交表设计测试用例的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 正交表测试与混合正交表工具
- 下一篇: ITK实现DICM图像转换成BMP图像