邊界條件測試用例編寫指南

2020-12-06 說說軟體測試那些事兒

以邊界情況的處理作為主要目標專門設計測試用例的方法。

邊界條件測試是單元測試中最重要的一項任務。軟體經常在邊界上失效,邊界條件測試是一項基礎測試,也是後面系統測試中的功能測試的重點,邊界測試執行的較好,可以大大提高程序健壯性。數值計算邊界條件測試應考慮下列因素:

★ 程序內有一個n次循環,n次循環應是1~n, 出錯0~n;

★ 小於、小於等於、等於、大於、大於等於、不等於確定的比較值出錯;

★ 出現上溢、下溢和地址異常。

對邊界值的設計測試用例,應遵循以下原則:

(1)如果輸入條件規定了值的範圍(或是規定了值的個數),則應取剛達到這個範圍的邊界的值,以及剛剛超越這個範圍邊界的值作為測試輸入數據;

(2)如果輸入條件規定了值的個數,則用最大個數,最小個數,比最小個數少一,比最大個數多一的數作為測試數據;

(3)如果程序的規格說明給出的輸入域或輸出域是有序集合,則應選取集合的第一個元素和最後一個元素作為測試用例;

(4)如果程序中使用了一個內部數據結構,則應當選擇這個內部數據結構的邊界上的值作為測試用例;

(5)分析規格說明,找出其它可能的邊界條件。

使用邊界值分析方法設計測試用例,首先應確定邊界情況。通常輸入和輸出等價類的邊界,就是應著重測試的邊界情況。應當選取正好等於,剛剛大於或剛剛小於邊界的值作為測試數據,而不是選取等價類中的典型值或任意值作為測試數據。

常見的邊界值:

★ 屏幕上光標在最左上、最右下位置;

★ 報表的第一行和最後一行;

★ 數組元素的第一個和最後一個;

★ 循環的第 0 次、第 1 次和倒數第 2 次、最後一次。

測試所包含的邊界檢驗有幾種類型:數字、字符、位置、大小、方位、尺寸、空間等。

●作者李龍,山東織雀信息科技有限公司負責人,織雀教育首席講師,中國民主同盟盟員,北京人文大學雲測學院院長、高工,國內軟體測試「川模型」的提出者,全國大學生軟體測試大賽評審委員會專家,致力於軟體測試人才培養

(配圖來源於網絡,如有侵權請聯繫作者刪除)

