在测试用例中,需要描述测试数据和测试数据约束。比如,对于金额输入栏位,我们只能够输入金额,输入其它是无效的,根据类型,我们可以划分有效等价类和无效等价类。对于选择性别的checkbox、combobox,它的约束是只能够输入所确定的两个选项。

 

被测试系统的数据约束,对于设计测试用例,具有非常重要的意义。在常规的测试用例设计中,都是测试工程师根据一个一个具体的需求、功能来设计测试用例,对数据约束关注程度只在于测试用例设计的时候。如果需要深入了解,需要花费大量的时间来了解,这样会导致:第一,测试设计人员的时间被浪费在了解更多具体的输入项目、输入选择;第二,测试设计本身也要求测试设计工程师来根据输入数据项,来设计不同的测试用例,以达到更好的覆盖效果。

因此,把数据字典引入测试用例设计,具有非常现实的意义。

 

对测试的数据字典的要求。测试的数据字典与开发的数据字典不同,只需要对每个简单的数据字典项进行约束,只需要给出一个正则表达式,可以很好的描述。例如,我们使用一个正则表达式表示性别:[0-男]|[1-女]。从使用方便性来考虑,由于众多的测试工程师对正则表达式理解和直观性感觉不是非常好,可以采用“类型+选项”的方式。首先,每个数据字典项都具有一个类型,如:字符串(需要约定长度)、整数(约定长度)、金额(指定总长度和小数点位数)、中文类型等;对于某些输入值具备固定选项的部分,可以列出。

 

 

数据字典对测试脚本与测试用例设计。当我们的测试管理中引入了数据字典,可以使用数据字典对:测试脚本、测试用例进行约束。首先,对测试脚本进行约束。自动测试的测试脚本都是需要参数化的,我们把参数化之后对应的数据文件,叫做参数文件(暂时这样定义)。参数文件定义了这个测试脚本都有哪些数据可以被修改、正交。因此,使用数据字典来进一步描述参数文件:使参数文件的每个数据项与数据字典项来关联,可以知道基本的测试用例输入约束规则(当然,还需要很多其它约束规则,特别是参数项之间的约束规则)。基于这个数据约束和当前项在本测试中的意义,可以很容易的进行等价类划分、边界值定义,并且通过这些来设计测试用例。

通过引入数据字典来设计出的测试用例,测试用例的数据也是与数据字典来关联的。

 

把数据字典引入测试用例维护。当我们需要根据需求,修改数据字典项,可以很容易的:1)修改测试脚本。对于测试脚本,如果操作流程没有修改,只需要重新根据数据字典来进行一次参数文件的更新可以了;2)测试用例修改。由于数据字典的修改,需要重构测试用例,根据数据字典项重新进行测试用例设计,可以重构测试用例。并且根据数据字典项的修改内容,可以很容易定位到具体有哪些测试用例、哪些测试需求需要被同步更新。

 

总结。在测试项目中,通过引入测试数据字典,可以简化和规范测试用例设计活动,使得测试过程中的测试数据管理更容易实现,更简单实现,也能够有效减少工作量。同时,当进行测试用例维护的时候,更容易发现、定位测试用例。