軟體測試實戰 測試用例設計方法

2022-07-09 14:42:13 字數 3418 閱讀 9767

測試需求**

開發需求dr;協議標準需求pr;使用者需求ur;案例庫需求lr;競爭需求cr;繼承需求sr; 

2. 測試項分析步驟 

3. 測試分析方法

a. 質量模型分析法:功能測試項、效率測試項、可靠性、易用性、可維護性、可移植性;

b. 使用者場景分析法:遊客、普通使用者、vip使用者、管理員使用者等,不同角色許可權不同,測試點也不同;

c. 繼承性分析:新增功能,繼承舊功能、新舊功能之間關係、影響程度高低;

d. 功能互動分析:功能點與功能點之間、時序(並行、序列)、主被動;

4. 劃分測試項優先順序

5. 測試設計:思路--測試是不能窮舉,根據一些設計方法去選取一些資料盡量覆蓋多個測試點;

1)黑盒測試用例設計技術

1. 等價類劃分

概念:將輸入/輸出域分為若干個子集,從中選取代表資料,如果被選取的資料測試沒有問題,就認為未被選取的資料測試也沒有問題;

原則:a. 若輸入(輸出)是乙個取值範圍或者值的個數,則劃分乙個有效等價類,兩個無效等價類;

b. 若輸入(輸出)是乙個有限的集合或者必須如何的條件或者布林值,則劃分成乙個有效等價類和乙個無效等價類;

c. 若輸入(輸出)已經劃分好有效等價類和無效等價類,針對有效等價類具體的值有不同的處理結果和方式,則劃分成多個有效等價類和乙個無效等價類;

d. 若輸入(輸出)要同時滿足多個條件,則劃分成乙個有效等價類和多個無效等價類(從不同角度違反規則);

步驟:將srs劃分成規格片段→找出輸入條件→進行等價類劃分→給劃分每乙個等價類編號→選代表資料設計用例→直到所有等價類都被覆蓋;

ps:編寫用例原則:一條測試用例要盡量覆蓋多個有效等價類&&一條測試用例只覆蓋乙個無效等價類;

2. 邊界值分析

概念:邊界值分析法是對等價類劃分法的一種補充,大量的經驗資料表明,邊界是問題多發區,如果邊界測試沒有問題,就認為內部資料發生問題的概率較小;

原則:a. 如果輸入(輸出)是乙個取值範圍或者值的個數,則以邊界或者邊界附近的值作為測試用例資料選取;

b. 如果輸入(輸出)是乙個有序的集合,則以第乙個元素和最後乙個元素作為測試用例資料選取;

c. 如果輸入(輸出)的值的個數是乙個取值範圍,則以最大值;最大值+1;最小值;最小值-1作為測試用例資料選取;

d. 如果是乙個內部資料結構,則以極限值作為測試用例資料選取;

步驟:將srs劃分成規格片段→找出輸入條件→進行等價類劃分→給劃分每乙個等價類編號→分析每個資料型別,判斷是否有邊界值→生成用例;

ps:只有等價類和邊界值才能生成最終的測試用例,其它測試設計方法生成的都是測試規則或者測試路徑(邏輯測試用例)

3. 判定表

概念:分析和表達多種輸入條件進行不同組合來完成不同動作的一種工具,目的是分析複雜邏輯關係的條件組合;

步驟:將srs劃分成規格片段→找出條件樁、條件項,動作樁,動作項→對條件項進行排列組合生成規則數→合併化簡→設計最終用例;

特點:  a. 彌補了等價類不考慮組合的情況;

b. 是一種全排列組合情況,測試較全面;

c. 測試規則數目龐大,測試用例數量龐大,導致測試工作量大;

d. 合併有風險,化簡需謹慎;

e. 能發現需求規格說明書中不符合邏輯的需求;

f. 對於邏輯關係比較複雜的需求無法勝任;

適用範圍:功能測試;      

4. 因果圖

概念:將複雜邏輯關係的需求轉化為判定表的一種中間系統化方法。目的是為了得到判定表;

邏輯關係:a.因果之間:恒等/非/與/或;

