1. 程式人生 > >測試理論

測試理論

方案 大數據量 用戶表 階段 啟動 工作 定義 性能測試 邊界值

軟件:計算機程序、程序所用的數據以及有關的文檔資料的集合。

軟件測試:在規定的條件對軟件進行操作,以發現錯誤,對軟件質量進行評估。

測試目的:提高軟件質量,發現軟件缺陷和錯誤,對軟件質量進行評估。

開發模型:瀑布模式、vwxh、螺旋模式

1、瀑布模型

計劃,需求分析,設計,編碼,測試,運行與維護

優點:上一階段的變換結果是下一階段的變換的輸入,相鄰兩個階段具有因果關系,緊密相聯。可用於叠代。

缺點:突出缺點是不適應用戶需求的變化。

2、V 模型

規格說明書,需求分析,概要分析,詳細分析,編碼,單元測試,集成測試,系統測試,驗收測試

優點:強調了在整個軟件項目開發中需要經歷的若幹個測試級別,並與每一個開發級別對應

缺點:未明確指出對需求和設計的測試,前期的錯誤要在驗收階段才能發現。

3、W 模型

1)需求分析,概要設計,詳細設計,編碼實現,模塊集成,系統構建,系統安裝

2)需求測試,概要設計測試,詳細設計測試,單元測試,集成測試,系統測試,驗收測試

優點:有利於盡早發現問題

缺點:不支持叠代

軟件生命周期

需求,設計,編碼,測試,維護,升級,廢棄

軟件測試流程

1、需求分析(需求人員,客戶,產品組)

2、測試計劃(測試老大)

3、測試方案(測試人員)

4、測試用例(測試人員)

5、用例執行(測試人員)

6、測試報告(測試老大和有經驗的測試人員)

測試結束條件

需求覆蓋率達標,用例執行達標,缺陷遺留率達標,軟件質量目標達標。

測試開始條件

軟件測試在項目啟動、需求分析的時候開始時候隨之開始。

軟件測試類型

1、按測試階段進行劃分:

1)單元測試(對軟件中的最小可測試單元進行檢查和驗證。對象是代碼,程序員自測)

2)集成測試(所有模塊按照設計要求組裝成為子系統或系統進行測試。對象是模塊,程序員或者測試人員)

3)確認測試(目的是向未來的用戶表明系統能夠像預定要求那樣工作)

3)系統測試(目的是驗證系統是否滿足了需求規格的定義,範圍是:功能,安全,兼容,性能,界面,安裝卸載,易用性)

4)驗收測試(確定產品是否能夠滿足合同或用戶所規定需求的測試)

a.非正式驗收測試

А(alpha)測試:軟件開發公司組織內部人員模擬各類用戶行為對即將上市的產品進行測試。

?(beta)測試:軟件開發公司組織各方面的的典型客戶在日常工作中實際使用,並要求用戶報告異常情況、提出改進意見,然後公司再進行完善。

b.正式驗收測試

有正規的測試過程,需要制定測試計劃、定義測試方案、選擇測試用例,進行測試,結果提交。


2、按是否運行程序劃分:

1)靜態測試(桌面檢查、代碼審查,檢查代碼、界面、文檔)
2)動態測試(實際運行被測試的軟件,輸入相應的測試數據,檢查實際的輸出結果是否和預期結果相一致的過程)

3、按是否看代碼劃分:
黑盒測試(也稱功能測試,不管內部邏輯和內部特性,只依據規格說明書檢查程序的功能是否符合功能說明。)
白盒測試(也稱為結構測試。著重於程序內部結構和算法,不關心功能和性能指標。)
灰盒測試(介於白盒和黑盒測試之間,基於程序運行時刻的外部表現同時又結合程序內部邏輯結構來設計用例,執行程序並采集程序路徑執行信息和外部用戶接口結果的測試技術。)


其他類型的測試

回歸測試:對軟件的新版本測試時,重復執行上一個版本測試時使用的測試用例。

冒煙測試:BVT測試,對象是每一個新編譯需要正式測試的版本,目的是確認軟件基本功能正常,可以進行後續的正式測試工作。

隨機測試:猴子測試。

敏捷測試:高度叠代,有周期性,並且能夠及時、持續地響應客戶的頻繁反饋。

黑盒測試方法:或者測試用例的設計方法

1、等價類劃分法※(郵箱註冊,6~18個字符,可使用字母、數字、下劃線,需以字母開頭,)
2、邊界值分析法※(年份選擇,1900~2048)
4、場景法※(登陸,基本流,備選流)
5、因果圖法
6、錯誤推斷法
7、正交試驗方法

測試質量:

1、覆蓋需求所有的功能點
2、猴子測試(隨即測試、自由探索測試)
3、嚴格執行測試用例
4、時間充足的時候跟同事互測

性能測試:為獲取或驗證系統性能指標而進行的測試

壓力測試:在強負載(大數據量,大並發用戶)下的測試

負載測試:模擬實際軟件系統所承受的負載條件的系統負荷,通過不斷加載(如逐漸增加模擬用戶的數量)或其它加載方式來觀察不同負載下系統的響應時間和數據吞吐量、系統占用的資源(如CPU、內存)等,以檢驗系統的行為和特性,以發現系統可能存在的性能瓶頸、內存泄漏、不能實時同步等問題。

測試理論