接下来我们将在之前分析的基础之上,再次使用四步测试策略制定法来制定总体测试策略,如图9所示。
图9 制定总体测试策略
3.1 分解产品质量目标
我们可以对质量等级再进行分解,整体思路如图10所示。
图10分解质量等级
1). 根据质量等级来分解产品的质量目标
我们可以根据之前确定的产品质量等级,来为产品质量评估模型中的项目建立不同的质量标准,从而达到分解产品质量目标的目的。
我们可以根据项目的实际情况、历史情况和公司整体基线,确定出一个分级的标准,作为产品质量目标的分解项,见表2。
表2 定量指标分级标准
注:
· “不涉及”指该项目可以不予关注;
· 可以根据项目和产品的实际情况选择部分分析项。
表3 特性—质量等级表
软件测试架构师不必对每个特性,都输出一个质量目标分解表,而是在“特性—质量等级”表中加入一个超链接即可。
2). 为每个测试分层确定测试目标
接下来我们需要根据各个质量等级的质量目标,再确定每个测试分层需要达到的质量目标。以“完全商用”为例,见表4。
表4 完全商用示例表
3.2 使用老功能分析法来对特性进行分类
在现在这个阶段,开发还没有开始对特性中的功能进行设计,所以我们还无法使用老功能分析法来对每个功能特性进行详细的分析,但是我们已经基本能够知道:
· 哪些特性是新开发的。
· 哪些是从老版本上继承而来的。
· 哪些特性的改动估计会比较大。
· 从老版本继承而来的特性的历史测试情况。
这时,软件测试架构师可以根据项目的实际情况,考虑上述几个方面,来将被测对象做一下分类,并对每一类确定一个测试策略。表5是一个例子,供大家参考。
表5 示例
3.3 基于质量和风险来确定测试深度与测试广度
1). 使用产品质量评估模型来初步确定测试深度
我们使用产品质量评估模型中的测试过程—测试方法项,基于不同的质量要求,来确定测试深度,见表6。
表6 确定测试深度
2). 考虑用老功能分析来更新测试深度
我们再根据前面老功能分析中的测试策略,更新老功能中的测试深度(可以考虑先标记出需要调整的地方),见表7。
表7 更新老功能中的测试深度
3). 基于老功能分析来初步确定测试广度
从产品质量评估模型的角度来说,无论产品的质量要求是高还是低,我们都希望在测试中能够对需求进行100%的覆盖,相应的所有测试广度都应该是100%覆盖。
但实际上,对一些老特性,特别是那些在新版本中没有改动,并且历史测试情况也不错的特性,我们可以考虑缩小测试范围,少测或者不测。不过毕竟现在我们还处于项目的概念或计划阶段初期,还没有进行详细的老功能分析,但这时我们还是可以初步分析出一些可以缩小测试范围的特性。
3.4 确定测试优先级
接下来软件测试架构师可以根据质量目标和分类来确定测试优先级。基本原则是质量等级越高,优先级越高;在相同的质量等级下,全新特性比老特性的优先级高;改动越多的老特性,优先级越高。
确定测试优先级的一个简单的方法是使用评分表。我们首先对质量目标和分类分别设置一定的分值,见表8和表9。
表8 质量目标分值表
表9 分类分值表
然后再准备一张优先级的分数范围表(表10)。
确定的测试优先级,将主要用于测试投入的安排上。我们可以根据优先级的等级,制定出一个测试投入的策略,见表11。
3.5 确定测试的总体框架
测试框架可以理解为如何组建测试。
我们将测试框架构建为三层:策略层、活动层和保证层。
如果把测试整体看成一个“人”:
· 策略层就像是人的大脑,负责指挥测试该如何进行,确保测试做的是正确的事情;
· 活动层就像是人的身体,负责具体的执行;
· 保证层就像是人的五官,保证身体能够顺利地执行任务。
我们将测试策略和测试活动按照测试框架绘制出来,并按照研发流程和测试分层来组织这些测试活动的先后次序,作为测试的总体框架,如图11所示。
图11 测试总体框架
3.6 回顾
让我们回顾一下,到目前为止我们取得的进展:
· 分解了产品质量目标。
· 基于风险对特性进行了分类。
· 确定了测试深度和广度以及测试优先级,确定了测试投入策略。
· 确定了测试的总体框架。
事实上,进行到现在,我们可以认为软件测试架构师完成了总体测试策略的制定。
总体测试策略最后的输出究竟是什么呢?其实就是两张表和一幅图。
第一张表,是我们在文中一直模糊地称其为“特性—质量等级”表并不断向其中添加内容的那张表。现在我们终于可以为其正名了——其实它的真名叫“总体测试策略分析表”。
表12 总体测试策略分析表
第二张表是测试投入策略表,见表13。
最后的图就是我们的测试总体框架图,如图12所示。
图12 测试总体框架
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理