CN106897205B - 一种测试数据生成方法及装置 - Google Patents

一种测试数据生成方法及装置 Download PDF

Info

Publication number
CN106897205B
CN106897205B CN201510958703.XA CN201510958703A CN106897205B CN 106897205 B CN106897205 B CN 106897205B CN 201510958703 A CN201510958703 A CN 201510958703A CN 106897205 B CN106897205 B CN 106897205B
Authority
CN
China
Prior art keywords
rule
test data
field name
rule set
determining
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510958703.XA
Other languages
English (en)
Other versions
CN106897205A (zh
Inventor
纪大松
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Advanced Nova Technology Singapore Holdings Ltd
Original Assignee
Advanced New Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Advanced New Technologies Co Ltd filed Critical Advanced New Technologies Co Ltd
Priority to CN201510958703.XA priority Critical patent/CN106897205B/zh
Publication of CN106897205A publication Critical patent/CN106897205A/zh
Application granted granted Critical
Publication of CN106897205B publication Critical patent/CN106897205B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3676Test management for coverage analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请公开了一种测试数据生成方法及装置,该方法包括:接收测试数据生成请求,所述测试数据生成请求携带业务系统标识和字段名称;根据所述业务系统标识,确定预定的、与所述业务系统标识对应的规则集合,所述规则集合中包含用于限定字段取值范围的规则;根据所述字段名称,在所述规则集合中确定与所述字段名称对应的规则;根据确定的所述规则,生成测试数据。通过本申请的方案,无需手工准备测试数据,而是可以基于规则集合自动地生成测试数据,效率较高,不仅如此,由于规则集合可以是根据测试场景预先确定的,进而基于该规则集合也可以生成足够覆盖测试场景的测试数据。

Description

一种测试数据生成方法及装置
技术领域
本申请涉及测试技术领域,尤其涉及一种测试数据生成方法及装置。
背景技术
随着互联网和计算机技术的迅速发展,越来越多的业务可以通过互联网进行处理。不同的业务可以由不同的业务系统支撑,具体的,业务系统可以接收用户发送的、针对业务系统对应的业务的处理请求,并根据处理请求进行业务处理。
目前,业务系统的提供方为了提高业务质量,经常要对业务系统进行测试,以便于根据测试结果对业务系统进行改进。在测试前或测试过程中,需要准备大量的测试数据,其中,测试数据可以包括在测试过程中会涉及的各字段的值。
在现有技术中,一般采用手工方式准备测试数据,如手动指定上述各字段的值,但是,这种方式不仅效率低下,而且准备的测试数据对测试场景的覆盖面较小。
发明内容
本申请实施例提供一种测试数据生成方法及装置,用以解决现有技术中采用手工方式准备测试数据不仅效率低下,而且准备的测试数据对测试场景的覆盖面较小的问题。
本申请实施例提供的一种测试数据生成方法,包括:
接收测试数据生成请求,所述测试数据生成请求携带业务系统标识和字段名称;
根据所述业务系统标识,确定预定的、与所述业务系统标识对应的规则集合,所述规则集合中包含用于限定字段取值范围的规则;
根据所述字段名称,在所述规则集合中确定与所述字段名称对应的规则;
根据确定的所述规则,生成测试数据。
本申请实施例提供的一种测试数据生成装置,包括:
接收模块,用于接收测试数据生成请求,所述测试数据生成请求携带业务系统标识和字段名称;
规则集合确定模块,用于根据所述业务系统标识,确定预定的、与所述业务系统标识对应的规则集合,所述规则集合中包含用于限定字段取值范围的规则;
规则确定模块,用于根据所述字段名称,在所述规则集合中确定与所述字段名称对应的规则;
生成模块,用于根据确定的所述规则,生成测试数据。
本申请实施例通过上述至少一种技术方案,无需手工准备测试数据,而是可以基于规则集合自动地生成测试数据,效率较高,不仅如此,由于规则集合可以是根据测试场景预先确定的,进而基于该规则集合也可以生成足够覆盖测试场景的测试数据。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例提供的测试数据生成方法的过程;
图2为本申请实施例提供的在实际应用场景下,一种具有层次的规则子集合示意图;
图3为本申请实施例提供的在实际应用下,一种可以用于实施本申请的方案的系统的结构图;
图4为本申请实施例提供的测试数据生成装置结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了解决背景技术中提到的问题,在本申请实施例中,可以根据测试场景,预先指定在测试过程中会涉及的各字段的值应符合的规则,进而,可以由机器根据这些规则,自动地生成可用于该测试场景的测试数据。为了便于描述,可以用“组”这个单位描述测试数据。响应于测试数据生成请求,可以生成一组或多组测试数据,其中,每一组测试数据可以包含:为上述的各字段,分别对应生成的一个字段值。本申请实施例中对所述字段的数据类型并不做限定。
例如,假定某次测试过程中会涉及3个字段,包括字段A、字段B、字段C,其中,字段A为数值变量,字段B为字符变量,字段B为字符串变量。则针对该次测试过程,生成的一组测试数据的一种示例可以是:{字段A=10,字段B=‘a’,字段C=“abc”}。
下面基于以上说明,对本申请的方案进行具体说明。
图1为本申请实施例提供的测试数据生成方法的过程,该过程的执行主体可以是一般的终端或服务器,也可以是专用于测试的终端或服务器。所述终端包括但不限于:个人计算机、手机、平板电脑、智能手表、车载移动台等;所述服务器包括但不限于:个人计算机、大中型计算机、计算机集群等。执行主体并不构成对本申请的限定。
图1中的过程具体可以包括以下步骤:
S101:接收测试数据生成请求,所述测试数据生成请求携带业务系统标识和字段名称。
在本申请实施例中,测试数据生成请求可以由测试相关的任意设备或功能模块发送,如用于执行测试或管理测试数据的设备、用于获取测试数据的模块等。
所述业务系统标识可以唯一标识业务系统,其可以是该业务系统的名称、代号,或是该业务系统内指定设备的设备标识等。所述字段名称可以是在测试过程中可能会涉及的字段的名称,如业务参数对应的字段、测试环境参数对应的字段等。测试数据生成请求中携带的字段名称可以有多个,在实际应用中,多个字段名称可以保存在字段列表中,则测试数据生成请求携带该字段列表即可。
本申请实施例对字段名称的命名方式并不做限定。既支持普通的字符串命名方式,也支持诸如对象图导航语言(Object Graph Navigation Language,OGNL)等命名方式。例如,用普通的字符串命名方式命名的某字段名称为D,而用OGNL命名方式,可以将某对象a的字段D命名为:a.D。
在本申请实施例中,上面提到的测试场景可以是不同的业务系统下的业务场景,也可以是同一个业务系统下不同的业务场景。
测试场景可以是单个业务场景,在这种情况下,测试数据生成请求可以携带该业务场景所属的业务系统的业务系统标识和各字段名称。
测试场景也可以是多个业务场景组成的复合场景,在这种情况下,测试数据生成请求可以携带该复合场景涉及的多个业务系统的业务系统标识,以及每个所述业务系统的各字段名称。
S102:根据所述业务系统标识,确定预定的、与所述业务系统标识对应的规则集合,所述规则集合中包含用于限定字段取值范围的规则。
对于业务系统的字段,不同的字段的取值范围可能不同,而且,某些字段的值的取值范围可能还会依赖于其他字段的值,这些取值范围一般是由业务系统的业务逻辑限定的。为了便于测试,还可以对业务逻辑限定的取值范围进一步地进行限定,以减小测试数据规模,提高测试效率。本申请实施例中所述的规则集合可以用于实现上述两类限定中的至少一种限定。
在本申请实施例中,可以分别为不同的业务系统预先设定不同的规则集合。则为业务系统设定的规则集合可以是:与该业务系统的业务系统标识对应的规则集合。相应地,该规则集合中可以包含:用于限定该业务系统的部分字段或全部字段的取值范围的规则。进一步地,不同的业务系统可能会共用某些字段,因此,还可以针对至少两个业务系统,设定对应于所述至少两个业务系统的公共规则集合,该公共规则集合可以用于对所述至少两个业务系统共用的字段的取值范围进行限定。
根据上面的说明,步骤S102中的“与所述业务系统标识对应的规则集合”可以包括仅针对该业务系统标识对应的业务系统设定的规则集合,以及针对包括至少两个业务系统设定的公共规则集合,所述至少两个业务系统包括该业务系统标识对应的业务系统。
在本申请实施例中,对规则集合中包含的规则的表示形式并不做限定。在实际应用中,所述规则可以用规则表达式、常量、变量、语句等形式进行表示。
S103:根据所述字段名称,在所述规则集合中确定与所述字段名称对应的规则。
在本申请实施例中,字段名称对应的规则可以用于:限定该字段名称对应的字段的取值范围。
在本申请实施例中,可以预先保存字段名称与规则之间的对应关系,所述对应关系可以保存在规则集合中,如直接保存在规则中,也可以保存与规则集合之外的数据中,如保存在用于对规则集合中的规则进行索引的索引数据中。
进一步地,在执行步骤S103时,可以根据字段名称,在保存的各对应关系中,查询包含该字段名称的对应关系,再根据查询到的对应关系确定该字段名称对应的规则。
S104:根据确定的所述规则,生成测试数据。
在本申请实施例中,可以分别针对测试数据生成请求中携带的每个字段名称,根据确定的该字段名称对应的规则,生成一个符合该规则的字段值。各字段名称与各对应生成的字段值可以构成:生成的一组测试数据。
类似地,可以通过多次执行上一段中的过程,生成多组测试数据。本申请实施例对生成的测试数据的数量并不做限定。在实际应用中,可以根据测试需求生成相应数量的测试数据。
通过上述方法,无需手工准备测试数据,而是可以基于规则集合自动地生成测试数据,效率较高,不仅如此,由于规则集合可以是根据测试场景预先确定的,进而基于该规则集合也可以生成足够覆盖测试场景的测试数据。不仅如此,由于确定规则集合时针对不同的业务系统进行了区分,因此,无论是针对一个业务系统中进行测试,还是针对至少两个有业务关联的业务系统进行测试,都可以正确地、效率较高地生成测试数据。
为了便于理解,下面对图1中的步骤进一步地说明。
在实际应用中,对于同一个业务系统,其可能包含有多个业务场景,在不同的业务场景下,该业务系统的同一个字段的取值可能不同。
例如,对于一个售票系统,其可以包括两种业务场景,一种是在工作日售票场景,一种是周末售票场景,该售票系统包含的一个字段为票价字段。其中,在工作日售票场景,票价字段的取值可以是2元(针对儿童的票价)、5元(针对老人的票价)、10元(针对老人以外的成人的票价)中的一种,而在周末售票场景,相对应地,该票价字段的取值可以是4元、10元、20元中的一种。
可以看到,在不同的场景下,票价字段的取值范围是不同的,那么在针对售票系统设定用于限定字段取值范围的规则集合时,可以根据不同的场景,对规则集合进一步地细分(如细分成多个规则子集合),也即,根据场景定制相应的规则。从而后续可以针对根据细分后的规则集合,为不同的场景的相同字段,生成不同的测试数据。如此一来,可以进一步地提高测试的可靠性。
根据上面的分析,当业务系统有多个场景时,对于步骤S103,所述规则集合可以包含至少两个规则子集合;根据所述字段名称,在所述规则集合中确定与所述字段名称对应的规则,具体可以包括:在所述规则集合包含的各规则子集合中,确定所述测试数据生成请求指定的规则子集合;根据所述字段名称,在确定的规则子集合中,确定与所述字段名称对应的规则。测试数据生成请求可以通过携带特定参数(如要指定的规则子集合的标识),以实现指定规则子集合。
更具体的,每个规则子集合可以分别对应一种场景,测试数据生成请求可以对根据测试需求选取的场景,指定对应的规则子集合,或者,测试数据生成请求也可以指定场景,然后由图1的执行主体根据测试数据生成请求指定的场景,确定与该场景对应的规则子集合。
在实际应用中,同一个规则集合中的各规则子集合可以用不同的标识进行区分,不同的规则集合中的规则子集合的标识可以相同,这样的话,可以实现规则子集合的标识的复用,可以节省系统资源。
当然,各规则集合中的各规则子集合的标识也可以均不相同,也即,规则子集合的标识全局唯一,对于这种情况,若测试数据生成请求携带有规则子集合的标识,已足以为测试数据生成请求携带的字段名称确定对应的规则,那么,测试数据生成请求也可以不携带业务系统标识,相应地,步骤S102可以省略,步骤S103则可以变更为:根据所述字段名称,在所述测试数据生成请求携带的规则子集合的标识对应的规则子集合中,确定与所述字段名称对应的规则。
需要说明的是,上述的规则子集合的标识或场景的标识,均是用于指定规则子集合的特定参数的示例。
在本申请实施例中,对于一个业务系统的多个场景,各场景相互之间可以对相对独立的,也可以是有层次关系的。
例如,某业务系统的基本场景(称为第0层场景)可以包含两个子场景(称为第1层场景),每个第1层场景又分别包含两个子场景(称为第2层场景)。
而对于该业务系统的任一字段,该字段在第1层场景下一般具有最大的取值范围(称为第1取值范围),该字段在第2层场景下的取值范围(称为第2取值范围)与第1取值范围相同,或在第1取值范围基础上进一步地缩小,该字段在第3层场景下的取值范围(称为第3取值范围)与第2取值范围相同,或在第2取值范围基础上进一步地缩小。
因此,可以根据各场景之间的层次关系,为各规则子集合也建立相应的层次关系。下面对这种做法的优点进行说明。
在实际应用中,对于为同一个业务系统设定的各规则子集合,每个规则子集合中可以包含为对应的场景涉及的部分或全部字段分别设定的规则,而对于某些字段中的每个字段,该字段可能同时涉及至少两个场景(甚至全部场景),且在所述至少两个场景下的取值范围可能是相同的,因此,在每个规则子集合中包含的为该字段设定的规则也是相同的,这样的话,造成了大量冗余数据,浪费了系统资源。建立各规则子集合之间的层次关系,可以解决这个问题。
沿用上例进行说明,假定根据上述的三层场景层次关系,对应设定了三层规则子集合,第0层规则子集合用于限定字段的第1取值范围,第1层规则子集合用于限定字段的第2取值范围,第2层规则子集合用于限定字段的第3取值范围。
对于某个字段X,假定字段X的第1、2、3取值范围均相同。则可以只在在第0层规则子集合中设定用于限定字段X的取值范围的规则即可;
对于某个字段Y,假定字段Y的第1、2取值范围相同,与第3取值范围不同。则可以在第0层规则子集合中设定用于限定字段Y的第1取值范围的规则,以及在第2层规则子集合中设定用于限定字段Z的第3取值范围的规则即可;
对于某个字段Z,假定字段Z的第1、2、3取值范围均不相同。则可以在第0层规则子集合中设定用于限定字段Z的第1取值范围的规则,以及在第1层规则子集合中设定用于限定字段Z的第2取值范围的规则,以及在第2层规则子集合中设定用于限定字段Z的第3取值范围的规则。
进一步地,当采用上例中的设定规则的方案时,对步骤S103的具体实施方法也可以进行该相应的改进。
具体的,所述规则集合包含的至少两个规则子集合可以具有层次关系,在这种情况下,当确定在所述确定的规则子集合中,不存在与所述字段名称对应的规则时,还可以执行如下步骤:根据所述字段名称和所述层次关系,在所述规则集合包含的其他规则子集合中,确定与所述字段名称对应的规则。
更具体的,若确定当前层的规则子集合中,不存在与该字段名称对应的规则,则可以去当前层的前一层的规则子集合中查找该规则,以此类推直到查找到该规则为止。当然,在实际应用中,还可以对可查找的层进行限定(如限定最多可以查找到哪一层)。沿用上例进行说明。
假定测试数据生成请求指定的规则子集合属于第1层规则子集合,对于字段Y,可以确定在第1层规则子集合中,并不存在字段Y对应的规则,则可以在第0层规则子集合中查找字段Y对应的规则,可以查找到该规则,且该规则为字段Y限定了第1取值范围。
为了便于理解,对实际应用中的一种规则子集合之间的层级关系进行图示说明,如图2所示。
图2中示出了N个业务系统,为了便于描述,仅示出了业务系统1相关的规则集合。
公共规则,以及业务系统1内示出的各规则子集合可以统称为:业务系统1对应的规则集合。业务系统1中一种包含三层规则子集合,分别是第0层的基础规则、第1层的定制规则1和定制规则2,以及第2层的定制规则1.1、定制规则1.2、定制规则2.1、定制规则2.2。箭头表示各规则子集合相互之间的嵌套关系。
通过这种有层次关系的规则子集合,可以为图中的各业务系统的测试场景生成适用的测试数据,而且生成的测试数据与测试场景的匹配程度较好,从而可以提高后续测试后获得的测试结果的实用性和可靠性。
在本申请实施例中,除了针对业务系统预定的规则集合以外,测试数据生成请求也可以自行携带规则集合(称为自定义规则集合),用于生成测试数据。
自定义规则集合可以用于对一个或多个字段的取值范围进行限定。本申请实施例对自定义规则集合与设定的各规则集合相互之间的优先级关系并不做限定。可以根据可以实际情况进行优先级设定。
在本申请实施例中,当测试数据生成请求携带的自定义规则集合的优先级最高时。对于自定义规则集合对应的各字段,所述各字段的取值范围由自定义规则集合进行限定,相应地,可以根据规则集合限定的取值范围,生成的对应于所述各字段的测试数据;而对于出所述各字段以外的其他字段,各所述其他字段的取值范围由预定的各规则集合进行限定,相应地,可以根据预定的各规则集合限定的取值范围,生成的对应于各所述其他字段的测试数据。
根据上面的分析,当测试数据生成请求还携带自定义规则集合时,在针对自定义规则集合对应的字段名称,执行步骤S104前,还可以执行以下步骤:确定在所述自定义规则集合中,不存在与所述字段名称对应的规则。而对于其他字段名称,则无需执行该步骤。
当所述测试数据生成请求还携带自定义规则集合时,进一步地可以执行以下步骤:当确定在所述自定义规则集合中,存在与所述字段名称对应的规则时,根据存在的所述规则,生成对应于所述字段名称的测试数据。
在本申请实施例中,对于步骤S104,根据确定的所述规则,生成测试数据,具体可以包括:根据确定的所述规则,生成对应于所述字段名称的测试数据。前面已经提到,规则可以用规则表达式、常量、变量、语句等形式进行表示,下面以规则表达式作为示例进行说明。
在这种情况下,所述规则包括为所述字段名称指定的规则表达式,对于步骤S104,根据确定的所述规则,生成测试数据,具体可以包括:根据所述规则表达式,生成符合所述规则表达式的、对应于所述字段名称的测试数据。
规则具体可以是如下值对:字段名称→规则表达式。该值对的含义是:用该规则表达式限定该字段名称对应的字段的取值范围。举例对规则表达式的几种表示方式进行说明。
例如,规则表达式[0-100)可以表示:取值范围为0到100,且包含0不包含100;规则表达式{a1,a2,a3}可以表示:按照预定选择方法从a1、a2、a3这三个值中选择一个值;规则表达式curr_data(这是一个用于取当前日期的函数名称的示例)可以表示:取值为当前的日期;规则表达中也可以增加对其他字段的依赖,比如规则表达式{#E}可以表示:取值为E字段的值;等等。
对于步骤S104,可以按照确定的规则进行解析执行,生成测试数据,并可以将生成的测试数据返回给测试数据生成请求的发送方。
需要说明的是,本申请实施例对返回测试数据的方式并不做限定。在实际应用中,可以将测试数据以嵌套map、json或可扩展标记语言(Extensible Markup Language,XML)的数据格式返回。
基于以上对图1中的步骤的说明,本申请实施例还提供了在实际应用中,一种可以用于实施本申请的方案的系统的结构图,如图3所示。
图3中的系统主要包括:规则配置装置、测试数据生成装置。箭头方向表示本申请的方案的流程方向,圆柱形表示在流程中生成的数据。
规则配置装置可以用于:为业务系统预先设定对应的规则集合;对规则集合进行层次化细分。
测试数据生成装置可以用于:接收测试数据生成请求;并根据测试数据生成请求,从规则配置装置设定的规则集合中,确定对应的规则集合,并在规则集合中为每个字段名称确定对应的规则,对确定的规则进行解析,以及按照规则生成对应于字段名称的测试数据;输出测试数据。
需要说明的是,图3只是可用于实施本申请的方案的系统的结构图的示例,本申请实施例对可用于实施本申请的方案的系统的结构并不做限定。
以上为本申请实施例提供的测试数据生成方法,基于同样的思路,本申请实施例还提供相应的测试数据生成装置,如图4所示。
图4为本申请实施例提供的测试数据生成装置结构示意图,具体包括:
接收模块401,用于接收测试数据生成请求,所述测试数据生成请求携带业务系统标识和字段名称;
规则集合确定模块402,用于根据所述业务系统标识,确定预定的、与所述业务系统标识对应的规则集合,所述规则集合中包含用于限定字段取值范围的规则;
规则确定模块403,用于根据所述字段名称,在所述规则集合中确定与所述字段名称对应的规则;
生成模块404,用于根据确定的所述规则,生成测试数据。
所述规则集合包含至少两个规则子集合;
所述规则确定模块403具体可以用于:在所述规则集合包含的各规则子集合中,确定所述测试数据生成请求指定的规则子集合;根据所述字段名称,在确定的规则子集合中,确定与所述字段名称对应的规则。
所述规则集合包含的至少两个规则子集合具有层次关系,当所述规则确定模块403确定在所述确定的规则子集合中,不存在与所述字段名称对应的规则时,所述规则确定模块403还用于:根据所述字段名称和所述层次关系,在所述规则集合包含的其他规则子集合中,确定与所述字段名称对应的规则。
当所述测试数据生成请求还携带自定义规则集合时,所述生成模块404根据确定的所述规则,生成对应于所述字段名称的测试数据前,所述规则确定模块403还用于:确定在所述自定义规则集合中,不存在与所述字段名称对应的规则。
当所述测试数据生成请求还携带自定义规则集合时,所述生成模块404还用于:当所述规则确定模块403确定在所述自定义规则集合中,存在与所述字段名称对应的规则时,根据存在的所述规则,生成对应于所述字段名称的测试数据。
所述规则包括为所述字段名称指定的规则表达式;
所述生成模块404具体用于:根据所述规则表达式,生成符合所述规则表达式的、对应于所述字段名称的测试数据。
具体的上述如图4所示的装置可以位于终端、服务器上。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flashRAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (10)

1.一种测试数据生成方法,其特征在于,包括:
接收测试数据生成请求,所述测试数据生成请求携带复合场景涉及的多个业务系统的业务系统标识和每个所述业务系统的字段名称;其中,所述复合场景为多个业务场景组成的测试场景;
根据所述业务系统标识,确定预定的、与所述业务系统标识对应的规则集合;
根据所述字段名称,在所述规则集合中确定与所述字段名称对应的规则;
根据确定的所述规则,生成测试数据;
其中,所述规则集合根据测试场景预先确定,所述规则集合中包含用于限定字段取值范围的规则;所述规则集合包括至少两个规则子集合,每个规则子集合对应一种业务场景;根据所述字段名称,在所述规则集合中确定与所述字段名称对应的规则,具体包括:
在所述规则集合包含的各规则子集合中,确定所述测试数据生成请求指定的规则子集合;
根据所述字段名称,在确定的规则子集合中,确定与所述字段名称对应的规则。
2.如权利要求1所述的方法,其特征在于,所述规则集合包含的至少两个规则子集合具有层次关系,当确定在所述确定的规则子集合中,不存在与所述字段名称对应的规则时,所述方法还包括:
根据所述字段名称和所述层次关系,在所述规则集合包含的其他规则子集合中,确定与所述字段名称对应的规则。
3.如权利要求1所述的方法,其特征在于,当所述测试数据生成请求还携带自定义规则集合时,根据确定的所述规则,生成对应于所述字段名称的测试数据前,所述方法还包括:
确定在所述自定义规则集合中,不存在与所述字段名称对应的规则。
4.如权利要求1所述的方法,其特征在于,当所述测试数据生成请求还携带自定义规则集合时,所述方法还包括:
当确定在所述自定义规则集合中,存在与所述字段名称对应的规则时,根据存在的所述规则,生成对应于所述字段名称的测试数据。
5.如权利要求1所述的方法,其特征在于,所述规则包括为所述字段名称指定的规则表达式;
根据确定的所述规则,生成测试数据,具体包括:
根据所述规则表达式,生成符合所述规则表达式的、对应于所述字段名称的测试数据。
6.一种测试数据生成装置,其特征在于,包括:
接收模块,用于接收测试数据生成请求,所述测试数据生成请求携带复合场景涉及的多个业务系统的业务系统标识和每个所述业务系统的字段名称;其中,所述复合场景为多个业务场景组成的测试场景;
规则集合确定模块,用于根据所述业务系统标识,确定预定的、与所述业务系统标识对应的规则集合;
规则确定模块,用于根据所述字段名称,在所述规则集合中确定与所述字段名称对应的规则;
生成模块,用于根据确定的所述规则,生成测试数据;
其中,所述规则集合根据测试场景预先确定,所述规则集合中包含用于限定字段取值范围的规则;所述规则集合包括至少两个规则子集合,每个规则子集合对应一种业务场景;所述规则确定模块具体用于:在所述规则集合包含的各规则子集合中,确定所述测试数据生成请求指定的规则子集合;根据所述字段名称,在确定的规则子集合中,确定与所述字段名称对应的规则。
7.如权利要求6所述的装置,其特征在于,所述规则集合包含的至少两个规则子集合具有层次关系,当所述规则确定模块确定在所述确定的规则子集合中,不存在与所述字段名称对应的规则时,所述规则确定模块还用于:根据所述字段名称和所述层次关系,在所述规则集合包含的其他规则子集合中,确定与所述字段名称对应的规则。
8.如权利要求6所述的装置,其特征在于,当所述测试数据生成请求还携带自定义规则集合时,所述生成模块根据确定的所述规则,生成对应于所述字段名称的测试数据前,所述规则确定模块还用于:确定在所述自定义规则集合中,不存在与所述字段名称对应的规则。
9.如权利要求6所述的装置,其特征在于,当所述测试数据生成请求还携带自定义规则集合时,所述生成模块还用于:当所述规则确定模块确定在所述自定义规则集合中,存在与所述字段名称对应的规则时,根据存在的所述规则,生成对应于所述字段名称的测试数据。
10.如权利要求6所述的装置,其特征在于,所述规则包括为所述字段名称指定的规则表达式;
所述生成模块具体用于:根据所述规则表达式,生成符合所述规则表达式的、对应于所述字段名称的测试数据。
CN201510958703.XA 2015-12-18 2015-12-18 一种测试数据生成方法及装置 Active CN106897205B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510958703.XA CN106897205B (zh) 2015-12-18 2015-12-18 一种测试数据生成方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510958703.XA CN106897205B (zh) 2015-12-18 2015-12-18 一种测试数据生成方法及装置

Publications (2)

Publication Number Publication Date
CN106897205A CN106897205A (zh) 2017-06-27
CN106897205B true CN106897205B (zh) 2021-01-05

Family

ID=59189906

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510958703.XA Active CN106897205B (zh) 2015-12-18 2015-12-18 一种测试数据生成方法及装置

Country Status (1)

Country Link
CN (1) CN106897205B (zh)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107341109B (zh) * 2017-07-07 2021-07-16 中国银行股份有限公司 一种测试数据的生成方法和系统
CN107480053B (zh) * 2017-07-21 2021-08-17 销冠网络科技有限公司 一种软件测试数据生成方法及装置
CN107894953A (zh) * 2017-11-21 2018-04-10 中国银行股份有限公司 一种银行应用测试数据的生成方法及装置
CN107943694B (zh) * 2017-11-21 2021-01-05 中国农业银行股份有限公司 一种测试数据生成方法及装置
CN108399128A (zh) * 2018-02-28 2018-08-14 深圳前海桔子信息技术有限公司 一种用户数据的生成方法、装置、服务器及存储介质
CN108256925B (zh) * 2018-03-16 2024-09-17 建信金融科技有限责任公司 广义互换交易
CN108427614B (zh) * 2018-05-11 2021-05-18 中国银行股份有限公司 一种基于Admitester工具的接口测试方法及装置
CN110737580A (zh) * 2018-07-18 2020-01-31 北京奇虎科技有限公司 测试数据生成方法和装置
CN110009173B (zh) * 2018-12-11 2023-04-18 创新先进技术有限公司 业务规则处理方法及装置
CN109785115A (zh) * 2018-12-14 2019-05-21 深圳壹账通智能科技有限公司 测试数据的生成方法、装置和计算机设备
CN109783381B (zh) * 2019-01-07 2021-11-09 中国银行股份有限公司 一种测试数据生成方法、装置及系统
CN110245075A (zh) * 2019-05-21 2019-09-17 深圳壹账通智能科技有限公司 测试数据配置方法、装置、计算机设备和存储介质
CN110334021B (zh) * 2019-06-25 2023-04-18 深圳前海微众银行股份有限公司 接口测试案例的生成方法、装置、设备及存储介质
CN110298328B (zh) * 2019-07-03 2021-08-20 中国工商银行股份有限公司 测试数据形成方法、测试数据形成装置、电子设备和介质
CN112286783A (zh) * 2019-07-23 2021-01-29 北京中关村科金技术有限公司 生成数据库插入语句以及进行系统测试的方法、装置
CN112395183A (zh) * 2019-08-19 2021-02-23 北京中关村科金技术有限公司 创建测试数据集成文件的方法、装置以及存储介质
CN110597728A (zh) * 2019-09-20 2019-12-20 中国银行股份有限公司 构建测试数据的方法、装置及系统
CN110888797A (zh) * 2019-10-11 2020-03-17 平安信托有限责任公司 测试数据生成方法、装置、计算机设备及存储介质
CN111143221B (zh) * 2019-12-28 2024-01-30 中国银行股份有限公司 一种测试方法及装置
CN111159040A (zh) * 2019-12-31 2020-05-15 中国银行股份有限公司 一种测试数据生成方法、装置、设备及存储介质
CN112231226B (zh) * 2020-11-03 2024-04-05 恩亿科(北京)数据科技有限公司 一种软件测试数据生成、维护和导出的方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103810196A (zh) * 2012-11-09 2014-05-21 阿里巴巴集团控股有限公司 基于业务模型进行数据库性能测试的方法
CN104615667A (zh) * 2015-01-13 2015-05-13 联动优势电子商务有限公司 一种基础数据生成方法、测试用数据生成方法及其装置
CN105095325A (zh) * 2014-05-23 2015-11-25 中兴通讯股份有限公司 一种测试数据的生成方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI110735B (fi) * 2001-03-16 2003-03-14 Nokia Corp Kanavakoodekkien testisilmukoita

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103810196A (zh) * 2012-11-09 2014-05-21 阿里巴巴集团控股有限公司 基于业务模型进行数据库性能测试的方法
CN105095325A (zh) * 2014-05-23 2015-11-25 中兴通讯股份有限公司 一种测试数据的生成方法及装置
CN104615667A (zh) * 2015-01-13 2015-05-13 联动优势电子商务有限公司 一种基础数据生成方法、测试用数据生成方法及其装置

Also Published As

Publication number Publication date
CN106897205A (zh) 2017-06-27

Similar Documents

Publication Publication Date Title
CN106897205B (zh) 一种测试数据生成方法及装置
CN107450979B (zh) 一种区块链共识方法及装置
CN109614823B (zh) 一种数据的处理方法、装置及设备
CN106897342B (zh) 一种数据校验方法和设备
CN114116065B (zh) 获取拓扑图数据对象的方法、装置、及电子设备
CN106375360B (zh) 一种图数据更新方法、装置及系统
CN114490641B (zh) 一种工业互联网数据的共享方法、设备及介质
CN109062906A (zh) 程序语言资源的翻译方法及装置
CN109977317B (zh) 数据查询方法及装置
CN106878365B (zh) 一种数据同步方法和设备
CN110020333A (zh) 数据分析方法及装置、电子设备、存储介质
CN106648839A (zh) 数据处理的方法和装置
CN111857981A (zh) 一种数据处理方法以及装置
CN113127448A (zh) 一种地域维度表生成方法、装置、服务器及存储介质
CN112491943A (zh) 数据请求方法、装置、存储介质和电子设备
CN109582476B (zh) 数据处理方法、装置及系统
CN111177093A (zh) 一种科技资源的共享方法及设备、介质
CN109068286B (zh) 一种信息解析的方法、介质及设备
CN103902445A (zh) 一种回归测试对象确定方法及装置
CN107122303B (zh) 一种测试方法及装置
CN110968580A (zh) 一种数据存储结构的创建方法及装置
CN110086867B (zh) 一种还车网点推送方法
CN115914358A (zh) 消息推送方法、装置、电子设备及计算机存储介质
CN111967767A (zh) 一种业务风险识别方法、装置、设备及介质
CN113687973B (zh) 一种日志动态化输出的控制方法、设备及介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20201013

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant before: Advanced innovation technology Co.,Ltd.

Effective date of registration: 20201013

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Applicant before: Alibaba Group Holding Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20240229

Address after: 128 Meizhi Road, Guohao Times City # 20-01, Singapore 189773

Patentee after: Advanced Nova Technology (Singapore) Holdings Ltd.

Country or region after: Singapore

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Patentee before: Innovative advanced technology Co.,Ltd.

Country or region before: Cayman Islands

TR01 Transfer of patent right