软件测试设计之MFQ模型PRDCS建模方法
上面介绍了M、F和Q三个维度的测试分析和测试设计,F和Q其实是相对简单的是一种表格模型,只要对系统足够熟悉就没有问题,但是M这个维度是相对比较难的。虽然可能每次分析的测试对象不同,但测试设计的技术都是大同小异的,所以通常对M部分的测试设计进行总结和到一个新的模型PRDCS模型。关于PRDCS模型如图所示。
- P
P是指Process流程,如果被测试对象的设计规范中存在与“流程”相关的特性,那么可以使用P-Process方法来建模。
关于流程的特性通常包括以下特性:
Ø 一个业务有很多个步骤完成,对于步骤之间有明显的顺序关系;
Ø 涉及超过一个角色或触发条件。
如购票系统就是典型的使用流程分析法进行设计的,如图所示。 - R
R是指Rules,如果在测试对象设计规格中存在“参数或规格”含义的特性,那么可以使用R-Rules来建模。
关于规则的特性通常包括以下特性:
Ø 设计规格中包括很多参数;
Ø 设计规格中包含很多规则,每条规格由不同的变量和不同的值组成;
Ø 参数的数量是有限,可以较容易的识别参数间的逻辑关系。
如扫雷程序测试设计,见下表:
A1表示标识问号方块;
A2表示方块标识红旗;
A3表示方块初始状态;
A4表示标识数字X且周围已标记正确了X个雷;
A5表示标识数字且周围没标X个雷;
A6表示标识数字且周围标雷错误;
B1表示点击左键;
B2表示点击右键;
B3表示双击左右键; - D
D是指Data,如果在测试对象设计规格中存在“数据”的特性,那么可以使用D-Data来建模。
关于数据的特性通常包括以下特性:
Ø 每个数据有它特殊的范围值;
Ø 数据之间没有明显的逻辑关系;
Ø 不同的数据可能存在限制;
Ø 涉及的数据总数是有限的。
如163邮箱注册时,有一个邮箱地址字段,其实要求是这样的:“6~18个字符,可使用字母、数字、下划线,需以字母开头。” - C
C是指Combination,如果在测试对象设计规格中数据很多,每类数据还可能有多种取值,这些取值在不同的取值情况下结果可能都不一样,对于这类情况可以使用C-Combination来建模。
关于组合的特性通常包括以下特性:
Ø 参数很多或者说数据很多;
Ø 每个参数可能有很多种取值;
Ø 参数之间存在一些逻辑关系;
C是指Combination,如果在测试对象设计规格中数据很多,每类数据还可能有多种取值,这些取值在不同的取值情况下结果可能都不一样,对于这类情况可以使用C-Combination来建模。
如以下查询的例子
根据因子设计的用例见表 - S
S是指State,如果在测试对象设计规格中处在状态特性,如从某一状态到某一状态,对于这类情况可以使用S-State来建模。
关于组合的特性通常包括以下特性:
Ø 测试对象的行为变化基于它内部的状态;
Ø 确定的事件触发测试对象的状态;
S是指State,如果在测试对象设计规格中处在状态特性,如从某一状态到某一状态,对于这类情况可以使用S-State来建模。
常见的状态图如图所示。