測試用例是在測試執行之前編寫的,用以指導測試的重要文檔,主要包括(各公司模板都有自己的模板)如:編號、日期、測試人員、項目、分項目、預置條件、測試過程、接收標准、測試說明等。
測試用例的設計方法主要有七種:
1.等價類划分
應用場景:只要有數據輸入的地方,就可以使用,從無窮多的數據中挑選少數代表進行測試(把所有可能的數據全測一遍時間成本太高,實際中是不可能采用,所以要用最少的成本(時間、數據)達到最大的測試效果)。
核心:
按照需求把無窮多的數據進行分類,區分出有效的(有效等價類)、無效的(無效等價類),從每個數據范圍中挑選一個代表進行測試。
有效等價類:符合需求說明合理、有意義(合法)的數據集合
無效等價類:不符合需求說明、不合理、無意義的數據集合
如:姓名3-20個字符
有效數據:大於等於3個字符,小於等於20個字符
無效數據:小於3個字符
大於20個字符
2. 邊界值
應用場景:
一般有數據輸入的地方可以使用,邊界值往往和等價類划分一起使用比較好,如有效數據和無效數據的分界點容易出現邊界錯誤。
如:年齡18-60
有效數據:大於等於18且小於等於60的整數
無效數據:
小於18
大於60
字母、小數、漢字、特殊符號
其中,18,60,19,59是有效邊界和次邊界
17,61是無效次邊界
3. 因果圖
應用場合:
一個界面,有多個操作,操作和操作之間有一定的組合關系和限制關系,不同組合會產生不同的輸出結果,可以使用因果圖
在一個界面,有多個操作,操作和操作之間有一定的組合關系和限制關系,不同和組合會產生不同的輸出結果,就可以使用因果圖
基本因果關系有:
恆等:
如:a=1-->b=1
與:
如:a=1,b=1,c=1-->y=1
非:
a=1-->b=0
或:
a=0,b=0,c=0-->y=0
限制因果關系:
互斥(E):
abc最多只有一個1(允許全為0)
唯一(O):
abc有且僅有一個1(不允許全為0)
要求(R):
a=1,要求必須b=1
屏蔽(M):
a=1,要求必須b=0
包含(I):
至少包含一個1(不允許全為0)
4. 判定表
判定表是因果圖的簡化,本質上是一種方法
判定表適合組合數據較少的情況(一般<20種);
正交排列適合組合較多的情況(一般>20種);
5. 正交排列
應用場合:
一個界面有多個控件,每個控件又有多個取值,要考慮不同控件不同取值之間的組合,
但是組合數據較大(幾百、上千),需要從這些組合中挑選典型的組合的代表進行
測試,需要使用正交排列法。
正交表中的Ln(m**k)表示什么意思:
n:表示正交表的行數(即需要測試的次數)
次冪k:表示正交表的列數
底m:正交表允許出現的最大值
(說明 :使用正交表法,就是根據控件的個數和每個控件的取值個數決定k和m即可,
k和m確定了,n的值就是固定的)
如何選擇合適的正交表:
根據控件的個數和每個控件的取值個數,選擇適合的正交表(即確定k和m的值)
(1)控件的個數,決定k(正交表的列數)
(2)每個控件的取值個數,決定m(正交表中允許出現的最大值)
如:有3個控件,每個控件都有4個值(或最多的是4個值)
k=3,m=4
選擇合適的正交表,把正交表的列名和取值用控件名稱和控件真正的取值
替代(映射)
6. 測試大綱
應用場合:
一個程序涉及到多個窗口,每個窗口又包含多個操作,操作和操作之間有一定
的聯系(即一個完整的流程涉及到多個界面),可以使用測試大綱法
如:安裝程序的測試
7. 場景法
應用場合:
界面中沒有太多填寫項,所有的操作主要通過鼠標單(雙)擊、拖拽等完成。
場景法適合業務邏輯功能較為復雜的程序(游戲、銀行、保險),模擬用戶
所有正確的操作和所有錯誤的操作。
如:ATM取款業務,取款失敗需模擬的場景:
(1)無效的銀行卡
(2)密碼錯誤(3次錯誤)
(3)賬戶余額不足
(4)超出當日可取最大限額
(5)ATM機余額不足
......
場景和用例並不一定是一對一的關系;可能一個場景測試多條用例,也
可能一條用例測試多個場景。
很多時候需要多種方法綜合運用達到更好的效果。