七種測試驅動模式


基於對軟件工程、產品質量和測試的理解,歸納出以下七類測試驅動模式。

1、業務/需求驅動測試

一個軟件總是要解決用戶的某類業務問題。業務驅動測試就是從用戶的實際業務需求出發,分析業務目標、業務流程、用戶角色、業務規則、業務發展等測試對象,

針對這些對象確定測試范圍、測試方法和策略。測試是否充分,也是從業務流程和數據來衡量;軟件系統能否充分滿足業務需求,是業務/需求驅動測試最關切的問題,

基於需求的驗證方法、基於用戶場景的測試方法,可以歸為這類測試。

 

2、產品質量風險驅動測試

根據產品質量模型:內部質量-->外部質量 --> 使用質量來進行測試,強調全生命周期消除產品質量風險,從代碼評審、代碼復雜度度量等工作開始,對內部質量進行評估

以暴露質量風險,然后逐步擴展到系統外部質量、用戶使用質量的評估,持續揭示、反饋產品質量主要風險。在這類測試中,對產品質量的屬性分析會比較透徹,

也強調靜態測試,包括人工代碼評審和設計評審、使用代碼靜態分析或檢查工具。

 

3、模型驅動測試

針對現實問題進行抽象構建驗證模型,如UML建模、有限狀態機、Petri網、Kripke結構等,系統屬性可用時序邏輯公式(如CTL,LTL)來描述。

更廣泛的理解,決策表、因果圖、Pair-wise等也屬於測試建模。大規模的復雜應用系統的測試建模會受到很大挑戰,隨着軟件技術和建模技術的發展和融合,這些問題會逐步得到解決。

但基於模型能自動生成測試用例和自動化腳本,能夠更徹底地完成測試的自動化過程,而之前人們多數自動化測試局限於測試的執行,

需要開發和維護大量的測試腳本,手工比重不小,最多算半自動化。

 

4、(系統)功能驅動測試

許多人一談到軟件測試,就是功能測試、性能測試,這或多或少體現了“功能測試驅動”思想。

功能驅動測試,就是從系統功能特性出發,根據軟件功能規格設計說明書(可能沒有),針對每個功能進行驗證,確定功能運行是否正常,是否和設計保持一致。

一般會將功能進行分解,分為子功能、子功能的子功能,形成功能點列表,針對功能點進行測試用例設計和執行。

 

5、設計驅動測試(DDT)

DDT受TDD啟發,為測試事先進行分析與設計,測試是被設計驅動的。DDT具有下列這些特性:測試更靈活、更簡單,消除重復工作,測試用例指導測試計划(和傳統測試相反),

測試用例可轉換成測試代碼,包含業務需求測試和場景測試、控制器測試,測試對開發和測試團隊都很有用。

關於設計驅動測試,已有專題論述的著作:設計驅動測試——讓程序員更輕松地進行測試。

 

6、(程序/代碼)結構驅動測試

基本類似於:結構化測試、白盒測試。從程序結構來驅動測試,進行程序結構分析,逐步覆蓋程序的各個部分及其關聯關系,如基於組件測試、基於接口測試或基於API進行測試;

從代碼結構進行測試,包括代碼行覆蓋、分支覆蓋、基本路徑覆蓋等。結構驅動測試的充分性度量會更客觀性,特別是基於代碼覆蓋率分析,目前有大量工具支持。

 

7、統計/經驗驅動測試

可以看作“經驗軟件工程”的組成部分,認可實際度量數據和經驗比各種理論模型更有價值。通過軟件測試過程中數據和經驗的收集,進行統計分析、歸納整理,生成經驗模型來開展測試。

上下文驅動測試、探索式測試、缺陷預防、錯誤猜測法等可歸為這類,雖然不是很嚴謹,但都基本是從統計/經驗來驅動測試。


免責聲明!

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



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