【軟件測試】測試用例的設計方法

目錄

一、基于需求進行測試用例的設計

1.1 功能需求測試分析

二、黑盒測試用例設計方法

2.1 等價類劃分法(解決窮舉)

2.1.1 等價類設計步驟

2.1.2 等價類劃分法案例

2.1.2.1 驗證 QQ 賬號的合法性

2.1.2.2 驗證某城市電話號碼的正確性

2.1.3 適用場景

2.2 邊界值分析法(解決邊界值)

2.2.1 邊界值的概念

2.2.2 邊界范圍節點

2.2.3 邊界值設計用例步驟

2.2.4 邊界值劃分法案例

2.2.4.1 驗證標題長度的合法性

2.2.4.2 驗證 QQ 賬號的合法性

2.2.5 邊界值的應用場景

2.3 錯誤猜測法(拓展方法)

2.4 場景設計法(基于項目業務)

2.4.1 流程圖

2.4.2 場景設計法

2.4.3 場景設計案例

2.4.3.1 ATM 機取款流程

2.5 判定表法(解決多條件依賴)

2.5.1 判定表法的引用

2.5.2 判定表法設計用例步驟

2.5.3 判定表法案例

2.5.3.1 訂購單檢查

2.5.4 判定表法的應用場景

2.6 正交排列(條件組合多的情況)

2.6.1 概念

2.6.2 正交表的性質

2.6.3 通過正交表設計測試用例

2.6.4 Allpairs工具


一、基于需求進行測試用例的設計

基于需求設計測試用例是測試設計和開發測試用例的基礎,第一步就要分析測試需求,驗證需求是否正確、完整、無二義性,并且邏輯自洽。在需求正確的基礎上細化測試需求,從測試需求提煉出一個個測試點或者測試項,然后根據每一個測試點進行測試用例的設計;

1.1 功能需求測試分析

(1)系統各個功能界面的驗證

(2)借助業務把功能串起來進行測試

(3)功能的一致性,交互性(多功能互操作)的測試

(4)系統的不同輸入,結果輸出的業務數據測試。

(5)功能的錯誤操作,異常操作的測試(屬于負面測試)

(6)功能實現用到的算法驗證,有時需要用運代碼評審

(7)用戶操作的易用性,用戶體驗,往往結合功能測試同時驗證

二、黑盒測試用例設計方法

2.1 等價類劃分法(解決窮舉)

  • 等價類劃分法:對所有的測試數據中的具有某種共同特征的數據集合進行劃分。

  • 等價類的分類:有效等價類、無效等價類

2.1.1 等價類設計步驟

  1. 充分理解需求

  2. 劃分有效等價類,無效等價類:細分有效等價類和無效等價類

  3. 組合有效等價類和無效等價類

2.1.2 等價類劃分法案例

2.1.2.1 驗證 QQ 賬號的合法性
  1. 明確需求:6~10 位自然數

  2. 劃分等價類

    1. 有效等價類:6,7,8,9位自然數(取其中任意一種即可)

    2. 無效等價類:小于6位、大于10位(取其中任意一種即可)

  3. 組合等價類,編寫用例:

2.1.2.2 驗證某城市電話號碼的正確性

組合有效等價類和無效等價類:

2.1.3 適用場景

  • 針對場景:需要有大量的數據測試輸入,但是沒法窮舉測試的地方

    • 輸入框

    • 下拉列表

    • 單選復選框

2.2 邊界值分析法(解決邊界值)

2.2.1 邊界值的概念

邊界值分析法:對輸入或輸出的邊界值進行測試的一種黑盒測試方法。通常邊界值分析法是作為對等價類劃分法的補充,這種情況下,其測試用例來自等價類的邊界。

2.2.2 邊界范圍節點

  • 上點:無論是開區間還是閉區間還是半開半閉區間,上點就是表示邊界上的點

  • 內點:無論是開區間還是閉區間還是半開半閉區間,內點表示的是邊界內的點

  • 離點:離點表示邊界左右的一個點。如果是閉區間,離點就是范圍外的點;如果是開區間,離點就是范圍內的點。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/80110.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/80110.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/80110.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

微服務系統設計

在設計微服務系統時,需要綜合考慮架構、業務劃分、通信方式、數據管理、安全性、運維等多個方面的問題。 一、微服務系統設計需考慮的問題 1. 服務劃分 如何合理拆分服務,避免“微服務地獄”。拆分粒度不宜過小:太多服務增加管理和通信成本…

Django ORM: values() 和 annotate() 方法詳解

1. values()方法 1.1 基本概念 values()方法用于返回一個包含字典的QuerySet,而不是模型實例。每個字典表示一個對象,鍵對應于模型字段名稱。 1.2 基本用法 # 獲取所有書籍的標題和出版日期 from myapp.models import Bookbooks Book.objects.value…

43.防雷擊浪涌設計

防雷擊浪涌設計 1. 雷擊浪涌形成的機理2. 雷擊浪涌的防護 1. 雷擊浪涌形成的機理 雷擊浪涌分為直擊雷和感應雷: 直擊雷——帶電荷的云對建筑物、避雷針等放電,或者帶異種電荷的雷云撞擊放電,其能量超級大; 感應雷——雷云在高壓…

雙端口ram與真雙端口ram的區別

端口獨立性 真雙端口RAM:擁有兩個完全獨立的讀寫端口(Port A和Port B),每個端口都有自己的地址總線、數據總線、時鐘、使能信號和寫使能信號。這意味著兩個端口可以同時進行讀寫操作,且互不干擾。 偽雙端口RAM&…

Python畢業設計219—基于python+Django+vue的房屋租賃系統(源代碼+數據庫+萬字論文)

