軟件測試正交測試法
![[???:????] [???:????]](http://m.trustlankalog.com//file/upload/img/7/43.jpg)
正交試驗法是研究多因素、多水平的一種試驗法,它是利用正交表來對試驗進行設(shè)計,通過少數(shù)的試驗替代全面試驗
在一項試驗中,把影響試驗結(jié)果的量稱為試驗 因素(因子),簡稱 因素。因素可以理解為試驗過程中的 自變量,試驗結(jié)果可以看成因素的函數(shù)。在試驗過程中,每一個因素可以處于不同的狀態(tài)或狀況,把因素所處的狀態(tài)或狀況,稱為 因素的水平,簡稱水平。
某所大學(xué)通信系共2個班級,剛考完某一門課程,想通過“性別”、“班級”和“成績”這三個查詢條件對通信系這門課程的成績分布,男女比例或班級比例進行人員查詢:
根據(jù)“性別”=“男,女”進行查詢
根據(jù)“班級”=“1班,2班”查詢
根據(jù)“成績”=“及格,不及格”查詢
按照傳統(tǒng)設(shè)計——全部測試
分析上述測試需求,有3個被測元素,被測元素我們稱為因素,每個因素有 兩個 取值,我們稱之為 水平值(也就是2)。
如果是普通的全面測試,則如下(2^3=8次)
若采用正交測試
利用正交表設(shè)計測試用例,我們得到的測試用例個數(shù)是n=3*(2-1)+1=4(這個公司就是 (因素數(shù)*(最大水平數(shù)-1)+1) ),對于三因素兩水平的剛好有L4(2^3)的正交表可以套用
于是用正交表試驗法得出4個測試用例如下(正交測試表的類型一般都會給出來)
正交試驗設(shè)計方法
與一般的試驗設(shè)計類似,用正交試驗設(shè)計方法設(shè)計測試用例時主要包括以下步驟:
(1)確定因素
這里的因素是指對軟件運行結(jié)果有影響的軟件
(2)確定因素的取值范圍或集合(該步是為步驟3做準備的)
因素的取值范圍 是指軟件輸入的取值范圍或集合以及可用的硬件資源。
(3)確定每個因素的水平
根據(jù)因素的取值范圍或集合 ,采用等價類劃分 、 邊界值分析 以及其他軟件測試技術(shù),在每個因素的取值范圍或集合內(nèi)挑選出 有效等價類 、 無效等價類 、 正好等于 、 剛剛大于 或 剛剛小于邊界值 等有代表性的測試值。
(4)選擇正交表
根據(jù)確定的因素和水平 ,選擇適合的正交表。
如果沒有合適的正交表可用或需要的測試用例個數(shù)太多 ,要對因素和水平進行調(diào)整。
正交表的構(gòu)成:
l行數(shù)(Runs):正交表中的行的個數(shù),即試驗的次數(shù),也是通過正交實驗法設(shè)計的測試用例的個數(shù)
l因素數(shù)(Factors):正交表中列的個數(shù),即要測試的功能點。
l水平數(shù)(Levels):任何單個因素能夠取得的值的最大個數(shù),即要測試功能點的輸入值
正交表
正交表相關(guān)概念
將正交試驗選擇的水平組合,列成表格,稱為正交表。
正交表具有以下兩個特點,即正交性。正交表必須滿足這兩個特點,有一條不滿足,就不是正交表。
1) 每列中不同數(shù)字出現(xiàn)的次數(shù)相等。這一特點表明每個因素的每個水平與其它因素的每個水平參與試驗的幾率是完全相同的,從而保證了在各個水平中最大限度地排除了其它因素水平的干擾,能有效地比較試驗結(jié)果并找出最優(yōu)的試驗條件。
2)在任意2列其橫向組成的數(shù)字對中,每種 數(shù)字對 出現(xiàn)的次數(shù)相等。這個特點保證了試驗點均勻地分散在因素與水平的完全組合之中,因此具有很強的代表性
參考文獻:http://blog.csdn.net/wd168/article/details/51736105
? ? ? ? ? ? ? ? http://www.51testing.com/html/36/489136-812551.html
測試方法中正交表局限性是什么?有什么解決辦法?
局限性:目前常見的正交排列表只有固定的幾種
即使是已有的正交排列表,基本都要求每個控件中取值的個數(shù)要相等,這在實際軟件中很少遇到。
解決方法:通過正交排列法的學(xué)習(xí),我們更多的應(yīng)該學(xué)習(xí)到一種測試思想,也就是在從所有組合集合中選取測試數(shù)據(jù)時,應(yīng)該均勻的選取其中的組合作為測試用例,而不要只在某個局部選取數(shù)據(jù)。
表哥也在做軟件測試,他是在黑馬程序員轉(zhuǎn)行學(xué)的,別人推薦的,現(xiàn)在工作很好,要是你對軟件測試感興趣,不妨也可以學(xué)一學(xué)!
請問軟件測試中的正交設(shè)計的基本原理?
(二) 正交設(shè)計的基本原理 在試驗安排中,每個因素在研究的范圍內(nèi)選幾個水平,就好比在選優(yōu)區(qū)內(nèi)打上網(wǎng)格,如果網(wǎng)上的每個點都做試驗,就是全面試驗。如上例中,3個因素的選優(yōu)區(qū)可以用一個立方體表示(圖12-2),3個因素各取3個水平,把立方體劃分成27個格點,反映在圖12-2上就是立方體內(nèi)的27個“.”。若27個網(wǎng)格點都試驗,就是全面試驗,其試驗方案如表12-20所示。
表12-20 3因素3水平全面試驗方案
C1 C2 C3
A1 B1 A1B1C1 A1B1C2 A1B1C3
B2 A1B2C1 A1B2C2 A1B2C3
B3 A1B3C1 A1B3C2 A1B3C3
A2 B1 A2B1C1 A2B1C2 A2B1C3
B2 A2B2C1 A2B2C2 A2B2C3
B3 A2B3C1 A2B3C2 A2B3C3
A3 B1 A3B1C1 A3B1C2 A3B1C3
B2 A3B2C1 A3B2C2 A3B2C3
B3 A3B3C1 A3B3C2 A3B3C3
圖12-2 3因素3水平試驗的均衡分散立體圖
3因素3水平的全面試驗水平組合數(shù)為33=27,4因素3水平的全面試驗水平組合數(shù)為34=81,5因素3水平的全面試驗水平組合數(shù)為35=243,這在動物試驗中是不可能做到的。正交設(shè)計就是從選優(yōu)區(qū)全面試驗點(水平組合)中挑選出有代表性的部分試驗點(水平組合)來進行試驗。圖12-2中標有試驗號的九個“⊙”,就是利用正交表L9(34)從27個試驗點中挑選出來的9個試驗點。即:
(1)A1B1C1 (2)A2B1C2 (3)A3B1C3
(4)A1B2C2 (5)A2B2C3 (6)A3B2C1
(7)A1B3C3 (8)A2B3C1 (9)A3B3C2
上述選擇,保證了A因素的每個水平與B因素、C因素的各個水平在試驗中各搭配一次。對于A、B、C 3個因素來說,是在27個全面試驗點中選擇9個試驗點,僅是全面試驗的三分之一。從圖12-2中可以看到,9個試驗點在選優(yōu)區(qū)中分布是均衡的,在立方體的每個平面上,都恰是3個試驗點;在立方體的每條線上也恰有一個試驗點。9個試驗點均衡地分布于整個立方體內(nèi),有很強的代表性,能夠比較全面地反映選優(yōu)區(qū)內(nèi)的基本情況。
手機軟件測試中 什么叫聯(lián)系人正交測試法
正交實驗法就是利用排列整齊的表 -正交表來
對試驗進行整體設(shè)計、綜合比較、統(tǒng)計分析,實現(xiàn)通過少數(shù)的實驗次數(shù)找到較好的生產(chǎn)條件,以達到最高生產(chǎn)工藝效果,這種試驗設(shè)計法是從大量的試驗點中挑選適
量的具有代表性的點,利用已經(jīng)造好的表格—正交表來安排試驗并進行數(shù)據(jù)分析的方法。正交表能夠在因素變化范圍內(nèi)均衡抽樣,使每次試驗都具有較強的代表性,
由于正交表具備均衡分散的特點,保證了全面實驗的某些要求,這些試驗往往能夠較好或更好的達到實驗的目的。正交實驗設(shè)計包括兩部分內(nèi)容:第一,是怎樣安排實驗;第二,是怎樣分析實驗結(jié)果。
類似于數(shù)組登記,把每種情況記下來,然后觀察。
軟件測試用例的幾種設(shè)計方法
一、等價類劃分法
所謂「等價」,就是具有相同屬性或者方法的集合,這個集合中某個個體所表現(xiàn)的特征與其他個體完全一致。
由此可知,等價類劃分就是將所有可能的輸入數(shù)據(jù),劃分成若干個等價類,然后從每個部分中選取具有代表性的數(shù)據(jù)當做測試用例進行合理的分類,分為有效等價類和無效等價類。
例如,規(guī)定的用戶名長度區(qū)間為4~8個字,那么它的有效等價類是用戶名長度在[4,8],無效等價類為用戶名長度大于8位,或用戶名長度小于4位。
二、邊界值
測試經(jīng)驗告訴我們,在測試有時會涉及到大量的數(shù)據(jù),遍歷所有數(shù)據(jù)會使測試效率低下,如果是手工執(zhí)行,更加難以覆蓋所有數(shù)據(jù)。這時更有效率的做法是,先劃分等價類,再從等價類中選擇部分參數(shù)測試,邊界值是等價類所有可選參數(shù)中最容易出問題的地方,所以我們一般會選擇邊界值作為測試的重點,邊界值法的應(yīng)用步驟如下:
1.先根據(jù)等價類法劃分有效等價類和無效等價類,確定上點、離點及內(nèi)點。上點是邊界上的點,離點是離上點最近的點,內(nèi)點則是邊界有效范圍內(nèi)的任意一點。同樣以用戶名長度為4~8位為例,4和8為上點,3和9為離點,6則為內(nèi)點。
2.設(shè)計一個新的測試用例,使其盡可能地覆蓋所有尚未覆蓋的有效等價類,直到所有有效等價類完全覆蓋。
3.設(shè)計一個新的測試用例,使其僅覆蓋一個無效等價類,直到所有無效等價類都被覆蓋。
三、判定表法
判定表又稱策略表、決策表,能表示輸入條件的組合,以及與每一輸入組合對應(yīng)的動作組合。判定表法適合邏輯判斷比較復(fù)雜的場景,通過窮舉條件獲得結(jié)果,對結(jié)果再進行優(yōu)化合并,具體又明確地表達復(fù)雜地邏輯關(guān)系和多種條件組合情況。
判定表主要由條件樁和動作樁兩部分組成。條件樁是功能要滿足地所有條件,動作樁則是所有可能的操作以及產(chǎn)生的結(jié)果。
判定表能夠?qū)?fù)雜的問題按照各種可能的情況全部列舉出來,簡明并避免遺漏。其缺點是判定表的建立過程較煩雜,當條件過多時,需要分析的邏輯組合呈2的倍數(shù)增長。測試工程師可根據(jù)實際情況與等價類劃分法、邊界值法結(jié)合使用。
四、正交試驗法
正交試驗法是研究多因素、多水平組合的一種實驗法,它是利用正交表來對實驗進行設(shè)計,通過少數(shù)的實驗替代全面實驗。正交表中所有參與試驗的、影響試驗結(jié)果的條件成為因子,影響試驗因子的取值或輸入的成為水平。
在設(shè)計測試用例時,采用正交試驗法能夠有效地、合理地減少測試的工作量與和成本。正交試驗的一般流程包括以下幾個步驟:
1)分析測試需求,獲取因子和水平
2)根據(jù)因子和水平選擇合適的正交表
3)替換正交表中的因子和水平,獲取試驗次數(shù)
4)根據(jù)經(jīng)驗或者其他因素補充試驗次數(shù)
5)細化輸出獲得測試用例
以上是一些常見的測試用例設(shè)計方法,希望能夠解答你的問題。
組合測試術(shù)語:Pairwise/All-Pairs、OATS(Orthogonal Array Testing Strategy)
組合測試(Combinatorial Test)是一種黑盒測試用例生成方法,主要針對多輸入?yún)?shù)組合場景。
目前業(yè)界較流行的兩種組合測試方法,一種是 Pairwise/All-Pairs,即配對組合。OATS(Orthogonal Array Testing Strategy),即正交表法。
Pairwise/All-Pairs,也叫配對測試 或 結(jié)對測試,是一種軟件測試的組合方法,核心在于用最少的測試用例來覆蓋多個因素取值的兩兩組合。
配對測試示例
Pairwise 是 L. L. Thurstone 在 1927 年首先提出來的。他是美國的一位心理統(tǒng)計學(xué)家。Pairwise 是基于數(shù)學(xué)統(tǒng)計和對傳統(tǒng)的正交分析法進行優(yōu)化后得到的產(chǎn)物。
Pairwise 基于如下 2 個假設(shè):
因此,Pairwise 基于覆蓋所有兩因素的交互作用產(chǎn)生的用例集合性價比最高而產(chǎn)生的。
N-wise 是對 N 個因素的所有取值進行全排列組合(笛卡爾積)而生成的一組測試用例集。理論上,該測試用例集可以發(fā)現(xiàn)所有 N 個因素共同作用引發(fā)的缺陷。
Pairwise/All-Pairs 是 N-wise 的一個具體化實例,Pairwise/All-Pairs 實際上就是 2-wise。
《微軟軟件測試之道》中,建議從 Pairwise/All-Pairs 開始測試,逐漸提高組合維度,直至 6-wise 組合測試。因為據(jù)研究表明,6-wise 可以發(fā)現(xiàn)絕大多數(shù)的程序缺陷。但是,實際上隨著組合維度的提升,測試用例呈指數(shù)爆炸增長,所以 Pairwise/All-Pairs 或 3-wise 比較適合實際項目。
組合數(shù)量對比
Pairwise 工具集 : http://www.pairwise.org/tools.asp
正交表查詢 : https://www.york.ac.uk/depts/maths/tables/orthogonal.htm
Pairwise 工具推薦微軟的 PICT (Pairwise Independent Combinatorial Testing)。
求高手幫忙分析下關(guān)于軟件測試的正交實驗設(shè)計法~
先確定各個字段輸入項,例如“關(guān)鍵字”可通過等價類的方法確定輸入項,在根據(jù)每個字段的輸入個數(shù),尋找合適的正交表編寫測試用例,相關(guān)正交表可查看:http://support.sas.com/techsup/technote/ts723_Designs.txt
以上就是培訓(xùn)啦的小編對軟件測試正交測試法以及軟件測試正交測試法的詳細介紹與分解,相信大家看完之后都已經(jīng)對這方面有了更詳細的認識與了解。(本文共6363字)