Testing - 軟件測試知識梳理 - 測試方法


選擇和使用測試方法和工具

  • 按照測試需求用途(或測試技巧)選擇
  • 在軟件開發生命周期和軟件測試流程中適當地選擇
  • 按照測試人員實際技能選擇
  • 選擇可提供的和可執行的

測試方法

類別及技巧 目標 使用方法 舉例 適合場景
壓力測試 模擬出實際用戶環境 產生測試數據;測試組模擬用戶處理被創建的數據 確定是否分配了足夠的磁盤空間;通訊的容量是否足夠;測試系統過載的情況 關於容量的信息不確定
性能測試 確定系統達到了希望達到的性能水平 使用軟件和硬件的監視器;使用模擬的監控模型,對關心的性能指標進行監控;創建一個小程序; 計算通信的時間;單位時間處理的信息量; 程序開發的早期
恢復測試 當在進行安裝或組裝操作過程中,文件丟失時或發生意外后系統有能力重新進行操作 程序的安裝,運行方式,工具的使用和關鍵技術經過足夠的評估;系統開發完畢后,介紹一下發生失敗后的處理過程 人為的使一個系統在安裝或者組裝過程中產生錯誤 當操作的連續性是個重點的時候
操作測試 確定操作文檔已經完整 作為計算機正常操作的一部分來執行測試 操作的介紹被文檔化,操作者被培訓 預先將程序進行產品化。操作性是系統的一個重要指標
復合性測試(與過程的復合性) 校驗程序的開發是否依照已定義的標准,流程和操作方式進行的。 將文檔/程序同標准相比較,比較有效的方法是檢查過程 代碼互查(一行一行) 依賴於管理的需要
安全性測試 安全性的缺陷很難被發現;大多數的情況下組織能夠防止一般性的破壞者。 對安全性的需求進行評審;分析與安全性有關的處理流程;轉包給專業的人員; 定義了被保護的資源,權限進行了控制,日志文件和審查追蹤是可用的。 當被保護的資源對於組織具有重要的價值
需求測試 用戶的需求可以被實現 創建測試用例和功能檢查列表 建立測試矩陣去證實系統需求均被文檔化 每一個應用程序都要進行需求測試
回歸測試 程序修改后,確保功能的正確性 重新測試應用程序中沒有改變的部分 重新執行以前的測試用例 當新的程序有可能影響老的功能
錯誤處理測試 所有可能的錯誤條件均經過了驗證 一組有經驗的人員預測在那里會出現問題 建立一個錯誤處理的列表 貫穿整個開發生命周期
支持手冊測試 檢驗操作過程被完整地文檔化了 對過程有足夠的介紹;可以協助用戶正常使用 系統在一定的條件下產生一個提示,用戶被告知如何采取必要的操作。 最佳時機是在安裝測試的時候,但是應該在開發全過程中。
系統兼容測試 檢驗當使用適當的參數和數據時,需要的信息可以在兩個系統中正確的交換 文件和數據被用來在多系統之間傳遞。 典型的由一個系統到另一個系統的數據交換程序。 兩個應用程序之間的參數有可能發生變化
控制性測試 驗證數據交換時有足夠的審計追蹤能力 關鍵數據或者有價值的數據 從負面來看程序,是否確保了會出錯的條件都被保護了。 系統測試的一部分
並行測試 新版本和老版本同時運行,用以確保新版本的程序運行正確。 需要對兩個系統輸入相同的數據來運行 運行新舊兩個工資支付系統 不確定新系統的的運行情況

測試工具

階段 測試工具 備注
需求 檢查表、實況調查與驗證、流程圖、需求模型、錯誤推測、風險列表、打分表、走查(講解開發思路)、......
設計 因果圖、檢查表、實況調查與驗證、正確性數據、評審、錯誤推測、執行規范、流程圖、設計模型、風險列表、打分表、測試用例、走查(講解開發思路)、......
編碼 邊界值分析、因果圖、檢查表、實況調查與驗證、編譯分析、基礎復雜度、控制流分析、覆蓋測試對照表、數據流分析、錯誤推測、流程圖、映射圖、代碼互查、完成特征、測試用例、跟蹤、走查(講解開發思路)、......
測試 確認測試標准、邊界值分析、檢查表、實況調查與驗證、基礎復雜度、控制流分析、覆蓋測試對照表、數據字典、功能性測試、災難性測試、錯誤推測、全面測試、測試儀器、並行模擬、代碼互查、系統日志、測試用例的產生及執行、程序及工具、容量測試、......
安裝 確認測試標准、檢查表、實況調查與驗證、錯誤推測、全面測試、測試儀器、並行操作、代碼互查、系統日志、程序及工具、......
維護 檢查表、代碼比較、實況調查與驗證、災難性測試、錯誤推測、測試儀器、綜合測試工具、代碼互查、系統控制審計評審、系統日志、測試用例的產生及執行、跟蹤、程序及工具、......

UT - IT - ST

測試過程 單元測試(UT) 接口測試(IT) 系統測試(ST)
定義 是對軟件基本組成單元(軟件設計的最小單位)進行正確性檢測,如函數或一個類的方法。 通常所說的接口聯調,是單元測試的邏輯擴展。在單元測試的基礎上,將所有模塊按照HLD要求組裝成為子系統或系統,驗證模塊間的接口是否正確的。 將已經集成好的軟件系統,作為整個基於計算機系統的一個元素,與計算機硬件、外設、某些支持軟件、數據和人員等其他系統元素結合在一起,在實際運行環境下,對計算機系統進行一系列的組裝測試和確認測試。
測試依據 源程序本身,包括代碼和注釋;詳細設計(LLD,Low Level Design) 單元測試的模塊;概要設計(HLD,High Level Design) 軟件需求規格說明(SRS,Software Requirement Specification)
測試目的 與LLD是否符合 與HLD是否符合 與SRS是否符合
測試方法 屬於白盒測試范疇 屬於灰盒測試范疇 屬於黑盒測試范疇
考察范圍 主要測試單元內部的數據結構、邏輯控制、異常處理等 主要測試模塊之間的接口和接口數據傳遞關系,以及模塊組合后的整體功能 主要測試整個系統相對於需求的符合度
評估基准 邏輯覆蓋率 接口覆蓋率 測試用例對需求規格的覆蓋率
評估基准的方法 TDD,測試驅動開發 每個接口被覆蓋的程度;每個接口的等價類、邊界值被覆蓋的程度 等價類兩兩組合;邊界值分析;業務流程法;狀態遷移法;錯誤猜測法;輸出域覆蓋
被測對象 一個或一組函數 子系統、模塊間接口 完整的軟件系統及系統交互的軟硬件平台
測試時機 編碼之后,代碼已經通過編譯之后 在單元測試之后 集成測試之后
測試人員 開發人員或白盒測試工程師 函數間/模塊內集成是開發人員;模塊間集成是白盒測試員;子系統間集成是黑盒測試員; 黑盒測試工程師
測試通過標准 單元測試用例的執行率為100%,通過率為95%;語句的覆蓋率達100%;分支的覆蓋率達85% 各個單元模塊結合到一起能夠協同配合,正常運行;測試用例的執行率為100%,通過率為95% 系統功能、性能等滿足需求規格說明書中的要求;測試用例的執行率為100%,通過率為95%
測試策略 控制流測試、數據流測試、排錯測試、分域測試等 大爆炸、自頂向下測試、自底向上測試、三明治 功能測試、性能測試、隨機測試等


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM