软件测试中通用数据生成方法

发表于:2010-12-01 16:23

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:王春生    来源:51Testing软件测试网原创

摘要:测试中非常重要的一个工作就是生成和维护测试数据,而这个工作恰恰是繁琐、重复而极易出错的。无疑找到一种通用的数据生成方法是极具意义的。本文阐释了如何使用脚本语言 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>
《2023软件测试行业现状调查报告》独家发布~

精彩评论

  • landelen
    2011-1-21 18:29:38

    不错,经验丰富

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号