軟體測試實戰 - 測試案例設計方法

來源:互聯網
上載者:User

標籤:

 一、測試分析
  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. 錯誤猜測法

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

 

2) 白盒測試案例設計技術 
  1. 語句覆蓋
  2. 判定覆蓋
  3. 條件覆蓋
  4. 判定-條件覆蓋
  5. 條件組合覆蓋
  6. 路徑覆蓋

 詳見測試覆蓋率:http://www.cnblogs.com/Carolinee/p/5404675.html   

 

軟體測試實戰 - 測試案例設計方法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.