1. 程式人生 > >【軟體測試】測試用例和測試分類

【軟體測試】測試用例和測試分類

什麼是測試用例?

測試用例:是為了實施測試而被測試系統提供的一組集合,這組集合包含:測試環境,操作步驟,測試資料,預期結果等要素。

測試用例有哪些設計方法?

測試用例的設計方法:
(1)基於需求的設計
會使測試更有效,因為它使測試專注於質量問題產生的根源,即需求。
(2)等價類
依據需求將輸入劃分為若干等價類,從等價類中選出一個測試用例,若這個測試用例通過,認為所代表的等價類測試通過,用較少的測試用例達到了儘量多的功能覆蓋。
eg:因材施教的例子
思路:輸入的集合是無窮的,不能全都覆蓋到
(3)邊界值
邊界值分析法就是對輸入或輸出的邊界值進行測試的一種黑盒測試方法。
eg:日常語言中的邊界漏洞
(4)因果圖


是一種簡化了的邏輯圖,能直觀地表明輸入條件(原因)和輸出動作(結果)之間的相互關係
相關知識:
恆等:若原因為真,結果必為真。
與:兩個原因都為真結果為真。
或:兩個原因中有一個為真結果為真。
非:原因為假,結果為真。
步驟:
1)分析所有可能的輸入和可能的輸出。
2)找出輸入與輸出之間的對應關係。
3)畫出因果圖。
4)轉換為判定表
5)把判定表對應到每一個測試用例。
(5) 正交排列
目的是為了減少用例數目,用盡量少的用例覆蓋輸入的兩兩組合。根據正交性,由實驗因素的全部水平組合中挑選出部分有代表性的點進行試驗,通過對這部分實驗結果的分析瞭解全面實驗的情況。
(6)場景設計法

事件觸發時的情景便形成了場景,同一事件的觸發順序和處理結果就形成了事件流。較生動描繪事件觸發時的情景,有利於測試設計者測試設計用例。
eg:使用者註冊
這裡寫圖片描述
(6)錯誤猜測法
基於經驗和直覺,找出程式中你認為可能出現的錯誤,有針對性地設計測試用例。
什麼是測試用例的粒度?
測試用例的粒度:指測試用例編寫的詳細程度。
測試用例寫的過於複雜或詳細,會帶來兩個問題:效率問題和維護成本問題。
測試用例寫的過於簡單,可能失去了測試周例的意義。
測試資源情況來決定設計出怎樣粒度的測試用例:產品的質量要求;專案對用例的要求;測試時間和資源是否充分。

關於測試的分類?
按開發階段分:
1)單元測試:

是對軟體組成單元進行測試。測試的物件是軟體設計的最小單元位:模組。
測試內容:模組介面測試,區域性資料結構測試,路徑測試,邊界測試。
測試方法:白盒測試。
2)整合測試:聯合測試,將程式模組採用適當的整合策略組裝起來,對系統的介面及整合後的功能進行正確性檢測的測試工作。
測試內容:模組之間資料傳輸,模組之間功能衝突,模組組裝功能正確性。
測試方法:黑盒測試與白盒測試相結合。
3)系統測試:將軟體系統看成是一個系統的測試。
測試內容:功能,介面,可靠性,易用性,相容性,安全性等。
測試方法:黑盒測試
4)迴歸測試:是指修改了舊程式碼後,重新進行測試以確認修改沒有引入新的錯誤或導致其他程式碼產生錯誤。在整個軟體測試過程中佔有很大的工作量比重。
5)冒煙測試:對一個硬體或一個硬體元件進行更改或修復後,直接給裝置加電,如果沒有冒煙元件就通過了測試。
6)驗收測試(1交付測試):
部署軟體之前的最後一個測試操作。
測試方法:黑盒測試
按測試實施組織
1)a測試:由一個使用者在開發環境下進行測試,也可以是公司內部的重點內容使用者在模擬實際操作環境下進行的測試。
2)Beta測試:是一種驗收測試,由軟體的終端使用者們在一個或多個客房場所進行。
區別:
(1)場所不同:a測試是指把使用者請到開發方的場所來測試,beta測試是指在一個或多個使用者的場所進行測試。
(2)a測試先於beta測試執行,使用者數量相對比較少時間比較集中;beta使用者數量相對比較多時間不集中。
第三方測試:介於開發方和使用者方間的組織的測試。

按是否執行劃分:
1)靜態測試 包含程式碼靜態分析和文件測試
2)動態測試 通過執行被測程式,檢查執行結果與預期結果的差異,並分析執行效率,正確性和健壯效能。

按是否手工劃分:
1)手工測試
2)自動化測試:就是在預設條件下執行系統或應用程式,評估執行結果,預先條件應包括正常條件和異常條件。
按是否檢視程式碼:
1)黑盒測試
把被測軟體當作一個黑盒子,不關心盒子內部結構是什麼,只關心軟體的輸入資料和輸出資料。
2)白盒測試
又稱結構測試,透明盒測試,開啟盒子研究裡面的原始碼和程式結果。
3)灰盒測試
是介於白盒測試與黑盒測試之間的一種測試,多用於整合測試階段,不僅關注輸出,輸入的正確性,同時也關注程式內部情況。

按測試地域劃分:
1)國際化測試
2)本地化測試

按測試物件劃分:
1)業務測試(關注需求和使用者)
2)介面測試
測試使用者介面的功能模組佈局是否合理,整體風格是否一致。
3)文件測試
檔案分類:開發檔案;使用者檔案;管理檔案
4)相容性測試
相容性主要是指軟體之間能否很好地運作,會不會影響導致系統崩潰。
5)易用性
是互動的適應性,功能性和有效性的集中體現。
使用者體驗測試
6)安裝測試
7)安全測試
8)效能測試
9)記憶體洩漏測試
記憶體洩漏的原因:
分配完記憶體忘了回收;程式寫法有問題,造成沒辦法回收;沒有及時釋放。