如何发挥测试策略的指导性作用
测试策略是保证测试过程有效开展、测试资源利用最大化、测试质量稳定可靠的重要前提,但是在实际研发过程中却往往会被忽略。很多时候会被认为是一项文档工作,从网站找一个文档改巴改巴应付了事。如果管理者对测试策略也不重视,可能会造成质量失控、工作无序、贻误战机等更大的损失。
要知道如何输出一个真正能发挥作用的测试策略,先来理解下,什么是策略?先看下维基百科是如何解释的:
Strategy is a general plan to achieve one or more long-term or overall goals under conditions of uncertainty.
翻译过来:策略是一个总体性计划,用以在不确定条件下取得一个或者多个长期或者总体目标。在某个层面,又被翻译成 “战略”。这里有一个关键词:不确定条件,通常指外部环境因素,比如人力资源、工程进度、依赖项目等。只有在不确定条件下的命题作文,策略才有意义,才能利用有限资源取得最大化的胜利。
一个策略应该包含什么内容呢?
Strategy generally involves setting goals and priorities, determining actions to achieve the goals, and mobilizing resources to execute the actions. A strategy describes how the ends (goals) will be achieved by the means (resources).
翻译过来:策略一般包含设定目标(工作范围)、优先级、决定达成目标的关键动作以及调动资源执行动作。策略也描述了通过资源如何达成目标,也可理解为结束的条件。
至此,测试策略应该包含的内容已经很清楚了:测试范围、优先级、测试方法、测试终止条件。下面只讨论有限资源的情况。
测试范围除了考虑产品功能外,主要考虑的因素还有:某个时间节点前的具体实施细节。
举个例子,团队正在给客户开发一款人力资源管理软件,一共包含了 100 个功能项,客户希望 1 个月内就开始使用,解决棘手的工资核算和审批问题。如果按照正常的开发流程,可能是按照招聘、入职、员工信息、工资、离职的顺序开发并交付。而为了满足客户实际业务需求,开发和测试的功能范围和优先级都要进行调整。测试经理就需要和产品经理密切配合,梳理出客户第一阶段业务流程中所涉及到的功能点、交互流程、性能要求等。然后,测试经理就要以此作为测试范围,并确定优先级。
在优先级的安排中,除了考虑功能的优先级外,还应该把性能测试、易用性测试、安全测试等考虑进来,即这些方面是不是某一个阶段的重点,以及做到什么程度。比如,第一批功能虽然要上线,但是可能只有特定一个的用户使用,那么也许就不把性能测试和安全性测试作为重点。
测试范围确定以后,测试经理就可以依据自己的专业知识,选择适当的测试方法和测试工具,进行具体的分工。
测试的终止条件,可以固定下来,比如某个级别的 bug 应该达到什么数量。固定的前提是,范围和优先级的确定一定是有效的。也可以附加条件,比如需要客户方的某某某签字确认(不过一般情况下,是在上线后客户才会签字确认)。
测试策略的基本结构有了,但是要发挥指导作用,还应该注意文字的准确性,例外场景的一些处理。团队中所有人员,拿到测试策略后,都可以比照策略,清楚了解自己遇到的问题应该如何解决。比如,当前阶段的测试数据,一定要以客户真实数据为基础,如果某个功能没有测试数据,需要和客户沟通,不能擅自造假数据。
文档写完了,如何检验是不是达到目的了呢?就看能不能根据策略制定出合理的测试计划了。
版权声明: 本文为 InfoQ 作者【KJ Meng】的原创文章。
原文链接:【http://xie.infoq.cn/article/415c1c50094108e3aa6dbd261】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论