产品元素:需要测试的对象
● 结构:产品的物理元素(如代码、接口、配置文件、可执行文件等)
● 功能:产品的功能
● 数据:产品所操作的数据
● 平台:产品所依赖的外部元素
● 操作:产品将被如何使用
● 时序:影响产品的时间因素
质量标准之操作性标准:面向用户和运营团队
● 能力
● 可靠性
● 可用性
● 安全性
● 可伸缩性
● 性能
● 可安装性
● 兼容性
质量标准之开发标准:面向开发团队
● 可支持性
● 可测试性
● 可维护性
● 可移植性
● 本地化
由以上介绍可知,HTSM由一组指导性词语组成,它们构成一个层次结构,让测试人员从高层抽象到底层细节对产品和测试进行思考。这些指导性词汇是测试的指南,其作用不是教导如何具体地测试,而是启发测试人员的思维,发掘测试对象和测试策略。
下图摘录自James Bach的培训教材Rapid Software Testing,体现了HTSM对于测试设计的意义。
● 测试设计以风险驱动。测试人员分析质量标准、项目环境、产品元素中的风险,设计有针对性的测试策略。
● 在测试设计时,质量标准启发测试先知,项目环境启发测试过程,产品元素启发测试覆盖,观察到的质量启发测试报告。
● 对于测试,HTSM强调测试策略的多样性,平衡代价和收益,利用启发式方法充分发挥测试人员的技能。
定制HTSM
在定制化之前,HTSM对测试人员的帮助很小,因为此时的HTSM是“James Bach的模型”,而不是符合当前语境的模型。HTSM是通用的模型,虽然能够普遍使用,但是不能快速、高效地指导具体的测试工作。测试人员需要将其“本地化”,才能发挥其威力。
Cem Kaner教授在教程Blank Box Software Testing 中提出利用思维导图定制HTSM。他将HTSM作为图的为中心,将Quality Criteria、Project Environment、Product Elements和Test Techniques作为主干。