1. 程式人生 > >對於功能測試來說設計用例有哪些方法

對於功能測試來說設計用例有哪些方法

 一、測試分析   測試需求來源   開發需求DR;協議標準需求PR;使用者需求UR;案例庫需求LR;競爭需求CR;繼承需求SR;   2. 測試項分析步驟   a. 為分析的測試項編號;   b. 註明來源:開發文件/法律條款/案例庫編號   c. 整合測試項:刪除合併重複測試項;大的測試項分解為測試子項;   d. 分析測試項之間的關係;   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. 錯誤猜測法   根據經驗猜測,是基於經驗的測試法,是對其他測試方法的補充,不單獨使用