相關焦點

  • 業務驅動用例測試
    【IT168 技術文檔】  我所知的測試大致分類   單元測試/Unit test  基於代碼中類或函數一級的測試   用例測試/Use case test.  基於一個完整業務用例的測試,可以不包括用戶業務系統環境的完整操作流程。
  • UML用例建模的慨念和應用
    用例建模的最主要功能就是用來表達系統的功能性需求或行為。    依我的理解用例建模可分為用例圖和用例描述。用例圖由參與者(Actor)、用例(Use Case)、系統邊界、箭頭組成,用畫圖的方法來完成。用例描述用來詳細描述用例圖中每個用例,用文本文檔來完成。    1. 用例圖    參與者不是特指人,是指系統以外的,在使用系統或與系統交互中所扮演的角色。
  • 解析繪製UML用例圖的基本步驟
    ,主要包括創建新的UML用例圖和繪製UML用例圖兩大部分,相信通過本文的學習你對繪製UML用例圖的基本步驟一定會有所掌握。4.在「添加到建模項目」中,從您的解決方案中選擇一個現有建模項目,或者選擇「創建新的建模項目」,然後單擊「確定」繪製UML用例圖1.將「子系統」邊界從工具箱拖到關係圖中,它可以表示整個系統或其中的主要組件。◆如果不希望描述系統或其組件支持哪些用例,用例圖中可以不繪製系統邊界。
  • 經驗總結 UML實踐指南
    本節向大家介紹一下UML實踐指南,主要包括用例模型,設計方法選擇和面向對象的基本原則等內容,希望通過本節的學習你對UML實踐有一定的認識。下面就讓我們一起來看一下UML實踐指南的詳細介紹吧。
  • 羅德與施瓦茨成為第一個完成RCS5.1一致性測試用例認證的測試測量...
    在馬拉加舉辦的第43次GCF協議一致性和互操作性組會議上,RCS用例的認證已經被作為會議內容的一部分。RCS基於IMS平臺,支持即時消息,以及視頻通話中的多媒體信息共享。多家主流網絡運營商已經開始計劃應用此類RCS業務。
  • 軟體測試工程師需要掌握哪些技能
    2.查看日誌如何寫好測試用例在測試過程中很重要的一類文檔,它是測試工作的核心、是在測試時輸入輸出的標準、是軟體需求的具體對照。編寫測試用例,是測試人員的基本功,但是真正能寫好的人並不多。測試用例必須包含的內容:用例編號、用例名稱、測試背景、前置條件、優先級、重要級、測試數據、測試步驟、預期結果、實際結果、備註。
  • 計算機四級軟體測試工程師考前預測試題及解析(2)
    (C)判定覆蓋     (D)條件組合覆蓋     8.下列關於測試策略,說法錯誤的是________。     (A)白盒測試不同於黑盒測試之處是它可以減少測試用例數量     (B)覆蓋所有獨立路徑就能夠覆蓋所有分支     (C)在單元測試中不使用黑盒測試技術     (D)滿足分支覆蓋就滿足條件覆蓋和語句覆蓋     12.傳統的集成測試策略一般分為兩種:
  • SQL server資料庫存儲過程測試方法
    有兩種基本的方法可以用來編寫針對SQL存儲過程的輕量級的自動化測試。  第一種方法是在原始的SQL環境中編寫自動化測試代碼,也就是說測試套件代碼(harness code)用於T-SQL語言來編寫的,並且在類似於查詢分析器(QueryAnalyzer)或者Management Studio這樣的程序裡被執行。
  • 單元測試常用的方法
    好的設計應該能預測到出錯的條件並且有出錯處理的途徑。雖然計算機機可以顯示出錯信息的內容,但仍需要程式設計師對出錯進行處理,保證其邏輯的正確性以便於用戶維護。   5. 邊界條件   邊界條件的測試是單元測試的最後工作,也是非常重要的工作。毫件容易在邊界出現錯誤。
  • 詳解Python在資料庫測試中的應用
    相信至此,使用Python作為跨越語言的測試工具的優越性,已經十分明顯了:  對於功能與性能測試,我們只需要自己編寫一個解釋器調用腳本,就可以只需要維護一套測試腳本,而同時可以在任何驅動接口上進行測試,構思大體如下圖所示:
  • HIL測試團隊建設下篇(1)-測試管理開源工具鏈(含視頻教學)
    版本管理軟體SVN 在HIL測試過程中,會產生大量的不同類型的文檔,比如測試需求文檔,測試用例文檔、測試用例腳本、HIL臺架控制工程文件、模型文件等等。J.再次強調了軟體測試的主要目的,即發現bug對測試用例設計的重要性。因為它直接影響到工程師的設計心理活動,從而影響到測試用例的質量。因此,作為測試工作最重要的輸出,bug的有效管理是不言而喻的。當數據量很小的時候,你當然可以使用Excel+Email來完成缺陷管理。
  • 如何進行接口測試?如何做好接口測試?API 測試該了解的技術細節
    我們從以下四點說起:1 、用例設計如果把 API 看作一個黑盒的話,那麼我們首先可以設計基於邊界值法、等價類劃分法等的黑盒用例,這些設計思想其實佔據很大成分。常見的比如參數值的邊界,參數缺失/多餘,參數空/非空,特殊字符等;對於複雜的參數,比如結構體/數組鍊表等,可以考慮其最大長度限制/內置特殊字符等。其次,請求方式/不合法的數據格式/不合法的cookie 也會影響到一個接口的返回值。還有,有些接口涉及到加密解密,需要傳一些密鑰值,一些非合法密鑰的檢驗,來觀察 API 的響應情況。
  • 淺談有限元計算中的邊界條件:什麼是邊界條件
    而解方程要有定解,就一定要引入條件,這些附加條件稱為定解條件。定解條件的形式很多,只討論最常見的兩種——初始條件和邊界條件。在說邊界條件之前,先談談初值問題和邊值問題。a≤x≤b的端點滿足一定的條件,如y(a)=A,y(b)=B,則給出的在端點(邊界點)的值的條件,稱為邊界條件,微分方程和邊界條件構成數學模型就稱為邊值問題。
  • 阻抗、過渡邊界條件和完美電導體邊界條件
    集膚深度和零件尺寸信息,這兩點將確定能否使用阻抗邊界條件或過渡邊界條件。 阻抗邊界條件 既然已經知道了集膚深度,我們希望能將該值與模擬物體的特徵尺寸  進行對比。 有幾種定義方式。根據具體情況,特徵尺寸可以定義為體積與表面積的比值,或模擬物體最薄部分的厚度。 我們假設一個  的物體;也就是說,物體遠大於集膚深度。
  • Python啥都行_Robot自動化測試
    文章目錄Robot介紹與環境搭建Robot特性初探Robot 技術架構WxPython GUI工具箱Robot Framework+RIDE安裝第一個案例啟動RIDE自定義一個函數新建項目及測試用例導入自定義庫函數使用自定義函數運行測試用例及查看其報告Robot介紹與環境搭建Robot特性初探Robot Framework是一個基於
  • 疫情面試了13家企業軟體測試崗位,面試題整理
    項目的測試流程1. 拿到需求文檔後,寫測試用例2. 審核測試用例3. 等待開發包4. 部署測試環境5. 冒煙測試(網頁架構圖)6.書寫最終的測試報告測試用例設計方法等價類、邊界值、正交試驗法、狀態遷移法、因果圖、場景測試法、異常分析法、因果圖、錯誤猜測法、判定表測試用例的要素Id 主題 測試名稱 創建日期 設計者 描述 步驟名 步驟描述 預期結果 執行狀態測試的優先級1.
  • Gol語言測試理念和工具
    概述Golang中附帶了用於編寫和運行測試工具:標準庫testing包以go test命令行工具運行測試套件。和Golang語言本身的設計理念一致,Golang測試理念很簡單:用輕量級的測試包和Golang幫助函數結合實現。在這樣的理念下測試也是代碼。
  • 精準測試_科學中國
    精確的度量方法和生產的高度量化控制以及智能化的輔助工具,是一個行業真正發展所需要的最基本的條件,而這一切正是幾乎完全依賴於人工業務經驗的軟體測試行業所最欠缺的。軟體測試的發展遭遇尷尬境地,其主要原因是面臨一些測試技術瓶頸問題目前沒有突破。其實,造成軟體維護困難的深層次的原因在於:軟體測試的整個過程和方法完全面對一個不知內部結構的BLACK BOX。
  • [觀點]架構師如何界定項目邊界 把握系統全局
    傳統辦法的症狀分析:缺乏直觀正式的工作件來記錄系統邊界,記錄系統範圍的文字很多,但卻很容易忽略和遺漏重要的系統以及約束。架構師的十八般武器之一:用好系統環境圖,高瞻遠矚把握全局系統環境圖是什麼?系統環境圖用圖形結合文字的方式直觀地描述系統的邊界。它把系統當成一個黑盒子。
  • python 如何使用HttpRunner做接口自動化測試
    接口自動化主流方案包含:python + Pytest/Unittest、Java + TestNG、Postman、HttpRunner、Postman、Jmeter、RobotFramework 等本篇文章將和大家一起聊聊 HttpRunner 做接口自動化的流程2.介紹及安裝HttpRunner 是一款完全由 Python 語言編寫的測試框架