摘要:测试中非常重要的一个工作就是生成和维护测试数据,而这个工作恰恰是繁琐、重复而极易出错的。无疑找到一种通用的数据生成方法是极具意义的。本文阐释了如何使用脚本语言 PHP,加上简单的 ini 配置文件来达到这个目的的。
关键词:测试数据生成 测试 php 脚本 数据生成工具
测试数据的生成和维护在测试中是非常重要的一环。很多用例实际上就是在修改所测程序的输入数据以确保程序的逻辑是按照自己的预期进行地。
比如我们测试一个用户登录系统,我们需要测试正常用户名 + 正常密码、正常用户名 + 错误密码、错误用户名 + 错误密码等基本的用例。在执行用例之前,就需要事先在数据库中设置好相应的数据,比如有一条记录为正常用户名 + 正常密码,然后我们在登陆界面输入该用户名和密码,预期结果为正常登陆。
不同的程序有不同格式的输入数据。但不管格式千变万化,我们总可以把它们归结为基于行和列的格式,就像数据库中的表一样。一行为一条记录,每一条记录都有相同的字段组成,每一个字段有自己的数据格式,字段和字段之间可能有分隔符。
我们可以在执行每一个用例时,手工修改数据,然后再执行用例。但这样存在一些问题。
1、重复,数据重用性差。当前用例所需的数据很有可能在下个用例中被破坏了。
2、效率低,尤其是当数据格式比较复杂,而且又需要大量数据的时候。
3、不灵活。但数据发生变动的时候,数据的维护成本会很高。
4、容易出错。
那有没有一种方法来解决这个问题呢?答案是肯定的。下面我们一起来实现一个简单的工具来解决这个问题。
需要实现的基本功能
首先我们来列举一下这个工具需要实现的基本功能:
1、通用性:能够描述各种不同格式的数据。
2、扩展性:当需要新的数据格式时,可以任意扩展。
3、易用性:配置文件不易复杂。
4、跨平台:我们需要一款可以在 windows、linux、FreeBSD 等系统下面运行的工具。
我们选择的开发工具
我们选择的开发工具是 PHP,配置文件采用了 ini 格式的文件。
之所以选择 PHP,是因为 PHP 是解释性脚本语言,其弱类型的特点以及强大的数组、字符串处理功能,十分适合我们这种应用场合。而且 PHP 有着良好的扩平台性,使用 PHP 开发的脚本基本上不用修改就可以在各个平台下面运行。
之所以选择 ini 格式的文件来作为配置,是因为 ini 文件相比较于 xml 而言比较简单。而且程序处理起来也非常的方便。在PHP中使用 parse_ini_file 的内置函数就可以解析整个 ini 文件。
配置语法
首先我们需要来定义一下我们的配置语法。前面讲到,数据是由行和列组成,每一列中有若干字段,每一个字段有自己的数据类型,有自己的前缀,字段和字段之间还有分隔符。我们最终的配置语法格式如下:
清单一:example.ini
[field1]
datatype="list, range=[10-20]"
prefix="int_"
postfix=" "
[field2]
datatype="list, range=[A-Z, a-z]"
prefix="char_"
postfix=" "
[field3]
prefix=""
datatype="list, range=[abc,123,xyz, 100-110]"
postfix=" "
[field4]
prefix=""
datatype="list, range=[100-200:2]"
postfix=" "
31/3123>