日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

测试用例设计(等价类、边界值、因果图、判定表、正交实验)

發布時間:2023/12/8 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 测试用例设计(等价类、边界值、因果图、判定表、正交实验) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

測試設計與測試用例

測試設計是將概括的測試目標轉化為具體的測試條件測試用例的一系列活動。

測試分析和設計的主要任務

評審測試依據(需求,系統架構、設計和接口說明),根據依據,確定哪些部分需要測試
評估測試依據和測試對象的可靠性(比如文檔沒有改變,但是項目具體改變了,因此需要評審測試依據是否可靠),所以測試人員需要參加開發的會議
通過對測試項、規格說明、測試對象行為和結構的分析,識別測試條件并確定優先級
設計測試用例,并確定優先級
確定測試條件和測試用例所需的必要的測試數據

確定測試條件

依據在測試策略或測試計劃中確定的測試技術
通過對測試依據和饑餓測試目標的分析,可以確定需要測試的內容,獲得測試條件(站在產品角度,用戶方的角度去測試)
需求 - > 測試內容

測試用例

測試用例來源于測試依據,測試依據來源于測試需求
測試用例是通過使用在測試計劃中確定的測試技術,對于已確定的測試條件進行逐步推敲,精煉而設計出來的重點說明如何具體操作產生何種結果的文檔。
測試用例應該具有可重復性可驗證性需求可追蹤性

測試用例設計包括的關鍵點:

  • 前提條件,如項目或局部測試環境的需求,及其交付計劃
  • 測試步驟,一步一步地操作
  • 測試數據
  • 預期結果(測試成功應該要展示什么的正確結果)

測試用例常用的設計方法

  • 等價類劃分法
  • 邊界值法
  • 因果圖設計法
  • 判定表設計法
  • 正交實驗法

等價類劃分法

有效等價類定義:由那些對程序的規格說明有意義的、合理的輸入數據所構成的集合,反之,就是無效等價類

等價類劃分法:

  • 等價類劃分的辦法是把程序的輸入域劃分成若干部分
  • 然后從每個部分中選取少數代表性數據當作測試用例
  • 每一類的代表性數據在測試中的作用等價于這一類中的其他值

也就是說,如果某一類中的一個例子發現了錯誤,這一等價類中的其他例子也能發現同樣的錯誤。反之,如果某一類中的一個例子沒有發現錯誤,則這一類中的其他例子也不會差出錯誤。

等價類劃分原則

  • 如果輸入條件規定了取值的范圍或值的個數,則可確定一個有效等價類和兩個無效等價類(比如 取值范圍是0-10,那么小于0和大于10就是兩個無效等價類;取值只能取五個,那么小于五個或大于五個都是無效等價類)
  • 如果一個輸入條件說明了一個“必須成立”的情況,則可劃分一個有效等價類和一個無效等價類
  • 如果輸入條件規定了輸入數據的一組可能的值,而且程序是用不同的方式處理每一種值,則可為每一種值劃分一個有效等價類,并劃分一個無效等價類(對某一種數的處理模式不同就是一個等價有效類)
  • 如果我們確定,已劃分的某等價類中的各元素(例子)在程序中的處理方式是不同的,則應據此將此等價類進一步劃分成更小的等價類
  • 在確定了等價類之后,建立等價類表,列出所有劃分出的等價類
  • 基于等價類劃分的用例設計

  • 明確測試對象對象,非測試對象保證正確
  • 為每個等價類規定一個唯一的編號
  • 設計一個新的測試用例,使其盡可能多地覆蓋尚未覆蓋的有效等價類。重復這一步,最后使得所有有效等價類均被測試用例所覆蓋
  • 設計一個新得測試用例,使其只覆蓋一個無效等價類。重復這一步使所有無效等價類均被覆蓋。
  • 等價類的特點

  • 測試相同的內容,等價類是相同意義上的內容
  • 如果等價類中的一個測試能夠捕獲一個缺陷,那么選擇該等價類中的其他測試也能捕獲該缺陷
  • 如果等價類種得一個測試不能捕獲缺陷,那么選擇該等價類中的其他測試也不會捕獲缺陷
  • 如果正確的劃分等價類,可以大大降低測試用例的數量,測試會準確有效
  • 如果錯誤的將兩個等價類當作一個等價類,那就會遺漏一種測試情況
  • 不但要考慮有效等價類,也要考慮無效等價類
  • 仔細劃分,審查劃分
  • 過于粗略會漏掉軟件缺陷
  • 組織評審
  • 邊界值分析法

    邊界值分析法是一種補充等價劃分的測試用例設計技術,他不是選擇等價類的任意元素,而是選擇等價類邊界的測試用例

    邊界值分析法不僅充實輸入條件邊界,而且也從輸出域到處測試用例

    邊界值設計的原則

    如果輸入條件規定了取值范圍,應以該范圍的邊界內及剛剛超范圍的邊界外的值作為測試用例(最后一個符合和第一個不符合)
    比如以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)如果程序業務復雜度比較高,則適當使用場景補充一部分測試用例
  • 總結

    以上是生活随笔為你收集整理的测试用例设计(等价类、边界值、因果图、判定表、正交实验)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。