第6章
制定测试策略是软件测试架构师最核心的技能,但是要想做好这项工作并不是一件容易的事情。本章将围绕理解测试策略,编写测试策略的总体思路,制定测试策略相关的技术、模型和方法来展开叙述。对有志于成为软件测试架构师的读者来说,本章的内容将会是修炼之路上的重要基础。
6.1 理解测试策略
对软件测试架构师来说,制定好测试策略的第一步,就是理解它。
1. 什么是测试策略?
“测试策略”通俗来讲就是6个字:“测什么”和“怎么测”。
具体来讲,就是答好和产品测试相关的六大问题:
· 测试的对象和范围是什么?
· 测试的目标是什么?
· 测试的重点和难点是什么?
· 测试的深度和广度?
· 如何安排各种测试活动(先测试什么,再测试什么)?
· 如何评价测试的效果?
拿官方的话来说,测试策略就是指我们将如何开展我们的测试活动。
如果你想看看测试策略的例子,不妨先跳到本书的7.3.6节看看总体测试策略的例子。
2. 测试策略等于测试方针?
测试策略并不等同于测试方针,但这是很容易被我们混淆的一对概念。
那么什么是测试方针呢?
测试方针是产品测试中的通用要求、原则或底线。
通用是测试方针的显著特点:它不针对某个特定产品,而是一个产品族,或是一个产品系列,并且在较长的一段时间内都是适用的。
下面是一些测试方针的例子:
测试方针举例:
· 产品的缺陷修复率要达到75%以上,才能发布。
· 开发转给测试的版本,需要进行自测,并出具测试报告。
· 对发布版本,无论代码修改了多少,都要对基本功能进行回归测试。
· 产品升级后发现有功能丢失了,这类缺陷的等级为严重。
测试策略仅针对当前特定的产品版本而言,并不像测试方针那样具备通用性。反过来,我们倒是可以这样理解测试策略:
遵循测试方针+项目实际情况=测试策略
测试策略需要遵循测试方针,并不意味着我们不能根据项目的实际情况来对测试方针进行调整。
以产品的缺陷修复率要达到75%以上,才能发布这条测试方针为例。如果当前某个特定产品版本,对产品质量的要求特别高,在制定测试策略的时候,我们可以考虑将这条测试方针调整为“产品的缺陷修复率要达到90%以上,严重以上的缺陷修复率为100%”。
3.测试策略等于测试计划?
测试策略也不是测试计划,它们之间的关系是:通过测试策略确定的测试活动,在测试计划中被拆解为一个个任务,并为每个任务确定工期、执行的先后次序和责任人,如图6-1所示。
表6-1是一个“测试计划”示例。
此外,测试计划的制订者是测试经理,属于测试管理的范畴。而测试策略的制定者是软件测试架构师,属于测试技术的范畴。
4. 测试策略等于测试方案?
根据我的调查,很多公司并没有区分测试策略和测试方案,事实上测试策略和测试方案并不相同。
1)测试方案主要解决的是特性在测试设计和测试执行方面的问题
测试策略要解决的是产品测试的六大问题。显然,测试方案要解决的问题没有那么“高大上”,就是如何对特性进行测试设计和如何安排这个特性的测试执行,具体包括:
· 对特性的需求、场景、设计进行分析,提取测试点。
· 对测试点选择合适的测试设计方法(如使用怎样的测试设计模型、测试数据的选择),生成测试用例。
· 自动化测试设计。
· 测试执行时需要按照怎样的顺序来执行这些测试用例。
举例如下:
测试方案模板(以一个“特性”为单位):
1. ××特性的场景
a)用户场景描述。
描述用户会如何使用这个特性。
b)测试场景描述。
描述测试时会怎样模拟用户的使用,模拟和实际的差别在哪里,是否会有风险,等等。
2. ××特性设计分析
a)产品实现中的关键业务流程。
b)重要的算法(或实现技术)的分析。
c)其他需要注意的内容分析。
3. ××特性测试分析
a)测试类型分析。
b)功能交互分析。
4. ××特性测试设计
对测试点使用四步测试设计法,逐一得到测试用例。
以“树”形结构来组织这些测试用例。
为测试用例划分优先级。
5. ××特性测试执行
哪些测试用例准备进行手工测试。
哪些用例计划进行自动化测试。
哪些地方可能还需要进行探索测试。
测试用例是否需要考虑测试执行顺序。
2)测试方案需要遵循测试策略
测试方案需要遵循测试策略对具体某个特性的测试深度和广度的要求。
例如,某测试策略对特性A和特性B的测试说明,见表6-2。
在编写特性A的测试方案时,我们需要覆盖“车轮图”所有的内容。而在编写特性B的测试方案时,我们只需要使用“车轮图”中的“单运行正常值输入法”和“单运行边界值输入法”即可,如图6-2所示。
从责任人的角度来说,测试策略的责任人是软件测试架构师,而测试方案的责任人是各个特性测试责任人。
本文选自《测试架构师修炼之道:从测试工程师到测试架构师》第六章,本站经机械工业出版社和作者的授权。
版权声明:51Testing软件测试网获机械工业出版社和作者授权连载本书部分章节。任何个人或单位未获得明确的书面许可,不得对本文内容复制、转载或进行镜像,否则将追究法律责任。