本文轉自測試人社區,霍格沃茲測試開發學社學員筆記
原文鏈接:https://ceshiren.com/t/topic/29430
一、等價類
1.1 定義
- 等價類劃分是一種重要的、常用的黑盒測試方法;
- 不需要考慮程序的內部結構,只需要考慮程序的輸入規格即可;
- 它將不能窮舉的測試過程進行合理分類,從而保證設計出來的測試用例具有完整性和代表性;
- 用户所有可能輸入的數據,劃分成了若干個子集,然後從沒一個子集當中選取少數具有代表性的數據作為測試用例;
- 在測試資源有限的情況下,用少量有代表性的數據得到比較好的測試效果。
1.2 劃分
有效等價類:指符合《需求文檔》,輸入合理的數據集合;
無效等價類:指不符合《需求文檔》,輸入不合理的數據集合。
1.3 劃分原則
- 規定輸入的取值範圍或個數時,則劃分一個有效和兩個無效;
- 規定輸入的集合或規則必需要遵循的條件,則劃分一個有效和一個無效;
- 輸入條件是一個布爾值,則劃分一個有效和一個無效;
- 輸入條件是一組數據,且每個輸入的值做不同的處理,則劃分若干個有效和一個無效;
- 輸入條件規定了必須要遵循的某些規則下,則劃分一個有效和若干個無效;
- 不是所有的等價類都有無效等價類。
1.4 設計步驟
- 先劃分等價類:找出所有可能的分類;
- 確定有效等價類:需求中的條件;
- 確定無效等價類:與條件相反的情況,再找到特殊情況;
- 從各個分類中挑選測試用例數據。
二、邊界值
2.1 定義
- 大量的軟件測試實踐表明,故障往往出現在定義域或值域的邊界上,而不是在其內部;
- 為檢測邊界附近的處理,專門設計測試用例,通常都會取得很好的測試效果;
- 邊界值分析法是一種很實用的黑盒測試用例方法,它具有很強的發現故障的能力;
- 邊界值分析法是作為對等價類劃分法的補充,測試用例來自等價類的邊界。
2.2 確定方法
- 上點:邊界上的點;
- 離點:離上點最近的點;
- 內點:在輸入域內任意一個點;
- 選取正好等於、剛好大於或剛好小於邊界值作為測試數據。
2.3 劃分規則
| 場景 | 取值 |
|---|---|
| 如果規定了輸入域的取值範圍 | 選取剛好在範圍邊界的點、剛好超過邊界的點 |
| 如果規定了輸入值的個數 | 選取最大個數、最小個數、比最小個數少1、比最大個數多1 |
| 如果規定了輸入是一個有序的集合 | 選取集合的第一個元素、最後一個元素 |
三、因果圖
3.1 定義
- 因果圖法是一種利用圖解法分析輸入的各種組合情況,從而設計測試用例的方法;
- 它適合於檢查程序輸入條件的各種組合情況:
-
- “因”——輸入條件
- “果”——輸出結果
3.2 使用場景
- 描述多種條件的組合;
- 產生多個動作。
3.3 基本符號
| 符號 | 描述 |
|---|---|
| 恆等 | 若原因出現,則結果出現;若原因不出現,則結果也不出現 |
| 非 | 若原因出現,則結果不出現;若原因不出現,則結果出現 |
| 或 | 有多個原因。若幾個原因中有一個出現,則結果出現;若幾個原因都不出現,則結果不出現 |
| 與 | 有多個原因。若幾個原因都出現,則結果才出現;若其中一個原因不出現,則結果不出現 |
3.4 互斥條件
| 條件 | 描述 |
|---|---|
| 互斥(E) | a、b、c只能有一個成立,但是可以都不成立 |
| 包含(I) | a、b、c中至少有一個成立 |
| 唯一(O) | a、b、c有且僅有一個成立 |
| 要求(R) | 如果a成立,則要求b必須也成立,其他的不約束 |
| 屏蔽(M) | 如果a成立的時候,強制b不成立,其他的不約束 |
3.5 基本步驟
- 找出所有的輸入條件(因);
- 找出所有的輸出條件(果);
- 明確所有輸入條件之間的制約關係以及組合關係;
- 明確所有輸出條件之間的制約關係已經組合關係;
- 找出什麼樣的輸入條件組合會產生哪種輸出結果;
- 把因果圖轉換成判定表;
- 為判定表中的每一列表示的情況設計測試用例。
推薦
Python全棧開發與自動化測試開發班
由淺入深實戰進階,從小白到高手
以Python全棧開發為基礎,深入教授自動化測試技能,為學員打造全面的技術能力。通過系統學習和實際項目實戰,學員將具備在職場中脱穎而出的競爭力。不僅能夠靈活運用Python進行開發,還能夠保障項目質量通過自動化測試手段。這是一個全面提升職業競爭力的機會。
課程詳情
Python開發必備基礎技能與項目實戰
Pvthon 編程語言/算法和數據結構/面向對象編程Web後端開發/前端開發/測試管理平台項目實戰
人工智能ChatGPT實戰
人工智能輔助學習各種開發和測試技能/Pytorch深度學框架/平台開發實戰
數據分析與自動化辦公
數據採集/Pandas與數據處理技術/ECharts與數據可視化技術/爬蟲實戰/自動化辦公/批量文件處理
UI自動化測試與高級項目實戰
Web自動化測試/App自動化測試/ PageObject設計模式
接口自動化測試
接口協議分析/Mock實戰/服務端接口測試
性能測試
性能測試流程與方法/JMeter 腳本參數化/Grafana監控系統搭建
簡歷指導與模擬面試
1V1簡歷指導/模擬真實面試/測試開發崗面試全攻略名企私教服務 名企專家1v1輔導/行業專家技術指導/針對性解決工作難題/績效提升輔導與晉升覆盤
課程亮點
名企私教服務 先學習後付費 高額獎學金
專屬社羣+晚自習在線答疑
5V1全方位輔導作業+考試強化學習效果
簡歷修改 模擬面試 就業內推 面試覆盤
福利一: 測試開發精品課免費學
福利二:免費領取技能圖譜&大廠面試題合集