测试用例设计(等价类、边界值、因果图、判定表、正交实验)
測試設計與測試用例
測試設計是將概括的測試目標轉化為具體的測試條件和測試用例的一系列活動。
測試分析和設計的主要任務
評審測試依據(需求,系統架構、設計和接口說明),根據依據,確定哪些部分需要測試
評估測試依據和測試對象的可靠性(比如文檔沒有改變,但是項目具體改變了,因此需要評審測試依據是否可靠),所以測試人員需要參加開發的會議
通過對測試項、規格說明、測試對象行為和結構的分析,識別測試條件并確定優先級
設計測試用例,并確定優先級
確定測試條件和測試用例所需的必要的測試數據
確定測試條件
依據在測試策略或測試計劃中確定的測試技術
通過對測試依據和饑餓測試目標的分析,可以確定需要測試的內容,獲得測試條件(站在產品角度,用戶方的角度去測試)
需求 - > 測試內容
測試用例
測試用例來源于測試依據,測試依據來源于測試需求
測試用例是通過使用在測試計劃中確定的測試技術,對于已確定的測試條件進行逐步推敲,精煉而設計出來的重點說明如何具體操作產生何種結果的文檔。
測試用例應該具有可重復性、可驗證性和需求可追蹤性
測試用例設計包括的關鍵點:
- 前提條件,如項目或局部測試環境的需求,及其交付計劃
- 測試步驟,一步一步地操作
- 測試數據
- 預期結果(測試成功應該要展示什么的正確結果)
測試用例常用的設計方法
- 等價類劃分法
- 邊界值法
- 因果圖設計法
- 判定表設計法
- 正交實驗法
等價類劃分法
有效等價類定義:由那些對程序的規格說明有意義的、合理的輸入數據所構成的集合,反之,就是無效等價類
等價類劃分法:
- 等價類劃分的辦法是把程序的輸入域劃分成若干部分
- 然后從每個部分中選取少數代表性數據當作測試用例
- 每一類的代表性數據在測試中的作用等價于這一類中的其他值
也就是說,如果某一類中的一個例子發現了錯誤,這一等價類中的其他例子也能發現同樣的錯誤。反之,如果某一類中的一個例子沒有發現錯誤,則這一類中的其他例子也不會差出錯誤。
等價類劃分原則
基于等價類劃分的用例設計
等價類的特點
邊界值分析法
邊界值分析法是一種補充等價劃分的測試用例設計技術,他不是選擇等價類的任意元素,而是選擇等價類邊界的測試用例
邊界值分析法不僅充實輸入條件邊界,而且也從輸出域到處測試用例
邊界值設計的原則
如果輸入條件規定了取值范圍,應以該范圍的邊界內及剛剛超范圍的邊界外的值作為測試用例(最后一個符合和第一個不符合)
比如以a和b為邊界,測試用例應當包含a和b以及略大于a和略小于b的值。還應當注意非類型數據,比如要求數字,實際輸入卻是英文字母
因果圖&判定表法
等價類劃分法和邊界值分析方法都是著重考慮輸入條件,而不考慮輸入條件的各種組合、輸入條件之間的相互制約關系
如果在測試時必須考慮輸入條件的各種組合,則可能的組合數目將是天文數字,因此必須考慮采用一種適合于描述多中條件的組合、產生多個相應動作的測試方法,這就需要利用因果圖(邏輯模型)
因果圖法基于這樣的思想:一些程序的功能可以用決策表的形式來表示,并根據輸入條件的組合情況規定相應的操作。因此,可以考慮為決策表中的每一列設計一個測試用例,以便測試程序在輸入條件的某種組合下的輸出是否正確。
概括的說,因果圖方法就是從程序規格說明書的描述中找出因(輸入條件)和果(輸出結果或程序狀態的改變),**將因果圖轉換為判定表,為決策表中的每一列設計一個測試用例,**這種方法考慮倒了輸入情況的各種組合以及各個輸入情況的相互制約關系
- 判定表是分析和表達多邏輯條件下執行不同操作的工具,在程序設計發展的初期,判定表已經被當做編寫程序的輔助工具,因為它可以把復雜的邏輯關系和多種條件組合的情況表達得既具體又明確
判定表由四個部分組成:
條件樁(Condition Stub):列出了問題的所有條件,通常認為列出的條件的次序無關緊要
動作樁(Action Stub):列出了問題規定可能采取的操作,這些操作的排列順序沒有約束。
條件項(Condition Entry):列出針對它左列條件的取值,在所有可能情況下的真假值
動作項(Action Entry):列出在條件項的各種取值情況下應該采取的動作。
設計步驟
正交實驗法(窮舉的時候才會用到)
定義:從大量的試驗點中挑選出適量的、有代表性的點,應用依據迦羅卡瓦理論導出的“正交表”,合理的安排試驗的一種科學的試驗設計方法。
關鍵值
- 指標:通常把判斷試驗結果優劣的標準叫做試驗的指標
- 因此(因素):所有影響試驗指標的條件
- 因子的狀態(水平level):而影響實驗因子的,叫做因子的狀態(因子變量的取值)
正交實驗法設計步驟
提供功能說明,構造因子——狀態表;
加權篩選,生成因素分析表(即計算各因子和狀態的權值,刪去一部分權值較小,即重要性較小的因子或狀態,使最后生成的測試用例集縮減到允許的測試范圍)
利用正交表構造測試數據集
3.1 如果各個因子的狀態數是不統一的,幾乎不可能出現軍運的情況,必須首先用邏輯命令來組合各因子的狀態,作出布爾圖
3.2 根據布爾圖得到相應階數的正交表
3.3 依照因果圖上根節點到葉子節點的順序逐步替換正交表上的中間節點,得到最終的正交表
利用正交表每行數據構造測試用例
查找已有官方的正交表:http://support.sas.com/techsup/technote/ts723_Designs.txt
測試場景設計
針對測試場景設計測試用例
場景法原理
現在的軟件幾乎都是用事件觸發來控制流程的,事件觸發時的情景形成了場景,而同一事件不同觸發順序和處理結果就形成了事件流。這種在軟件設計方面的思想可以引入到軟件測試中,可以生動地描繪出事件觸發時的情景,有利于設計測試用例,同時使測試用例更容易理解和執行。
場景法基礎設計
- 每個經過用例的可能路徑,可以確定不同的用例場景
- 從基本流開始,再將基本流和備選流結合起來,可以確定以下用例場景(一筆畫問題)
- 根據說明,描述出程序的基本流及各項備選流
- 根據基本流和各項備選流生成不同的場景
- 對每一個場景生成相應的測試用例
- 對生成的所有測試用例重新復審,去掉多余的測試用例,測試用例確定后,對每一個測試用例確定測試數據值
實際測試中用例設計的綜合運用
測試用例綜合設計
劃分方法的經典方法是瀑布模型,從上到下,逐漸細分,大模塊包括小模塊,小模塊包括更小的模塊;要從更多的角度切入系統,把系統切分成一塊一塊的來進行測試,從而確保測試大項的完整性
功能點切面:最常見的切面,通常認為頁面上的一個按鈕就是一個功能點。根據功能的復雜程度,按每個功能進行用例的撰寫;隱含切面:完整業務流程的測試,從需求、業務角度進行編寫。
(1)任何情況下都必須使用邊界值分析方法,
經驗表明用這種方法設計出測試用例發現程序錯誤的能力最強
(2)必要時用等價類劃分方法補充一些測試用例
(3)如果程序的功能說明中含有輸入條件的組合情況,則一開始就可以選用因果圖法
(4)如果程序業務復雜度比較高,則適當使用場景補充一部分測試用例
總結
以上是生活随笔為你收集整理的测试用例设计(等价类、边界值、因果图、判定表、正交实验)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: html如何选择本地图片,Html5本地
- 下一篇: 物联网毕业设计 单片机智能扫地机器人设计