b.原因之間:e(排斥:最多乙個為真)、i(包容:至少乙個為真)、o(唯一:有且只有乙個為真)、r(要求:a為真,b需為真)、 m(強制:a為真,b需為假)

中間節點:  當多個輸入之間的關係不是單純一種與,或的關係,利用中間節點訪問中間結果;

當多個輸入都在描述同一件事情的時候,可以利用中間節點歸併邏輯;

步驟:將srs劃分成規格片段→分析原因和結果→畫因果圖→判斷制約關係→生成判定表→合併刪除→設計用例

特點:    a. 彌補了等價類不考慮組合的情況;

b. 是一種全排列組合的測試方法,測試的比較全面;

c. 測試規則數目龐大,測試用例數量龐大,導致測試工作量大;

d. 能發現需求規格說明書中不符合邏輯的需求;

e. 能夠分析複雜邏輯關係的需求;

f. 制約關係可以快速刪減不符合邏輯的規則,從而提高測試設計效率;

5. 正交實驗法

概念:利用正交表進行試驗的一種方法,是一種兩兩組合的方法,經驗表明,如果兩兩組合測試沒有問題就認為其他組合發生問題的概率較小。

特點:兩兩組合;直接套用;經濟高效;

步驟:將srs劃分成規格片段→找出因子和狀態→構造因子狀態表→加權篩選→套用正交表→對生成的組合進行增刪→設計用例

適用範圍:功能測試,配置測試

6. 狀態遷移圖(點到點,內部路徑不可迴圈)

概念:針對有限狀態機的狀態和合法的跳轉條件進行測試,目的是為了測試所有的狀態能夠按照正確的條件進行跳轉和遷移。不要有未覆蓋到的狀態和非法的跳轉;

有限狀態機:web網頁,嵌入式系統

步驟:將srs劃分成規格片段→找出狀態和跳轉條件→設定初始狀態,畫狀態遷移圖→事件轉換表→狀態轉換樹→測試路徑→新增非法路徑→設計用例

7. 流程分析法(端到端,內部路徑可迴圈)

步驟:分析srs→找到主要功能點→畫出主幹圖(基本流)→細化分支→進行路徑組合確定優先順序 

8. 輸入域覆蓋法

9. 輸出域覆蓋法

分析輸出的等價類和邊界值,達到輸出域等價類覆蓋和輸出域邊界值覆蓋,使用此測試方法需要對系統的功能有特別深入的了解,採用該方法的一般來說是行業內的專家; 

10.異常分析法

對系統有可能存在異常的操作進行測試,主要針對系統的容錯能力,故障恢復能力進行測試;

11. 錯誤猜測法

根據經驗猜測,是基於經驗的測試法,是對其他測試方法的補充,不單獨使用

語句覆蓋

判定覆蓋

條件覆蓋

判定-條件覆蓋

條件組合覆蓋

路徑覆蓋

詳見測試覆蓋率:

軟體測試用例設計方法

1.概述 grenford j.myers在 the art of software testing 一書中提出 乙個好的測試用例是指很可能找到迄今為止尚未發現的錯誤的測試,由此可見測試用例設計工作在整個測試過程中的地位,我們不能只憑藉一些主觀或直觀的想法來設計測試用例,應該要以一些比較成熟的測試用...

軟體測試用例設計方法

一 測試過程中遇到的問題 1.不知道是否較全面的測試了所有內容 2.測試的覆蓋率無法衡量 3.對新版本的重複測試很難實施 4.存在大量冗餘測試影響測試效率。二 等價劃分 分析問題 1.等價類劃分概念 2.等價類 是指某個輸入域的子集合。在該子集合中,各個輸入資料對於揭露程式中 的錯誤都是等效的 3....

軟體測試用例設計方法

1.等價類劃分法 等價類是指某個輸入域的子集合,該子集合中對於揭示程式錯誤是等效的。某個等價類的代表值與該等價類的其他值對於測試來說是等價的 因此可以把全部的輸入資料劃分成若干的等價類,在每乙個等價類中取乙個資料來測試,這樣就能以較少的具有代表性的資料進行測試 有效等價類 是指對於程式的規格說明來說...