設計用例的方法總結

藕丝鲜芋發表於2024-07-13

一、軟體測試中術語

1.動態測試(dynamic testing):透過執行軟體的元件或 系統來測試軟體

例如:一輛汽車發動並行使測試

2.靜態測試(static testing):對元件的規格說明書進行 評審,對靜態程式碼進行走查

例如:一輛汽車為發動未行駛,檢視外觀、顏色、組成部分

3.正式評審(formal review):對評審過程及需求文件的 一種特定評審,比如:用例評審

a、組內評審(專案組中的成員:產品,開發,測試)

b、交叉評審(測試同事成員:測試a、測試b,測試c)

4、評審員(reviewer):參與評審的人

5、度量:測量所使用的方法或標準 (准入,準出)

6.記錄員:記錄評審會議上的會議紀要

7.技術評審(Technical Review):同行間對技術進行的評審,目的是技術實現達成共識

8.走查(Walkthrough):由文件作者逐步陳述文件內容,以收集信 息並對內容達成一致

9.複雜性(complexity):系統或元件的設計或內部結構比較複雜, 導致難以理解,維護或驗證的程度

10.圈複雜度(Cycloramic complexity):程式中獨立路徑的數量。可 以衡量一個元件模組的判定結構的複雜程度。

例如:軟體複雜程度

11.控制流(Control Flow):執行元件或系統的一系列順序的路徑

12.資料流(Data Flow):表示資料物件的順利或狀態發生變化的過程

例如:狀態變法:待支付》已支付,代發貨》已發貨,代簽收

13.控制流圖

控制流圖(CFG,Controlflowgraph)也叫控制流程圖,是一個過程或程式的抽象表現。
14.圈複雜度

程式中獨立路徑的數量,可以衡量 一個元件模組的判定結構的複雜程 度。
三種計算方式:
a.圈複雜=區域數
b.圈複雜度=邊數-節點數+2
c.圈複雜度=判定節點+1
案例:
if (x>100&&y>500) then
score=score+1
else if (x>=1000||z>5000)then
score=score+2

講解:

a.圈複雜=區域數
v=3 (兩塊區域+1塊外面區域)
b.圈複雜度=邊數-節點數+2
v=7-6+2=3
c.圈複雜度=判定節點+1
v=2+1=3
案例:
a.圈複雜=區域數

b.圈複雜度=邊數-節點數+2

c.圈複雜度=判定節點+1

比較:

if (x>100&&y>500) then
score=score+1
else if (x>=1000||z>5000) then
score=score+2
else
score=score+3
end if

用例設計方法之等價類

一、黑盒設計測試用例方法

1、等價類,邊界值,判定表,因果圖,正交表,場景 法,狀態遷移法

2、錯誤推測法,異常分析法,隨機測試

二、白盒測試設計用例方法

1、語句覆蓋

2、判斷覆蓋

3、條件覆蓋

4、判斷條件覆蓋

5、路徑覆蓋(獨立路徑覆蓋,z路徑)

=========================================

等價類:

定義:指某個輸入域的集合,在集合中各個輸 入的條件都是等效的。

有效等價類:對程式規格說明有意義的、合理 的輸入資料

無效等價類:對程式規格說明無意義的、不合 理的輸入資料

等價類設計用例覆蓋的原則:
(1)每個用例儘可能多的覆蓋多個有效的等價類
(2)每個用例只能覆蓋一個無效等價類

等價類劃分的設計用例思路:

找輸入條件
為每個輸入條件找有效、無效等價類
為每個等價類編號
用最少的用例覆蓋最多的有效等價類
每一個無效等價類都是一個用例
並非所有有效等價類都有無效
等價類的覆蓋可以重複覆蓋
常見的能夠劃分等價類的地方:

數值範圍
重複次數
字串長度
字串組中字元的個數
檔案命名
檔案大小
螢幕的顏色種類
超時時間
等價類的優缺點
優點:是考慮了單個輸入域的各類情況, 避免了盲目或隨機選取輸入資料的不完整 性和覆蓋的不穩定性。
缺點:方法雖然簡單易用,但是沒有對組 合情況進行充分的考慮。需要結合其他測 試用例設
計的方法進行補充。比如邊界值

邊界值
一、邊界點定義:

(1)邊界上的點

(2)離點:離上點最近的點(即上點左右兩邊最鄰近的點)

(3)內點:在域範圍內的點:

(4)
邊界條件分析:

