测试用例(Test Case)是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。

  测试用例(Test Case)目前没有经典的定义。比较通常的说法是:指对一项特定的软件产品进行测试任务的描述,体现测试方案、方法、技术和策略。内容包括测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本等,并形成文档。

  目的

  本文以一个转帐功能为例介绍了测试例估计和设计的方法。

  例子说明

  进行测试例估计和设计的依据是需求规格说明书和设计说明书。一般的步骤如下:

  1. 分析影响测试对象的要素;

  2. 为每个要素确定取值;

  3. 使用标准直角矩阵生成初始测试例集;

  4. 在初始测试例集上依据对测试对象的分析来进行测试例集的修改;

  5. 把测试例转化为可以测试执行使用的测试例。

  例如在对某一应用系统的转账功能进行测试过程中,利用正交矩阵生成测试用例步骤如下:

  1.约束条件分析:P5L4

标号

影响测试规格的要素

取值1

取值2

取值3

取值4

1

用户权限

有转账权限

无转账权限

 

 

2

票据号

票据号有效

票据号无效

 

 

3

账号

账号有效

账号无效

 

 

4

转账金额

转账金额小于或等于用户实际金额

转账金额大于用户实际金额

 

 

5

转账方式

同城不同行转账

同行转账

异地电汇

异地信汇


图表 1

  注:P表示影响测试规格要素个数;L表示影响测试规格要素的大取值个数

  在本例中P=5,L=4

  2.生成标准测试例集矩阵:

  根据以上约束条件分析得出的P、L值,对应直角矩阵测试例生成工具得出以下测试例矩阵

编号

用户权限

票据号

账号

转账金额

转账方式

1

1

1

1

1

1

2

1

2

2

2

2

3

1

3

3

3

3

4

1

4

4

4

4

5

2

1

2

3

4

6

2

2

1

4

3

7

2

3

4

1

2

8

2

4

3

2

1

9

3

1

3

4

2

10

3

2

4

3

1

11

3

3

1

2

4

12

3

4

2

1

3

13

4

1

4

2

3

14

4

2

3

1

4

15

4

3

2

4

1

16

4

4

1

3

2


图表 2

  说明:首先分析第一个要素“用户权限”,其取值只有2个,即“用户权限”的值只有可能是1或2,这样3和4的取值所在的情况可以删除,之后在考虑“用户权限”的2个取值的具体情况,一个是用户权限有效(1),另一个是用户权限无效(2),当取值为有效时,所有的情况都可以保留,当取值为无效时,只保留一个可以了(一旦高优先级的条件不能满足,那么其他低优先级的条件不需要考虑),然后用同样的方法判断其他的条件,后等到一个临时结果(编号1,2,5),这时可以从后一个要素开始分析,要使后一个要素有意义那前4个要素必须都成立(值为1),而要素“转帐方式”有4种取值而现在的结果中有效情况只有一种(No1),所以可以增加3种(即,见表4中No2,3,4)。现在考虑要素“转帐金额”,可以增加在前3个要素都成立时,“转帐金额”取值为大于用户实际金额的情况(即,见表4中No5)。接着考虑要素“帐号”,可以增加在前2个要素都成立时,“帐号”取值为帐号无效的情况(即,见表4中No6)。接着考虑要素“票据号”,可以增加在第一个要素都成立时,“票据号”取值为票据号无效的情况(即,见表4中No7)。这样补齐了所有的情况,从而得到终结果(表5)