测试思想-测试设计 测试用例设计之正交法
測試用例設計之正交法
by:授客 QQ:1033553122
什么是n階拉丁方?
用n個不同的拉丁字母排成一個n階方陣(n<26 ),如果每行的n個字母均不相同,每列的n個字母均不相同,即每個字母在任一行、任一列中只出現一次,則稱這種方陣為n*n拉丁方或n階拉丁方。
如,3階拉丁方
?
?
?
什么是正交拉丁方?
設有兩個n階的拉丁方,如果將它們疊合在一起,恰好出現n^2個不同的有序數對,則稱為這兩個拉丁方為互相正交的拉丁方,簡稱正交拉丁方
用數字替代拉丁字母
?
?
?
??? 正交試驗設計的基本概念
在一項試驗中,把影響試驗結果的量稱為試驗因素(因子),簡稱因素。因素可以理解為試驗過程中的自變量,試驗結果可以看成因素的函數。在試驗過程中,每一個因素可以處于不同的狀態或狀況,把因素所處的狀態或狀況,稱為因素的水平,簡稱水平。
?
將正交試驗選擇的水平組合,列成表格,稱為正交表。
正交表具有以下兩個特點,即正交性。正交表必須滿足這兩個特點,有一條不滿足,就不是正交表。
1) 每列中不同數字出現的次數相等。這一特點表明每個因素的每個水平與其它因素的每個水平參與試驗的幾率是完全相同的,從而保證了在各個水平中最大限度地排除了其它因素水平的干擾,能有效地比較試驗結果并找出最優的試驗條件。
2) 在任意2列其橫向組成的數字對中,每種數字對出現的次數相等。這個特點保證了試驗點均勻地分散在因素與水平的完全組合之中,因此具有很強的代表性
?
正交試驗設計(Orthogonal experimental design)是研究多因素多水平的一種設計方法,它是根據正交性,由試驗因素的全部水平組合中挑選出部分有代表性的點進行試驗,通過對這部分試驗結果的分析了解全面試驗的情況 ,找出最優的水平組合。
例如,要考察正常值、錯誤值和邊界值對某軟件界面的影響。每個因素設置3個水平進行試驗。A 因素是正常值,設 A 1 、A 2 、A 3? 3個水平;B因素是錯誤值,設B 1 、B 2 、B 3 ?3 個水平;C 因素為邊界值,設C 1 、C 2 、C 3 ?3個水平。這是一個 3 因素 3 水平的試驗,各因素的水平之間全部可能組合有27(即3^3) 種。
全面試驗:可以分析各因素的效應,交互作用,也可選出最優水平組合。但全面試驗包含的水平組合數較多,工作量大,在有些情況下無法完成。
若試驗的主要目的是尋求最優水平組合 ,則可利用正交表來設計安排試驗。
正交試驗設計的基本特點是:用部分試驗來代替全面試驗,通過對部分試驗結果的分析,了解全面試驗的情況。
正因為正交試驗是用部分試驗來代替全面試驗的 ,它不可能像全面試驗那樣對各因素效應、交互作
用一一分析;當交互作用存在時,有可能出現交互作用的混雜。雖然正交試驗設計有上述不足,但它能通過部分試驗找到最優水平組合 ,因而很受實際工作者青睞。
?
如對于上述 3 因素 3 水平試驗 ,若不考慮交互作用,可利用正交表L9 (33) 安排,它表示需作9次實驗,最多可觀察3個因素,每個因素均為3水平,試驗方案僅包含9個水平組合 ,就能反映試驗方案包含27個水平組合的全面試驗的情況 ,找出最佳的生產條件。
?
正交試驗設計方法
與一般的試驗設計類似 ,用正交試驗設計方法設計測試用例時主要包括以下步驟:
(1)? 確定因素
這里的因素是指對軟件運行結果有影響的軟件
(2)? 確定因素的取值范圍或集合(該步是為步驟3做準備的)
因素的取值范圍是指軟件輸入的取值范圍或集合以及可用的硬件資源。
(3)? 確定每個因素的水平
根據因素的取值范圍或集合 ,采用等價類劃分、邊界值分析以及其他軟件測試技術 ,在每個因素的取值范圍或集合內挑選出有效等價類、無效等價類、正好等于、剛剛大于或剛剛小于邊界值等有代表性的測試值。
(4)? 選擇正交表
根據確定的因素和水平 ,選擇適合的正交表。
如果沒有合適的正交表可用或需要的測試用例個數太多 ,要對因素和水平進行調整。
正交表的構成:
l?? 行數(Runs):正交表中的行的個數,即試驗的次數,也是通過正交實驗法設計的測試用例的個數
l?? 因素數(Factors) :正交表中列的個數,即要測試的功能點。
l?? 水平數(Levels):任何單個因素能夠取得的值的最大個數,即要測試功能點的輸入值
L行數(水平數因素數) ,
如:L8(27)
?
?
???
?
如:L9(34)
?
?
?
擴展的正交表
L8(4×24)
行數為mn型的正交表中
試驗次數(行數)=∑(每列水平數-1)+1
例:5個3水平因子及一個2水平因子,表示為35*21,試驗次數=5*(3-1)+1*(2-1)+1=12,
即L12(35*21)
?
?(5)? 測試結果分析
加上你認為可疑且沒有在表中出現的組合。
?
應用舉例
例1:因素數與水平數剛好符合正交表?
?
?
?? 確定因素及因素的水平
個人信息查詢系統中的一個窗口
要測試的控件有3個,也就是要考慮的因素有三個;
?? 姓名
?? 身份證號碼
?? 手機號碼
每個因素里的狀態即水平,有兩個:填與不填。
?
?
?
? 選擇正交表
表中的因素數>=3;
表中至少有3個因素數的水平數>=2
行數取最少的一個,即試驗次數最少的一個
說明:并不是我們想要什么正交表就有什么正交表,有的正交表是沒有被設計出來的,我們選取正交表時只能從現有的正交表中進行選擇,而且選擇的正交表要滿足上述中的因素數和因素水平,在這個前提下選擇試驗次數最少的一個。
從正交表公式中開始查找,結果為: L4(23)
?
??? ? 生成正交表(我比較笨,也懶得不查表,直接用工具生成的)?
????
?
?
? 編寫測試用例
1:填寫姓名、填寫身份證號、填寫手機號
2:填寫姓名、不填身份證號、不填手機號
3:不填姓名、填寫身份證號、不填手機號
4:不填姓名、不填身份證號、填寫手機號
?
? 增補測試用例
5:不填姓名、不填身份證號、不填手機號
?
測試用例可以看出:如果按每個因素兩個水平數來考慮的話,需要8個測試用例,而通過正交實驗法進行的測試用例只有5個,大大減少了測試用例數。用最小的測試用例集合去獲取最大的測試覆蓋率。
?
例2:ppt打印的需求
假設功能描述如下:
打印范圍:全部、當前幻燈片、給定范圍
打印內容:幻燈片、講義、備注頁、大綱視圖
打印顏色/灰度: 顏色、灰度、黑白
打印效果:幻燈片加框和幻燈片不加框兩種方式
?
被測項目中一共有四個被測對象,每個被測對象的狀態都不一樣。
? 選擇正交表:
1、表中的因素數>=4
2、表中至少有4個因素的水平數>=2
3、行數取最少的一個
4、最后選中正交表公式:L16(45)
問題:多出一個因素咋辦?沒事,空著就好了
?
?
?
? 生成表
?
?
?
? 編寫測試用例
?
?
dpf版下載地址:
測試用例設計之正交法.pdf
?
?
?
轉載于:https://www.cnblogs.com/shouke/p/10158294.html
總結
以上是生活随笔為你收集整理的测试思想-测试设计 测试用例设计之正交法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: OBIEE 11g:Error:nQSE
- 下一篇: wechall.net/stegano