本发明实施例涉及软件测试技术领域,尤其涉及一种测试数据的生成方法及装置。
背景技术:
对于软件测试过程中测试数据的生成,一般采取从数据库表中直接导出的方法,就是通过数据库管理工具将系统中已有的数据以.csv或其他格式导出到本地,然后进行处理后使用;另一种方法就是在了解了业务表之间的关联关系后,采用Excel编辑生成满足业务要求的测试数据。这两种方法的缺点是:前者只适用于已经存在大量数据的系统,而对于尚未发布或者尚未投入使用的系统,数据存量少,满足不了测试的要求;并且如果数据库做了加密处理,导出来的数据也无法直接使用。后者需要大量的人工操作,非常费时费力,影响工作效率。
为了避免上述方法存在的问题,采用的方式一般是协调对业务非常熟悉的数据库管理员,在后台插入大量的数据后再导出,这种方法的缺点是测试次数多,使用的时间长时,则需要重复多次操作。
技术实现要素:
针对上述技术问题,本发明实施例提供了一种测试数据的生成方法及装置,以大幅提高测试数据生成过程的处理效率。
一方面,本发明实施例提供了一种测试数据的生成方法,所述方法包括:
获取用户输入的测试数据生成参数;
根据用户的输入,判断需要生成的测试数据的输出格式;
根据所述测试数据生成参数,以及所述测试数据的输出格式,生成所述测试数据。
另一方面,本发明实施例还提供了一种测试数据的生成装置,所述装置包括:
参数获取模块,用于获取用户输入的测试数据生成参数;
格式判断模块,用于根据用户的输入,判断需要生成的测试数据的输出格式;
数据生成模块,用于根据所述测试数据生成参数,以及所述测试数据的输出格式,生成所述测试数据。
本发明实施例提供的测试数据的生成方法及装置,通过获取用户输入的测试数据生成参数,根据用户的输入,判断需要生成的测试数据的输出格式,根据所述测试数据生成参数,以及所述测试数据的输出格式,生成所述测试数据,大大提高了测试数据的生成过程的处理效率。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1是本发明第一实施例提供的测试数据的生成方法的流程图;
图2是本发明第二实施例提供的测试数据的生成装置的结构图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
第一实施例
本实施例提供了测试数据的生成方法的一种技术方案。
参见图1,测试数据的生成方法包括:
S11,获取用户输入的测试数据生成参数。
可以理解的是,测试数据的生成需要依据一些生成参数。这些参数被称为测试数据生成参数。典型的,这些参数包括:字段名称、字段类型、字段长度、数据条数、存储路径等等。
有一种情况,在相同的一个测试数据条目中,不同的数据字段之间存在一定的函数关系。例如,在生成的测试数据中,数据字段A的取值应该等于数据字段B与数据字段C的取值之和。在这种情况下,测试数据生成参数中应当包含数据字段取值的公式,才能够体现不同数据字段之间的函数关系。为此,为了体现这种函数关系,在测试数据生成参数中可以包含有体现不同数据字段之间的函数关系的公式。
另外,在一些场景下,测试数据的生成需要参考下一次软件测试的测试结果。比如,在前一次的测试过程中,因为输入的测试数据的取值过大,超出了测试数据的正常取值范围,造成了软件的运行异常,则在后一次的软件测试过程中,需要将测试数据的取值按照预定的规则,降低它们的取值,以便使得测试过程正常运行,得到确定的测试结果。
在这样的情况下,测试数据生成参数中还应当包括这些依据前次测试结果调整测试数据的取值的规则。可以理解的是,这些规则通常是一些包含条件判断语句的规则。
S12,根据用户的输入,判断需要生成的测试数据的输出格式。
在确定了生成参数之后,需要根据用户的输入,判断测试数据的输出格式。在本实施例中,测试数据的输出格式优选可以是txt格式、dat格式,或者xls格式。当然,测试数据的输出格式并不限于上述几种格式。凡是能够自身的数据结构,完整的表达和存储生成的测试数据的输出格式,都可以作为本实施例中测试数据的输出格式。
测试数据的输出格式是根据用户的输入而确定的。例如,在测试数据的生成过程之前,可以将所有备选的输出格式罗列,由用户进行选择,并将用户选择的一种或者多种数据格式作为最终的输出格式。
S13,根据所述测试数据生成参数,以及所述测试数据的输出格式,生成所述测试数据。
在确定了各个测试数据生成参数,以及对应的输出格式之后,根据上述测试数据生成参数,以及对应的输出格式,生成测试数据。
在上述测试数据的生成过程中,需要根据测试数据生成参数生成指定的测试数据。例如,当定义了一个字段的字段长度,生成的测试数据中该字段的长度就是指定的长度。又例如,当定义了一个字段的数据类型,生成的测试数据将采用指定的数据类型,等等。
如果用户选择了多种数据格式作为最终的输出格式,则在测试数据的生成过程中,需要按照用户选择的多种输出格式生成测试数据的多个备份。
本实施例通过获取用户输入的测试数据生成参数,根据用户的输入,判断需要生成的测试数据的输出格式,根据所述测试数据生成参数,以及所述测试数据的输出格式,生成所述测试数据,大大提高了测试数据的生成过程的处理效率。
第二实施例
本实施例提供了测试数据的生成装置的一种技术方案。在该技术方案中,所述测试数据的生成装置包括:参数获取模块31、格式判断模块32,以及数据生成模块33。
所述参数获取模块31用于获取用户输入的测试数据生成参数。
所述格式判断模块32用于根据用户的输入,判断需要生成的测试数据的输出格式。
所述数据生成模块33用于根据所述测试数据生成参数,以及所述测试数据的输出格式,生成所述测试数据。
进一步的,所述测试数据生成参数包括:字段名称、字段类型、字段长度、数据条数,以及存储路径。
进一步的,所述测试数据的输出格式包括:txt、dat,以及xl s。
进一步的,所述数据生成模块具体用于:根据所述测试数据生成参数,以所述测试数据的输出格式,逐条生成所述测试数据。
本领域普通技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个计算装置上,或者分布在多个计算装置所组成的网络上,可选地,他们可以用计算机装置可执行的程序代码来实现,从而可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件的结合。
以上所述仅为本发明的优选实施例,并不用于限制本发明,对于本领域技术人员而言,本发明可以有各种改动和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。