测试建模:启发式测试策略模型(Heuristic Test Strategy Model)

发表于:2014-09-22来源:博客园作者:liangshi点击数: 标签:测试建模
启发式测试策略模型(Heuristic Test Strategy Model,简称HTSM)是测试专家James Bach提出的一组帮助测试设计的指南(guideline)。本文将介绍HTSM的内容与应用。 为什么需要HTSM

  启发式测试策略模型(Heuristic Test Strategy Model,简称HTSM)是测试专家James Bach提出的一组帮助测试设计的指南(guideline)。本文将介绍HTSM的内容与应用。

  为什么需要HTSM

  根据产品的风险(risk)设计测试是一种常见的测试设计思路。在复杂的现实世界,产品面临的风险多种多样,只有全面考虑、周密测试才能避免风险暴露导致的严重后果。因此,测试人员需要一个相对完整、可以定制、容易扩展的风险列表或参考模型,来帮助他们发现产品风险。HTSM就是一个结构化的、可定制的参考模型,从测试技术、产品元素、项目过程、质量标准等多个角度启发测试设计。

  HTSM能够在测试全程提供有益的提示。在制定测试计划初稿时,它可以帮助测试人员完整地思考产品的方方面面,从而产生系统性的(systematic)测试计划。在测试过程中,它可以帮助测试人员组合测试想法、深入探索产品,以开发出强有力的测试策略。在回归测试中,它可以帮助测试人员确定测试范围,制定测试方案。

  HTSM的内容

Clipboard02

  上图是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对于测试设计的意义。

原文转自:http://www.cnblogs.com/liangshi/archive/2012/02/23/2364947.html