輸入條件明確了一個值的取值範圍,或規定了值的個數
輸入條件明確了一個有序集合
(5)
邊界值分析原則
如果輸入(輸出)條件規定了取值範圍,則應該 以該範圍的邊界內及邊界附近的值作為測試用例
如果輸入(輸出)條件規定了值的個數,則用最 大個數,最小個數,比最小個數少一,比大個 數多一的數作為測試資料
如果程式規格說明中提到的輸入或輸出是一個有 序集合,應該注意選取有序集合的第一個和最後 一個元素作為測試資料

備註:邊界值是發現bug能力最強的一種測試方法

判定表
1、判定表定義:分析和表達多邏輯條件下的執行不同操作的情況
2、作用:對組合情況設計用例
利用判定表將複雜的問題按照各種可能的 情況全部列舉出來,能針對不同邏輯條件 的組合值,
分別執行不同的操作。
3、組成部分:
1)條件樁(condition stub):列出問題的 所有條件(通常條件次序無關緊要)。
2)條件項(condition entry):列出針對 它條件的取值(所有情況下的真假值)
3)動作樁(action stub):列出問題規定 可採取的動作(順序無約束)。
4)動作項(action entry):列出條件各種情況的應採取的 動作

建立步驟:
1)確定規則的個數:若有N個條件,每一個條件下有2個值,則有2^n種規則。
2)列出所有條件樁與動作樁。
3)輸入條件項。
4)輸入動作項得到初始判定表。
5)簡化(合併相似規則)。
6)編寫測試用例
5、掃雷講解

判定表的作用:
利用判定表將複雜的問題按照各種可能的 情況全部列舉出來,能針對不同邏輯條件 的組合值,分別執行不同的操作。

場景法
(1)定義:場景法主要是針對測試場景型別的,顧也稱場景流程分析法
(2)流程分析:是將軟體系統的某個流程看成路徑,用路徑分析的方法來設計測試用例。根據流程的順序依次進行組合,使得流程的各個分支都能走到

===========================================================

狀態遷移法:

(1)透過描繪系統的狀態及引起系統狀態轉換的事件,來表示系統的行為
(2)狀態遷移圖設計測試用例步驟:
1.畫出狀態遷移圖
2.透過狀態遷移圖出狀態轉換樹
3.從狀態轉換樹推匯出測試路徑
4.根據測試路徑編寫合法(正常)測試用例或非法
(異常)測試用例
注意:保證從狀態轉換樹的根節點到每個葉節點的每
一條路徑都至少設計出一個測試用例

=========================

正交試驗(僅作了解)
(1)定義:
正交試驗設計法,是從大量的試驗點中挑選出適量的、有代表性的點,應用依據迦羅瓦理論匯出的“正交表”,合理的安排試驗的一種科學的試驗設計方法。

正交表特點:
1》整齊可比性
在同一張正交表中,每個因素的每個水平出現的次數是完全相同的。由於在試驗中每個因素的每個水平與其它因素的每個水平參與試驗的機率是完全相同的,這就保證在各個水平中最大程度的排除了其它因素水平的干擾。
2》均衡分散性
在同一張正交表中,任意兩列(兩個因素)的水平搭配(橫向形成的數字對)是完全相同的。這樣就保證了試驗條件均衡地分散在因素水平的完全組合之中,,因而具有很強的代表性,容易得到好的試驗條件

用正交表設計測試用例的步驟:
(1)有哪些因素(變數或條件)
(2) 每個因素有哪幾個水平(變數或條件的取值)
(3) 為了滿足整齊可比性,選擇一個合適的正交表
(4) 把變數的值對映到表中(建議第1行是全真或全假)
(5) 把每一行的各因素水平的組合做為一個測試用例
(6) 加上你認為可疑且沒有在表中出現的組合

正交的原則:兩兩組合

因果圖:(僅作了解)

(1)定義:

因果圖提供了一個把規格轉化為判定表的系統化方法,從該圖中可以產生測試資料。其 中,
原因是表示輸入條件,結果是對輸入執 行的一系列計算後得到的輸出
(2)作用:
因果圖方法最終生成的就是判定表。它適合於檢查軟體輸入條件的各種組合情況

因果圖的優點/缺點
優點:
等價類法儘管各個輸入條件可能出錯的情況都考慮 到了,但是多個輸入條件組合起來出錯的情況卻被 忽略了
因果圖法能夠幫助我們按照一定步驟,高效的選擇 測試用例,設計多個輸入條件組合用例
因果圖分析還能為我們指出,程式規格說明描述中 存在什麼問題
缺點:
輸入條件與輸出結果的因果關係,有時難以從軟體 需求規格說明書得到
即使得到了這些因果關係,也會因為因果關係複雜 導致因果圖非常龐大,測試用例數目及其龐大

相關文章