test项目管理

控制测试用例的粒度:测试策略覆盖

2023-01-08  本文已影响0人  robot_test_boy

另外一种有效的控制测试用例粒度的方法——策略覆盖。在设计测试用例时,经常会遇到这样的情况:

1)有些因子,如操作系统、平台等,除了那些可以分析到的对系统有影响的地方之外,对系统可能没有影响、影响很弱或者影响未知的地方,没有必要使用Pairwise来进行正交。

2)有些数据类的测试点比较细,比如测试一个名称,但是它和其他的测试点没有关系或者关系很弱,此时就没有必要使用Pairwise来做正交。

针对上述两种情况,可以考虑使用策略覆盖的方式,将这些因子或数据的取值分配到其他测试用例中,作为其他测试用例的测试数据或者是测试条件(或预置条件)。例如,对于第一种情况,假设因子A有4个因子值,且已经通过流程、参数、数据或组合的测试设计方法,得到了6个测试用例。

将因子A作为预置条件,并将其分配到如下表6个测试用例。

用例表1

对于第二种情况,假设数据B使用等价类和边界值分析后,有4个测试数据。

将数据B作为测试输入数据,并将其分配到用例表1的6个测试用例中。

在分配因子或数据的时候,使用的是轮询的方式,即按照A1、A2、A3、A4、A1……的顺序在进行。在实际项目中,轮询方式不一定适合,还需要考虑如下几种情况。

1.内容的重要性

不同的因子或数据值,它们的重要性可能也不同。对于重要的、优先级高的因子,可以加大分配量。例如,因子A中的A1重要性相对A2~A4都要高一些。

2.测试执行的便利性

尽量将和这个测试用例有关的因子或数据值分配到一起,达到执行测试用例的时候可以顺便测试这个因子或数据值的效果。

以“PC连接WiFi”为例,看看如何进行策略覆盖。目前还有一个“PC会使用不同的操作系统来连接WiFi”这样一个测试点,如何将这个测试点中“操作系统”这个因子,放在“PC连接WiFi”的测试用例中进行策略覆盖。

在“PC会使用不同的操作系统来连接WiFi”这个测试点中,支持的操作系统包括Windows 10、Windows 8、Windows 7、Mac OS X。

将这个测试点策略覆盖到上表所示的测试用例中:

首先分析操作系统这个因子,看看不同的操作系统是否具有不同的优先级。作为举例,假设Windows 10和Windows 8的优先级比较高。接下来,考虑测试执行的便利性。

从测试时的配置顺序来看,先选择是使用“首选WiFi”还是“备选WiFi”,再选择“是否要加密”,如果要“加密”,还要选择“加密算法”。可以将上述配置过程绘成一棵树的形式。

然后让每种操作系统覆盖一个“树杈”。

如图所示,(1)和(3)中还包含了3种加密的情况,包含的测试用例比(2)和(4)要多一些,可以将(1)和(3)分别“分配”给分析出来的重要操作系统——Mac OS和Windows 10;将(2)和(4)分别分配给相对不那么重要的操作系统——Windows 7和Windows 8。

按照上述分配策略,将操作系统这个因子在测试用例中进行分配。

摘取自刘琛梅老师的《测试架构师修炼之道:从测试工程师到测试架构师 第2版》

上一篇下一篇

猜你喜欢

热点阅读