畢設所有選題: https://blog.csdn.net/2303_76227485/article/details/131104075 基于pythonDjangovue的房屋租賃系統(源代碼數據庫萬字論文)219 一、系統介紹 本項目前后端分離,分為租客、房東、管理員三種角色 1、租客: 注冊、登錄、公…

Webpack基本用法學習總結

Webpack 基本使用核心概念處理樣式資源步驟: 處理圖片資源修改圖片輸出文件目錄 自動清空上次打包的內容EslintBabel處理HTML資源搭建開發服務器生產模式提取css文件為單獨文件問題: Css壓縮HTML壓縮 小結1高級SourceMap開發模式生產模式 HMROneOfInclud…

數字IC前端學習筆記:鎖存器的綜合

相關閱讀 數字IC前端專欄https://blog.csdn.net/weixin_45791458/category_12173698.html?spm1001.2014.3001.5482 鎖存器是一種時序邏輯,與寄存器相比面積更小,但它的存在會使靜態時序分析(STA)變得更加復雜,因此懂得什么樣的設計會綜合出…

LVGL源碼學習之渲染、更新過程(2)---無效區域的處理

LVGL版本:8.1 往期回顧: LVGL源碼學習之渲染、更新過程(1)---標記和激活 區域合并 在前面的代碼分析中,發現標記無效區域的工作其實很繁瑣,雖然大部分區域因為包含關系被剔除,但仍可能存在相互交叉的區域&#xff0c…

01 dnsmasq 中 dns服務

前言 這里我們主要是 來看一下 dns 服務器這邊的相關業務處理 通常來說 在我們日常生活中 還是經常會需要使用 dns 的情況, 主要是更加友好的去給一個主機命名一個別名 比如 現在我的應用在服務器 192.168.220.133 但是我不想記這個生硬的 ip, 我可能更期望記錄一個域名, …

最優化方法Python計算:有約束優化應用——線性Lasso回歸分類器

利用線性Lasso模型類LineLassoModel類(見博文《最優化方法Python計算:有約束優化應用——線性Lasso回歸預測器》)及分類器類Classification(見博文《最優化方法Python計算:無約束優化應用——線性回歸分類器》&#xf…

Python基礎學習-Day20

目錄 奇異值分解(SVD)的輸入和輸出奇異值的應用實際案例1. 問題分析2. 解決方案:對測試集應用相同的變換3. 為什么不能對測試集單獨做 SVD?4. 代碼示例:訓練集和測試集的 SVD 降維6. 實際操作中的注意事項 奇異值分解&…

2025年 全新 AI 編程工具 Cursor 安裝使用教程

一、Cursor 軟件下載 首選,登錄Cursor官網,進行軟件下載,官網下載地址如下: Cursor AI IDE 下載 二、Cursor軟件安裝配置 此處以Windows10系統安裝為例,下載完成之后,右鍵安裝包,以管理員身份…

[vue]error:0308010C:digital envelope routines::unsupported

npm run dev 報錯: \node_modules\webpack\hot\dev-server.jsnode:internal/crypto/hash:71 this[kHandle] new _Hash(algorithm, xofLen); Error: error:0308010C:digital envelope routines::unsupported opensslErrorStack: [ error:03000086:digital env…

開放的力量:新零售生態的共贏密碼

當某頭部生鮮平臺向供應商開放銷售預測系統后,合作伙伴的庫存周轉率竟提升12%——這個反常識的案例,正在重塑商業競爭的底層邏輯。 生態共建三板斧 ▌模塊化設計:像搭積木一樣開放 ? 樂高式API架構:30%接口支持自由組合&#xff…

深入理解Spring緩存注解:@Cacheable與@CacheEvict

在現代應用程序開發中,緩存是提升系統性能的重要手段。Spring框架提供了一套簡潔而強大的緩存抽象,其中Cacheable和CacheEvict是兩個最常用的注解。本文將深入探討這兩個注解的工作原理、使用場景以及最佳實踐。 1. Cacheable注解 基本概念 Cacheable…

[python] 函數3-python內置函數

一 內置函數 導入:import builtins 1.1 查看內置函數 大寫字母開頭的一般是內置變量小寫的一般是內置函數 import builtins print(dir(builtins)) 1.2 abs() 求絕對值 print(abs(-10)) 1.3 sum()求和 不能直接用純數字,因為不是可迭代對象 運算時只要一個是浮點數,結果就…

QT異步線程通信

在使用 QThreadPool 提交任務后,如果你需要知道任務何時完成,并且需要使用任務的執行結果,可以通過以下幾種方式來實現: 1. 使用信號和槽 QRunnable 提供了一個 finished() 信號,當任務執行完成后會發出。你可以在任…

利用并行處理提高LabVIEW程序執行速度

在 LabVIEW 編程中,提升程序執行速度是優化系統性能的關鍵,而并行處理技術則是實現這一目標的有力武器。通過合理運用并行處理,不僅能加快程序運行,還能增強系統的穩定性和響應能力。下面將結合實際案例,深入探討如何利…

機器學習第三講:監督學習 → 帶答案的學習冊,如預測房價時需要歷史價格數據

機器學習第三講:監督學習 → 帶答案的學習冊,如預測房價時需要歷史價格數據 資料取自《零基礎學機器學習》。 查看總目錄:學習大綱 關于DeepSeek本地部署指南可以看下我之前寫的文章:DeepSeek R1本地與線上滿血版部署&#xff1…

Open CASCADE學習|實現裁剪操作

1. 引言 Open CASCADE (簡稱OCC) 是一個功能強大的開源幾何建模內核,廣泛應用于CAD/CAM/CAE領域。裁剪操作作為幾何建模中的基礎功能,在模型編輯、布爾運算、幾何分析等方面有著重要作用。本文將全面探討Open CASCADE中的裁剪操作實現原理、應用場景及具…