轉自:http://www.51testing.com/html/19/422619-249780.htmlphp
- 因果圖法
考慮到輸入組合的狀況html
有3個部分:面試
- 因=輸入條件
- 中間結點=輸出值必須的前提條件
- 果=輸出條件
經過有4種符號:瀏覽器
- 恆等,即因=1,果=1;因=0,果=0。即果跟隨因的變化而變
- 非,即因=1,果=0;因=0,果=1。即因和果是對立的,永遠不會統一
- 或,即有N個因中有1個因=1(至少有2個因),即果=1。即只要有一個因達到規定的需求,果就能出現
- 與,即有N個因中(至少有2個因),每因都必須=1,果纔會出現。即只有所有的因都符合條件了,果纔會出現
與程序語言作比較:學習
- 恆等等於=
- 非等於!=
- 或等於||
- 與等於&&
4種約束條件:測試
- E(互斥),至關於「非」
- I(包含),至關於「或」
- O(唯一),表示a和b當中必須有一個成立,且只有一個成立
- R(要求),至關於「恆等」
- M(屏蔽),表示當a=1時,b=0;而a=0時,b的值不肯定
通用因果圖畫法:spa
- 斷定表驅動法
由4個部分組成:操作系統
- 條件樁:列出問題的全部條件,次序無所謂
- 動做樁:列出問題規定可能採起的操做,順序無約束
- 條件項:列出針對該問題所列條件的取值,在全部可能狀況下的真假值
- 動做項:列出在條件項的各類取值狀況下應該採起的動做
- 規則:任何一個條件組合的特定取值及其相應要執行的操做
因果圖與斷定表的關係:因果圖法是找出因和果,經過因果圖轉換爲斷定表設計
- 正交試驗法
正交試驗設計方法是從大量的試驗數據中挑選適量的、有表明性的點,即便用已經造好的表格「—」正交表來安排試驗並進行數據分析3d
例:爲提升某化工產品的轉化率,選擇了三個有效因素進行條件試驗,A=反應溫度,B=反應時間,C=用鹼量,且
A:80~90度
B:90~150分鐘
C:5%~7%
目的:弄清因子A,B,C哪一個對轉化率,是主要的,次要的,從而肯定最適合的條件,即在試驗範圍內選取三個水平:
A:A1=80度,A2=85度,A3=90度
B:B1=90分鐘,B2=120分鐘,B3=150分鐘
C:C1=5%,C2=6%,C3=7%
固然選擇因子是能夠定量的,能夠根據因子間的各水平距離而肯定
第1種—全面試驗法
優勢:對各因子與指標間的關係剖析的比較清楚,但試驗次數太多
第2種—簡單對比法
- 首先固定B、C於B一、C1,使A變化:
B1C1——A1
——A2
——A3(好結果)
若結果A3最好,則固定A於A3,C仍是C1,使B變化
依次下去對比
優勢:試驗次數少,但選戰表明性差
故:咱們就兼顧這2種方法的優勢。
即選取每一行的各水平組合構成一個試驗條件
如上一圖,A有3個平面,B與C也有3個平面,共9個,只需選擇9個因子點,即只須要9個用例便可
PS:另外做爲學習正交試驗設計法,找到了2個地址,能夠進一步充實本身的理論知識
1. http://www.doc88.com/p-492273209026.html (正交試驗設計法的基本思想)
2. http://www.docin.com/p-43488508.html(經常使用正交表,順便解釋下表名的意識,如L16(4^5):L爲正交表的代號、16爲試驗的次數即行數、4爲水平數(狀態)、5爲列數)
3. http://www.docin.com/p-35688652.html(正交表的數學理論)
4. http://www.docin.com/p-286960867.html(正交表的構建)
正交實驗設計方法:
主要步驟是:
(1) 對軟件 需求 規格說明中的功能要求進行劃分(層層分解與展開),分解成具體的、相對獨立的基本功能。
(2) 根據基本功能的 質量 需求,找出影響其功能實現的操做對象和外部因素,每一個因素的取值能夠看做水平,多個取值就存在多個水平。
(3) 肯定待測試軟件中全部因素及其權值,這是 測試用例設計 的關鍵,確保全面、準確。
權值是依據各因素的影響範圍、發生的頻率和質量的需求來肯定的。(加權平均數:
好比,幾個數:二、四、6,它們的權數分別爲一、三、5.
那麼它們的加權平均數=(2*1+4*3+6*5)/(1+3+5),即各個數分別乘上其權數,而後除上各個權數之和。
權數就是各個數在數據系統內,所佔的重要性。
)
(4) 加權篩選,生成因素分析表。
(5) 利用正交表構造測試數據集,正交表的每一行,就是一條測試用例。考慮交互做用不可忽略的處理因素和不可混雜的原則,有交互做用的組合優先安排。
利用正交實驗設計測試用例的步驟:
1.提取功能說明,構造因子--狀態表
把影響實驗指標的條件稱爲因子.而影響實驗因子的條件叫因子的狀態.利用正交實驗設計方法來設計測試用例時,首先要根據被測試軟件的規格說明書找出影響其功能實現的操做對象和外部因素,把他們看成因子,而把各個因子的取值看成狀態.對軟件需求規格說明中的功能要求進行劃分,把總體的概要性的功能要求進行層層分解與展開,分解成具體的有相對獨立性的基本的功能要求.這樣就能夠把被測試軟件中全部的因子都肯定下來,併爲肯定個因子的權值提供參考的依據.肯定因子與狀態是設計測試用例的關鍵.所以要求儘量全面的正確的肯定取值,以確保測試用例的設計做到完整與有效。
2.加權篩選,生成因素分析表
對因子與狀態的選擇可按其重要程度分別加權.可根據各個因子及狀態的做用大小,出現頻率的大小以及測試的須要,肯定權值的大小。
3.利用正交表構造測試數據集
正交表的推導依據Galois理論(這裏省略,須要時可查數理統計方面的教材)。
利用正交實驗設計方法設計測試用例,比使用等價類劃分,邊界值分析,因果圖等方法有如下優勢:節省測試工做工時;可控制生成的測試用例數量;測試用例具備必定的覆蓋率。
用正交試驗設計法所需的行數是多少?
試驗次數(行數)= 求和【各個列數*(水平-1)】+1 , 好比要考察五個3水平因子及一個2水平因子,則起碼的試驗次數爲5*(3-1)+1*(2-1)+1 = 12 (能夠選擇L18(2*3^7)的表)
正交表具備2條性質:(1)每一列中各數字出現的次數都同樣多 (2)任何兩列所構成的各有序數對出現的次數都同樣多
正交表:
各列中出現的最大數字相同的正交表稱爲相同水平正交表。如L4(23)、L8(27)、L12(211)等各列中最大數字爲2,稱爲兩水平正交表;L9(34)、L27(313)等各列中最大數字爲3,稱爲3水平正交表。凡是標準表,水平數都相等,且水平數只能取素數或素數冪。所以有7水平、9水平的標準表,沒有6水平,8水平的標準表。
例如L9(34),它表示需作9次實驗,最多可觀察4個因素,每一個因素均爲3水平。
混合正交表:
一個正交表中也能夠各列的水平數不相等,咱們稱它爲混合型正交表,如L8(4×24),即:L8(41×24)此表的5列中,有1列爲4水平,4列爲2水平。再如L16(44×23),L16(4×212)等都混合水平正交表。
混合正交表選擇正交表的示例:
咱們分析一下:
一、被測項目中一共有四個被測對象(4個因素),每一個被測對象的狀態(水平數)都不同。其中,A、C水平數均爲3,B的水平數爲4,D的水平數爲2。
二、選擇正交表:
本題,水平數>=max(3,4,2)=4,因素數>=4,查詢附錄中的正交表,只有L16(45)的行數最少,行數取最少的一個,比較適合。
三、最後選中正交表公式:L16(45)
另外,當水平數和因素數的具體值肯定時,正確的行數(試驗次數)的計算方法是:
試驗次數(行數)=∑(每列水平數-1)+1
如:L18(36 *61)=(3-1)*6+(6-1)*1+1=18;L8(27)=(2-1)*7+1=8
設計測試用例時的三種狀況:
一、因素數(變量)、水平數(變量值)相符
水平數(變量的取值)相同、因素數(變量)恰好符合某一正交表,則直接套用正交表,獲得用例。
例子:
對某人進行查詢,假設查詢某我的時有三個查詢條件:
根據「姓名」進行查詢
根據「身份證號碼」查詢
根據「手機號碼」查詢
考慮查詢條件要麼不填寫,要麼填寫,此時可用正交表進行設計
① 因素數和水平數
有三個因素:姓名、身份證號、手機號碼。每一個因素有兩個水平:
姓名:填、不填
身份證號:填、不填
手機號碼:填、不填
② 選擇正交表
表中的因素數>=3
表中至少有三個因素的水平數>=2
行數取最少的一個
結果:L4(2^3)
③ 變量映射
姓名:1→填寫,2→不填寫;
身份證號:1→填寫,2→不填寫;
手機號碼:1→填寫,2→不填寫;
④ 用L4(2^3)設計的測試用例
測試用例以下:
1:填寫姓名、填寫身份證號、填寫手機號
2:填寫姓名、不填身份證號、不填手機號
3:不填姓名、填寫身份證號、不填手機號
4:不填姓名、不填身份證號、填寫手機號
⑤增補測試用例
5:不填姓名、不填身份證號、不填手機號
測試用例減小數:8→5
二、因素數不相同
水平數(變量的取值)與某正交表相同,但因素數(變量)卻不相同,則取因素數最接近但略大於實際值的正交表表,套用以後,最後一列因素去掉便可。
例子:
兼容性測試:
操做系統:2000、XP、2003
瀏覽器:IE6.0、IE7.0、TT
殺毒軟件:卡巴、金山、諾頓
若是所有進行測試的話,3^3=27個組合,須要進行27次測試。
① 因素數和水平數
有三個因素:
操做系統、瀏覽器、殺毒軟件
每一個因素有三個水平。
② 選擇正交表
表中的因素數>=3
表中至少有三個因素的水平數>=3
行數取最少的一個
結果:L9(3^4),以下圖:
三、水平數不相同
因素(變量)與某正交表相同,但水平數(變量的取值)不相同。
例子:
假設有一個系統有5個獨立的變量(A,B,C,D,E)。變量A和B都有兩個取值(A1 、A2和B一、B2)。變量C和D都有三個可能的取值(C一、C二、C3和D一、D二、D3)。變量E有六個可能的取值(E一、E二、E三、E四、E五、E6)。
① 因素數和水平數
有五個因素(變量):
A、B、C、D和E
兩個因素有兩個水平(變量的取值)、兩個因素有三個水平,一個因素有六個水平:
A:A一、A2
B:B一、B2
C:C一、C二、C3
D:D一、D二、D3
E:E一、E二、E三、E四、E五、E6
② 選擇正交表
表中的因素數(變量)>=5
表中至少有二個因素的水平數(變量的取值)>=2
至少有另外二個因素的水平數>=3
還至少有另一個因素的水平數>=6
行數取最少的一個:L49(7^8)或者L18(3^6 6^1))
結果:L18(3^6 6^1)(以下圖)
③ 變量映射
A:1→A一、2→A2
B:1→B一、2→B2
C:1→C一、2→C二、3→C3
D:1→D一、2→D二、3→D3
E一、2→E二、3→E三、4→E四、5→E五、6→E6
④ 用L18(3^6 6^1)設計的測試用例
略
測試用例減小數:216→18
加上一些可疑的狀況(設爲n個)爲18+n,它比原來也少多了。
https://wenku.baidu.com/view/c6cc7d5fb52acfc789ebc96e.html