启发式测试策略模型(Heuristic Test Strategy Model,简称HTSM)是测试专家James Bach提出的一组帮助测试设计的指南。本文将介绍HTSM的内容与应用。
为什么需要HTSM
根据产品的风险设计测试是一种常见的测试设计思路。在复杂的现实世界,产品面临的风险多种多样,只有全面考虑、周密测试才能避免风险暴露导致的严重后果。因此,测试人员需要一个相对完整、可以定制、容易扩展的风险列表或参考模型,来帮助他们发现产品风险。HTSM就是一个结构化的、可定制的参考模型,从测试技术、产品元素、项目过程、质量标准等多个角度启发测试设计。
HTSM能够在测试全程提供有益的提示。在制定测试计划初稿时,它可以帮助测试人员完整地思考产品的方方面面,从而产生系统性的测试计划。在测试过程中,它可以帮助测试人员组合测试想法、深入探索产品,以开发出强有力的测试策略。在回归测试中,它可以帮助测试人员确定测试范围,制定测试方案。
HTSM的内容
上图是HTSM的概要描述,测试人员利用质量标准、项目环境、产品元素,指导测试技术的选择与应用,并产生观察到的质量。
HTSM是层次结构,其顶层元素(质量标准、项目环境、产品元素、测试技术)可以分解为次层元素,而次层元素可进一步分解为第三层元素。本文只概要介绍次层元素,更多的细节请参考James Bach的文档。
测试技术:生成测试的策略。有效地选择和实施测试技术,需要综合分析项目环境、产品元素和质量标准。
● 功能测试
● 域测试
● 压力测试
● 流测试
● 情景测试
● 声明测试
● 用户测试
● 风险测试
● 自动测试
项目环境:资源、约束和其他影响测试的项目元素。测试总是受到项目环境的约束。在某个团队运转良好的策略不一定适合另一个相似的团队,以往富有成效的方法未必适应当前的项目。有经验的测试人员会根据当前语境,在约束条件下充分运用资源,以高效地测试。
● 用户:理解产品的用户
● 信息:发现测试所需的信息
● 开发者关系:与开发者协作加速开发
● 测试团队:利用团队的力量支持测试
● 设备与工具:可利用的硬件、软件、文档等
● 进度:项目实施的流程
● 测试条目:测试范围和重点
● 交付品:测试的产出