測試的分類

測試分類:
1.按開發階段劃分(重點):
開發階段分爲UI界面層(要求最低,人員最多)UI:功能驗證測試、兼容性與用戶測試
業務邏輯層 Server:客戶端模擬測試、內外接口測試、SDK接口測試
數據處理層(要求最高,人員最少)Unit:單元測試(白盒測試,對代碼進行測試)、CodeReview(代碼複審)
1)單元測試(模塊測試):對軟件組成單元進行測試,其目的是檢驗軟件基本組成單位的正確性
測試階段:編碼後或編碼前(TDD,測試驅動開發(研發人員拿着測試人員寫的測試用例去寫代碼))
測試對象:軟件設計的最小單位:模塊,又稱模塊測試。
測試人員:白盒測試工程師或開發工程師
測試方法:白盒測試
測試內容:模塊接口測試、局部數據結構測試、路徑測試、錯誤處理測試、邊界測試
測試依據:代碼的註釋+詳細設計文檔
2)集成測試(聯合測試):至少兩個模塊,將程序模塊採用適當的繼承策略組裝起來,對系統的接口及集成後的功能進行正確性檢測的測試工作。
測試階段:一般單元測試之後
測試對象:模塊間的接口
測試人員:白盒測試工程師或開發工程師
測試方法:黑盒和白盒相結合(既要測功能又要測代碼)
測試內容:模塊之間數據傳輸、模塊之間功能衝突、模塊組裝功能正確性、全局數據結構、單模塊缺陷對系統的影響
測試依據:單元測試的模塊+概要設計文檔
3)系統測試(測試人員花費時間最長的階段):將軟件系統看成是一個系統的測試。包括對功能、性能以及軟件所運行的軟硬件環境進行測試。時間大部分在系統測試執行階段,包括迴歸測試和冒煙測試。
測試階段:集成測試之後
測試對象:整個系統(軟硬件)
測試人員:黑盒測試工程師
測試方法:黑盒測試
測試內容:功能、界面、可靠性、易用性、性能、兼容、安全性等
測試依據:需求規格說明文檔
a:冒煙測試:對主幹業務流程進行測試,目的是確認軟件基本功能正常,可以進行後續的正式測試工作(測試人員是否進行測試的依據)
測試階段:系統測試之前(包括在系統測試中)
b:迴歸測試:修改了舊代碼之後,重新進行測試以確認沒有引入新的錯誤或導致其他代碼產生錯誤。
自動迴歸測試將大幅降低系統測試、維護系統等階段的成本。
測試階段:系統測試之後(包括在系統測試中)
4)驗收測試:
測試階段:系統測試之後
測試對象:整個系統
測試人員:最終用戶或需求方
測試依據:用戶需求、驗收標準
測試方法:黑盒測試
測試內容:同系統測試(需求規格說明文檔)
2.按測試實施組織:
預發佈環境:上線之前的環境,和真實的生產環境(我們現在使用的淘寶環境)差不多
1)α:
測試環境:公司內部的開發環境或預發佈環境
測試人員:本系統的測試人員和研發人員之外的人員
測試周期:短
測試階段:β之前
2)β:
測試環境:用戶的真實環境(驗收測試)
測試人員:用戶
測試周期:長(涉及用戶付款)
測試階段:α之後
3)第三方:
a:研發和測試分開,兩個不同的公司
b:只把測試外包出去
3.按是否運行劃分:
1)靜態測試(可以人工可以工具):不運行被測程序本身,進行測試(代碼的風格和規則審覈,程序設計和結構的審覈,業務邏輯的審覈)。
不僅僅測試代碼,還對文檔的正確性、準確性進行測試。
靜態質量:用六個方面進行衡量:功能性、可靠性、可用性、有效性、可維護性、可移植性
2)動態測試:運行被測程序,檢查運行結果與預期結果的差異
4.按是否手工劃分:
1)手工測試:
優點:自動化無法替代探索性測試,發散思維結果的測試
缺點:執行效率慢,量大易錯
2)自動化測試:比如功能測試自動化、性能測試自動化、安全測試自動化
通常所說的自動化是指功能測試自動化
可以用於:冒煙測試,迴歸測試
優點:手工測試的缺點
缺點:手工測試的優點
自動化實施步驟:
a:完成功能測試,版本基本穩定
b:根據項目特性,選擇適合項目的自動化工具,並搭建環境
c:提取手工測試的測試用例轉化爲自動化測試的用例(存在轉換率)
d:通過工具、代碼實現自動化的構造輸入,自動檢測輸出結果是否符合預期
e:生成自動測試報告
f:持續改進,腳本優化
5.按是否查看代碼劃分(重點):
1)黑盒測試:也稱爲功能測試,測試中不關心代碼的結構(不看代碼),只看軟件的輸入數據和輸出數據。
2)白盒測試
:也稱爲結構測試(看代碼),對代碼進行測試,即對單元測試的測試內容進行測試。
3)灰盒測試:多用於集成測試階段,關注輸入輸出也關心程序內部結構。
6.按測試地域劃分:
1)本地測試
2)國際化測試
7.按測試對象劃分(重點):
1)業務測試:測試人員把系統各個模塊串接起來運行,模擬真實用戶實際的工作流程,滿足用戶需求定義的功能來進行測試的過程。
2)界面測試:UI測試,測試用戶界面的功能模塊的佈局是否合理,整體風格是否一致,和個人審美有關。滿足大部分人的審美觀。
3)容錯性測試:分爲輸入異常數據或進行異常操作和災難恢復性測試,
輸入異常比如輸入錯誤用戶名和錯誤密碼,針對等價類,錯誤的等價類看他的處理方法
普通的容錯性測試就是測試輸入框的錯誤輸入
災難恢復性測試:通過各種手段,讓軟件強制發生故障,然後驗證系統以保存的用戶數據是否丟失,系統的數據是否能儘快恢復。
4)文檔測試:分爲三大類文檔:開發文件,用戶文件,管理文件
文檔測試的關注點:文檔的術語,文檔的正確性,文檔的完整性,文檔的一致性,文檔的易用性(可讀性)
5)兼容性測試:軟件之間能否很好的運作
Web測試:平臺測試,瀏覽器測試,軟件本身能否向前或向後兼容,測試軟件能否與其他相關的軟件兼容,數據兼容性測試(int是否兼容double,double是否兼容int)
App測試:不同品牌,不同機型,不同版本
6)易用性測試:和界面測試相同,沒有統一標準,符合大多數人的標準就行
7)安裝測試:測試程序的安裝,卸載(電腦端,手機端)
8)安全測試:
9)性能測試:檢查系統是否滿足需求規格說明書中規定的性能
關注方面:對資源利用進行的精確度量,對執行間隔,日誌時間,相應時間,吞吐量,輔助存儲區,處理精度等進行的監測
難點:發現bug之後如何調優
10)內存泄露測試:檢測要利用工具
出現原因:
分配完內存之後忘記回收
程序寫法有問題,造成沒辦法回收
某些API函數的使用不正確,造成內存泄露
沒有及時釋放
code review:審查代碼
靜態代碼分析:類型檢查,風格檢查,bug查找,安全漏洞,內存泄露
特點:不實際執行程序,執行速度快,效率高,誤報率高
CI:持續集成工具
CD:持續發佈工具
devops:運維工具
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章