qileilove

          blog已經(jīng)轉(zhuǎn)移至github,大家請訪問 http://qaseven.github.io/

          用正交表設(shè)計測試用例

           正交試驗設(shè)計(Orthogonal experimental design)是研究多因素多水平的一種設(shè)計方法,它是根據(jù)正交性從全面試驗中挑選出部分有代表性的點進行試驗,這些有代表性的點具備了“均勻分散,齊整可比”的特點,正交試驗設(shè)計是一種基于正交表的、高效率、快速、經(jīng)濟的試驗。
            什么是因素(Factor):在一項試驗中,凡欲考察的變量稱為因素(變量)
            什么是水平(位級)(Level):在試驗范圍內(nèi),因素被考察的值稱為水平(變量的取值)
            正交表的構(gòu)成:
            行數(shù)(Runs):正交表中的行的個數(shù),即試驗的次數(shù)。
            因素數(shù)(Factors):正交表中列的個數(shù)。
            水平數(shù)(Levels):任何單個因素能夠取得的值的最大個數(shù)。正交表中的包含的值為從0到數(shù)“水平數(shù)-1”或從1到“水平數(shù)”
            正交表的表示形式: L行數(shù)(水平數(shù)因素數(shù))
            正交表:
            各列中出現(xiàn)的最大數(shù)字相同的正交表稱為相同水平正交表。如L4(23)、L8(27)、L12(211)等各列中最大數(shù)字為2,稱為兩水平正交表;L9(34)、L27(313)等各列中最大數(shù)字為3,稱為3水平正交表。凡是標準表,水平數(shù)都相等,且水平數(shù)只能取素數(shù)或素數(shù)冪。因此有7水平、9水平的標準表,沒有6水平,8水平的標準表。
            例如L9(34),它表示需做9次實驗,最多可觀察4個因素,每個因素均為3水平。
            混合正交表:
            一個正交表中也可以各列的水平數(shù)不相等,我們稱它為混合型正交表,如L8(4×24),即:L8(41×24)此表的5列中,有1列為4水平,4列為2水平。再如L16(44×23),L16(4×212)等都混合水平正交表。
            正交表的兩個特點:
            正交表必須滿足這兩個特點,有一條不滿足,就不是正交表。
            1)每列中不同數(shù)字出現(xiàn)的次數(shù)相等。例如,在兩水平正交表中,任何一列都有數(shù)碼“1”與“2”,且任何一列中它們出現(xiàn)的次數(shù)是相等的;在三水平正交表中,任何一列都有“1”、“2”、“3”,且在任一列的出現(xiàn)數(shù)均相等。這一特點表明每個因素的每個水平與其它因素的每個水平參與試驗的幾率是完全相同的,從而保證了在各個水平中最大限度地排除了其它因素水平的干擾,能有效地比較試驗結(jié)果并找出最優(yōu)的試驗條件。
            2)在任意兩列其橫向組成的數(shù)字對中,每種數(shù)字對出現(xiàn)的次數(shù)相等。例如,在兩水平正交表中,任何兩列(同一橫行內(nèi))有序?qū)ψ庸灿?種:(1,1)、(1,2)、(2,1)、(2,2)。每種對數(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,且每對出現(xiàn)數(shù)也均相等。這個特點保證了試驗點均勻地分散在因素與水平的完全組合之中,因此具有很強的代表性。
            以上兩點充分的體現(xiàn)了正交表的兩大優(yōu)越性,即“均勻分散性,整齊可比”。通俗的說,每個因素的每個水平與另一個因素各水平各碰一次,這就是正交性。
            混合正交表選擇正交表的時候需滿足:水平數(shù)>=max(水平1,水平2,...),因素數(shù)>=(因素1+因素2+因素3+…)
            混合正交表選擇正交表的示例:
            我們分析一下:
            1、被測項目中一共有四個被測對象(4個因素),每個被測對象的狀態(tài)(水平數(shù))都不一樣。其中,A、C水平數(shù)均為3,B的水平數(shù)為4,D的水平數(shù)為2。
            2、選擇正交表:
            本題,水平數(shù)>=max(3,4,2)=4,因素數(shù)>=4,查詢附錄中的正交表,只有L16(45)的行數(shù)最少,行數(shù)取最少的一個,比較適合。
            3、最后選中正交表公式:L16(45)
            另外,當水平數(shù)和因素數(shù)的具體值確定時,正確的行數(shù)(試驗次數(shù))的計算方法是:
            試驗次數(shù)(行數(shù))=∑(每列水平數(shù)-1)+1
            如:L18(36 *61)=(3-1)*6+(6-1)*1+1=18;L8(27)=(2-1)*7+1=8
          用正交表設(shè)計測試用例
            設(shè)計測試用例的步驟:
            1、有哪些因素(變量)
            2、每個因素有哪幾個水平(變量的取值)
            3、選擇一個合適的正交表
            4、把變量的值映射到表中
            5、把每一行的各因素水平的組合作為一個測試用例
            6、加上你認為可疑且沒有在表中出現(xiàn)的用例組合
            如何選擇正交表
            1、考慮因素(變量)的個數(shù)
            2、考慮因素水平(變量的取值)的個數(shù)
            3、考慮正交表的行數(shù)
            4、取行數(shù)最少的一個
            設(shè)計測試用例時的三種情況:
            1、因素數(shù)(變量)、水平數(shù)(變量值)相符
            水平數(shù)(變量的取值)相同、因素數(shù)(變量)剛好符合某一正交表,則直接套用正交表,得到用例。
            例子:
            對某人進行查詢,假設(shè)查詢某個人時有三個查詢條件:
            根據(jù)“姓名”進行查詢
            根據(jù)“身份證號碼”查詢
            根據(jù)“手機號碼”查詢
            考慮查詢條件要么不填寫,要么填寫,此時可用正交表進行設(shè)計
            ① 因素數(shù)和水平數(shù)
            有三個因素:姓名、身份證號、手機號碼。每個因素有兩個水平:
            姓名:填、不填
            身份證號:填、不填
            手機號碼:填、不填
            ② 選擇正交表
            表中的因素數(shù)>=3
            表中至少有三個因素的水平數(shù)>=2
            行數(shù)取最少的一個
            結(jié)果:L4(2^3)
            ③ 變量映射
            姓名:1→填寫,2→不填寫;
            身份證號:1→填寫,2→不填寫;
            手機號碼:1→填寫,2→不填寫;
            ④ 用L4(2^3)設(shè)計的測試用例
            測試用例如下:
            1:填寫姓名、填寫身份證號、填寫手機號
            2:填寫姓名、不填身份證號、不填手機號
            3:不填姓名、填寫身份證號、不填手機號
            4:不填姓名、不填身份證號、填寫手機號
            ⑤增補測試用例
            5:不填姓名、不填身份證號、不填手機號
            測試用例減少數(shù):8→5
            2、因素數(shù)不相同
            水平數(shù)(變量的取值)與某正交表相同,但因素數(shù)(變量)卻不相同,則取因素數(shù)最接近但略大于實際值的正交表表,套用之后,最后一列因素去掉即可。
            例子:
            兼容性測試:
            操作系統(tǒng):2000、XP、2003
            瀏覽器:IE6.0、IE7.0、TT
            殺毒軟件:卡巴、金山、諾頓
            如果全部進行測試的話,3^3=27個組合,需要進行27次測試。
            ① 因素數(shù)和水平數(shù)
            有三個因素:
            操作系統(tǒng)、瀏覽器、殺毒軟件
            每個因素有三個水平。
            ② 選擇正交表
            表中的因素數(shù)>=3
            表中至少有三個因素的水平數(shù)>=3
            行數(shù)取最少的一個
            結(jié)果:L9(3^4),如下圖:

          ③ 變量映射
            操作系統(tǒng):1→2000,2→XP,3→2003
            瀏覽器:1→IE6.0,2→IE7.0,3→TT
            殺毒軟件:1→卡巴,2→金山,3→諾頓
            ④用L9(3^4)設(shè)計的測試用例
            測試用例如下:
            2000、IE6.0、卡巴
            2000、IE7.0、諾頓
            2000、TT、金山
            XP、IE6.0、諾頓
            XP、IE7.0、金山
            XP、TT、卡巴
            2003、IE6.0、金山
            2003、IE7.0、卡巴
            2003、TT、諾頓
            ⑤增補測試用例
            由于目前IE6.0、XP、卡巴的使用量很高,故增添以下測試用例:
            XP、IE6.0、金山
            XP、IE6.0、卡巴
            2003、IE6.0、卡巴
            測試用例減少數(shù):27→12
            3、水平數(shù)不相同
            因素(變量)與某正交表相同,但水平數(shù)(變量的取值)不相同。
            例子:
            假設(shè)有一個系統(tǒng)有5個獨立的變量(A,B,C,D,E)。變量A和B都有兩個取值(A1 、A2和B1、B2)。變量C和D都有三個可能的取值(C1、C2、C3和D1、D2、D3)。變量E有六個可能的取值(E1、E2、E3、E4、E5、E6)。
            ① 因素數(shù)和水平數(shù)
            有五個因素(變量):
            A、B、C、D和E
            兩個因素有兩個水平(變量的取值)、兩個因素有三個水平,一個因素有六個水平:
            A:A1、A2
            B:B1、B2
            C:C1、C2、C3
            D:D1、D2、D3
            E:E1、E2、E3、E4、E5、E6
            ② 選擇正交表
            表中的因素數(shù)(變量)>=5
            表中至少有二個因素的水平數(shù)(變量的取值)>=2
            至少有另外二個因素的水平數(shù)>=3
            還至少有另外一個因素的水平數(shù)>=6
            行數(shù)取最少的一個:L49(7^8)或者L18(3^6 6^1))
            結(jié)果:L18(3^6 6^1)(如下圖)
            ③ 變量映射
            A:1→A1、2→A2
            B:1→B1、2→B2
            C:1→C1、2→C2、3→C3
            D:1→D1、2→D2、3→D3
            E1、2→E2、3→E3、4→E4、5→E5、6→E6
            ④ 用L18(3^6 6^1)設(shè)計的測試用例
            略
            測試用例減少數(shù):216→18
            加上一些可疑的情況(設(shè)為n個)為18+n,它比原來也少多了。

          posted on 2014-11-10 10:09 順其自然EVO 閱讀(7711) 評論(1)  編輯  收藏 所屬分類: 測試學(xué)習(xí)專欄

          評論

          # re: 用正交表設(shè)計測試用例 2015-01-20 10:35 李仁玲

          32 ×23  回復(fù)  更多評論   

          <2014年11月>
          2627282930311
          2345678
          9101112131415
          16171819202122
          23242526272829
          30123456

          導(dǎo)航

          統(tǒng)計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 四会市| 达拉特旗| 墨竹工卡县| 汉阴县| 连州市| 襄垣县| 大宁县| 舟山市| 宜川县| 昂仁县| 安徽省| 肇源县| 宁国市| 盱眙县| 龙泉市| 女性| 咸阳市| 玉树县| 彰化县| 韶山市| 永丰县| 永定县| 乌鲁木齐市| 高州市| 武穴市| 通州市| 贺兰县| 沙湾县| 金山区| 白沙| 唐山市| 施秉县| 光泽县| 佛冈县| 兴城市| 辉县市| 峨边| 彰武县| 五莲县| 资源县| 重庆市|