測試建模:啟發式測試策略模型(Heuristic Test Strategy Model)

發表于:2012-07-11來源:博客園作者:liangshi點擊數: 標簽:啟發式測試
啟發式測試策略模型(Heuristic Test Strategy Model,簡稱HTSM)是測試專家James Bach提出的一組幫助測試設計的指南(guideline)。本文將介紹HTSM的內容與應用。

  啟發式測試策略模型(Heuristic Test Strategy Model,簡稱HTSM)是測試專家James Bach提出的一組幫助測試設計的指南(guideline)。本文將介紹HTSM的內容與應用。

  為什么需要HTSM

  根據產品的風險(risk)設計測試是一種常見的測試設計思路。在復雜的現實世界,產品面臨的風險多種多樣,只有全面考慮、周密測試才能避免風險暴露導致的嚴重后果。因此,測試人員需要一個相對完整、可以定制、容易擴展的風險列表或參考模型,來幫助他們發現產品風險。HTSM就是一個結構化的、可定制的參考模型,從測試技術、產品元素、項目過程、質量標準等多個角度啟發測試設計。

  HTSM能夠在測試全程提供有益的提示。在制定測試計劃初稿時,它可以幫助測試人員完整地思考產品的方方面面,從而產生系統性的(systematic)測試計劃。在測試過程中,它可以幫助測試人員組合測試想法、深入探索產品,以開發出強有力的測試策略。在回歸測試中,它可以幫助測試人員確定測試范圍,制定測試方案。

  HTSM的內容

  上圖是HTSM的概要描述,測試人員利用質量標準(Quality Criteria)、項目環境(Project Environment)、產品元素(Product Element),指導測試技術(Test Techniques)的選擇與應用,并產生觀察到的質量(Perceived Quality)。

  HTSM是層次結構,其頂層元素(質量標準、項目環境、產品元素、測試技術)可以分解為次層元素,而次層元素可進一步分解為第三層元素。本文只概要介紹次層元素,更多的細節請參考James Bach的文檔。

  測試技術:生成測試的策略。有效地選擇和實施測試技術,需要綜合分析項目環境、產品元素和質量標準。

  功能測試(Function Testing)

  域測試(Domain Testing)

  壓力測試(Stress Testing)

  流測試(Flow Testing)

  情景測試(Scenario Testing)

  聲明測試(Claims Testing)

  用戶測試(User Testing)

  風險測試(Risk Testing)

  自動測試(Automatic Testing)

  項目環境:資源、約束和其他影響測試的項目元素。測試總是受到項目環境的約束。在某個團隊運轉良好的策略不一定適合另一個相似的團隊,以往富有成效的方法未必適應當前的項目。有經驗的測試人員會根據當前語境(Context),在約束條件下充分運用資源,以高效地測試。

  用戶(Customers):理解產品的用戶

  信息(Information):發現測試所需的信息

  開發者關系(Developer Relations):與開發者協作加速開發

  測試團隊(Test Team):利用團隊的力量支持測試

  設備與工具(Equipment & Tools):可利用的硬件、軟件、文檔等

  進度(Schedule):項目實施的流程

  測試條目(Test Items):測試范圍和重點

  交付品(Deliverables):測試的產出

  產品元素:需要測試的對象

  結構(Structure):產品的物理(physical)元素(如代碼、接口、配置文件、可執行文件等)

  功能(Functions):產品的功能

  數據(Data):產品所操作的數據

  平臺(Platform):產品所依賴的外部元素

  操作(Operations):產品將被如何使用

  時序(Time):影響產品的時間因素

  質量標準之操作性標準(Operational Criteria):面向用戶和運營團隊

  能力(Capability)

  可靠性(Reliability)

  可用性(Usability)

  安全性(Security)

  可伸縮性(Scalability)

  性能(Performance)

  可安裝性(Installability)

  兼容性(Compatibility)

  質量標準之開發標準(Development Criteria):面向開發團隊

  可支持性(Supportability)

  可測試性(Testability)

  可維護性(Maintainability)

  可移植性(Portability)

  本地化(Localizability)

  由以上介紹可知,HTSM由一組指導性詞語(guide word)組成,它們構成一個層次結構,讓測試人員從高層抽象到底層細節對產品和測試進行思考。這些指導性詞匯是測試的指南,其作用不是教導如何具體地測試,而是啟發測試人員的思維,發掘測試對象和測試策略。

  下圖摘錄自James Bach的培訓教材Rapid Software Testing,體現了HTSM對于測試設計的意義。

  測試設計以風險驅動。測試人員分析質量標準、項目環境、產品元素中的風險,設計有針對性的測試策略。

  在測試設計時,質量標準啟發測試先知(Oracles),項目環境啟發測試過程(Procedures),產品元素啟發測試覆蓋(Coverage),觀察到的質量啟發測試報告(Reporting)。

  對于測試,HTSM強調測試策略的多樣性(Diversification),平衡代價和收益(Cost vs. Value),利用啟發式方法(Heuristics)充分發揮測試人員的技能(Skill)。

  定制HTSM

  在定制化之前,HTSM對測試人員的幫助很小,因為此時的HTSM是“James Bach的模型”,而不是符合當前語境的模型。HTSM是通用的模型,雖然能夠普遍使用,但是不能快速、高效地指導具體的測試工作。測試人員需要將其“本地化”,才能發揮其威力。

  Cem Kaner教授在教程Blank Box Software Testing 中提出利用思維導圖(Mind Map)定制HTSM。他將HTSM作為圖的為中心,將Quality Criteria、Project Environment、Product Elements和Test Techniques作為主干。

  在分支上,Cem Kaner添加了他覺得重要的節點。例如,他在Product Elements下增加了Benefits節點和Time節點,使HTSM符合他的工作需要。

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97