CN112181832B - 测试数据生成方法、装置、计算机设备及存储介质 - Google Patents

测试数据生成方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN112181832B
CN112181832B CN202011041128.4A CN202011041128A CN112181832B CN 112181832 B CN112181832 B CN 112181832B CN 202011041128 A CN202011041128 A CN 202011041128A CN 112181832 B CN112181832 B CN 112181832B
Authority
CN
China
Prior art keywords
interface
information
test data
data generation
test
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
CN202011041128.4A
Other languages
English (en)
Other versions
CN112181832A (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.)
Ping An Property and Casualty Insurance Company of China Ltd
Original Assignee
Ping An Property and Casualty Insurance Company of China 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 Ping An Property and Casualty Insurance Company of China Ltd filed Critical Ping An Property and Casualty Insurance Company of China Ltd
Priority to CN202011041128.4A priority Critical patent/CN112181832B/zh
Publication of CN112181832A publication Critical patent/CN112181832A/zh
Application granted granted Critical
Publication of CN112181832B publication Critical patent/CN112181832B/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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

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为本发明实施例提供的测试数据生成方法的另一子流程示意图;
图5为本发明实施例提供的测试数据生成方法的另一子流程示意图;
图6为本发明实施例提供的测试数据生成装置的示意性框图;
图7为本发明实施例提供的计算机设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
请参阅图1,图1是本发明实施例提供的测试数据生成方法的流程示意图,该测试数据生成方法应用于管理服务器中,该方法通过安装于管理服务器中的应用软件进行执行,管理服务器即是用于执行测试数据生成方法生成用于接口测试的测试数据的服务器端,管理服务器可以是企业服务器。如图1所示,该方法包括步骤S110~S150。
S110、当接收到用户输入的客户筛选规则时,根据所述客户筛选规则对预存的客户信息表中所包含的客户进行筛选,得到目标客户信息。
当接收到用户输入的客户筛选规则时,根据所述客户筛选规则对预存的客户信息表中所包含的客户进行筛选,得到目标客户信息。其中,所述客户筛选规则包括筛选条件、数据数量及敏感数据字段。输入客户筛选规则的可以是管理服务器的管理员,若管理服务器接收到所输入的客户筛选规则,根据客户筛选规则对预存的客户信息表进行筛选,客户信息表即为管理服务器中预存的用于记录客户信息的数据表,客户信息表中包括每一客户的姓名、年龄、联系电话、性别、身份证号、登录账号、登录密码、活跃状态等信息,活跃状态即为记录客户近期是否活跃的状态信息,具体的,可通过客户近期登陆管理服务器的次数获取该客户的活跃状态,如90天内登录次数大于60次则活跃状态为活跃,90天内登录次数位于30-60次之间则活跃状态为较活跃,90天内登录次数位于1-29次之间则活跃状态为低活跃,90天内登录次数小于1次则活跃状态为不活跃。可根据客户筛选规则及每一客户的具体信息对客户进行筛选得到目标客户,并获取每一目标客户的客户信息得到目标客户信息。
在一实施例中,如图2所示,步骤S110包括子步骤S111、S112和S113。
S111、根据所述筛选条件对所述客户信息表中所包含的客户信息进行筛选,得到满足所述筛选条件的筛选客户。
根据所述筛选条件对所述客户信息表中所包含的客户信息进行筛选,得到满足所述筛选条件的筛选客户。筛选条件可以包括对客户信息表中多项信息进行筛选的条件,可根据筛选条件中获取满足筛选条件中每一项信息对应条件的客户,作为筛选客户。
例如,筛选条件中包含对两项信息进行筛选的条件:年龄大于20岁、活跃状态为活跃或较活跃,则可依次获取客户信息表中的每一条客户信息,并判断每一条客户信息中与年龄对应的信息是否符合上述对年龄进行筛选的条件,且与活跃状态对应的信息是否符合上述对活跃状态进行筛选的条件,若均符合,则将该条客户信息对应的客户作为筛选客户。
S112、根据所述数据数量从所述筛选客户中选取与所述数据数量相等的客户作为目标客户。
根据所述数据数量从所述筛选客户中选取与所述数据数量相等的客户作为目标客户。由于企业的客户数量较为庞大,客户信息表中也包含数量庞大的客户,从客户信息表中筛选得到的筛选客户的数量也较多,为方便后续对客户信息进行分析,可通过预先配置的数据数量从筛选客户中获取部分客户作为目标客户。具体的,可根据数据数量从筛选客户中随机选取与数据数量相等的客户作为目标客户。
例如,可配置数据数量为500,则从筛选客户中随机选择500个客户作为目标客户。
S113、根据所述敏感数据字段对与所述目标客户相匹配的客户信息进行脱敏处理得到目标客户信息。
根据所述敏感数据字段对与所述目标客户相匹配的客户信息进行脱敏处理得到目标客户信息。为避免在进行测试时导致个人信息泄露,同时保证测试数据的真实性和完整性,可对客户信息表中与目标客户相匹配的客户数据进行脱敏处理,脱敏后的客户信息即为目标客户信息。可根据预先配置的敏感数据字段进行脱敏处理,敏感数据字段中可包含一个或多个数据字段,每一数据字段均与客户信息表中的一项信息相对应,根据敏感字段数据对客户信息进行脱敏后,即可避免客户的个人信息泄露。
例如,可配置敏感数据字段为联系电话及身份证号,则可对与目标客户相匹配的客户信息中与联系电话及身份证号对应的两项信息进行脱敏处理,如对联系电话对应的一项信息进行脱敏处理可以是隐去联系电话的后六位。
S120、根据预置的接口统计规则对预存的历史访问信息中与所述目标客户信息对应的访问信息进行统计得到接口特征信息。
根据预置的接口统计规则对预存的历史访问信息中与所述目标客户信息对应的访问信息进行统计得到接口特征信息。接口统计规则即为用户预先配置的对测试接口进行统计的规则信息,历史访问信息即为管理服务器中预存的用于记载每一客户对管理服务器中的接口进行访问的访问信息,客户在办理线上业务过程需要通过客户端依次发送多个服务请求至管理服务器,则管理服务器通过调用与某一服务请求相对应的一个接口对该服务请求进行处理,这对一个服务请求进行处理过程也即是该客户完成对该接口的一次访问,通过记录每一客户每一次进行线上业务办理的过程即可得到历史访问信息。具体的,可获取历史访问信息中与目标客户相匹配的访问信息,并通过接口统计规则对与目标客户相匹配的访问信息进行统计得到接口特征信息,大量客户访问管理服务器时访问数据在各接口间进行交互对应的数据流具有一定的特征,这一特征也即是数据流量特征,则所得到的接口特征信息即为与真实线上业务办理场景及真实线上用户行为相一致的数据流量特征。
在一实施例中,如图3所示,步骤S120包括子步骤S121和S122。
S121、获取所述历史访问信息中与所述目标客户信息中每一目标客户相匹配的访问信息作为接口调用信息。
获取所述历史访问信息中与所述目标客户信息中每一目标客户相匹配的访问信息作为接口调用信息。客户在办理线上业务过程需要通过客户端依次发送多个服务请求至管理服务器,则管理服务器通过调用与某一服务请求相对应的一个接口对该服务请求进行处理,这对一个服务请求进行处理过程也即是该客户完成对该接口的一次访问,历史访问信息中记录有企业每一客户进行线上业务办理的具体过程,也即是历史访问信息中包含每一客户进行线上业务办理过程中对管理服务器中相应接口进行调用的具体信息,则可根据目标客户信息中所包含的目标客户,获取与目标客户相匹配的访问信息得到接口调用信息。
S122、根据所述接口统计规则中的统计项对所述接口调用信息包含的测试接口进行统计得到接口特征信息。
根据所述接口统计规则中的统计项对所述接口调用信息包含的测试接口进行统计得到接口特征信息。具体的,接口统计规则中包含多个统计项,可根据多个统计项对所得到的接口调用信息包含的测试接口进行统计得到接口特征信息,接口特征信息可用于体现每一测试接口的具体特征。具体的,接口统计规则中包含的统计项可以是接口协议类型、接口流量占比、接口时序组合、接口入参、接口出参等。接口协议类型即是用于体现接口进行数据交互时所采用的互联网协议类型,接口流量占比可用于体现接口进行数据处理过程中所占用的系统流量资源信息,接口时序组合可用于体现对接口进行数据处理过程中的执行时序信息。
例如,对接口调用信息包含的测试接口进行统计得到的接口特征信息如表1所示。
Figure BDA0002706680550000071
表1
在一实施例中,如图3所示,步骤S122之后还包括步骤S123。
S123、若接收到所输入的接口筛选信息,根据所述接口筛选信息对所述接口特征信息中所包含的接口进行筛选,得到筛选后的接口特征信息。
若接收到所输入的接口筛选信息,根据所述接口筛选信息对所述接口特征信息中所包含的测试接口进行筛选,得到筛选后的接口特征信息。若接口调用信息包含的测试接口数量较多,则得到的接口特征信息中包含的接口数量也较多,用户还可输入接口筛选信息对接口特征信息进行筛选,具体的,接口筛选信息中可包含对接口特征信息中多项信息进行筛选的条件,可获取满足接口筛选信息中每一项信息所对应条件的测试接口,以从接口特征信息中获取更有价值的测试接口进行测试。
S130、根据所述接口特征信息对预置的数据生成模板进行参数配置得到多个接口数据生成脚本。
根据所述接口特征信息对预置的数据生成模板进行参数配置得到多个接口数据生成脚本。数据生成模板即为管理服务器中预存的可用于生成接口测试数据的模板,数据生成模板中包含多个需配置参数值的参数,根可根据接口特征信息中每一测试接口的接口特征对数据生成模板中相应参数的参数值进行配置,以得到配置参数值的接口数据生成脚本。
在一实施例中,如图4所示,步骤S130包括子步骤S131和S132。
S131、获取所述接口特征信息中每一测试接口的接口特征;S132、将每一测试接口的接口特征作为参数对所述数据生成模板进行配置,以得到与多个所述测试接口对应的多个接口数据生成脚本。
具体的,可获取接口特征信息中每一测试接口的接口特征,则每一测试接口的接口特征可包括接口协议类型、接口流量占比、接口时序组合、接口入参、接口出参等特征信息。将每一测试接口的接口特征作为参数对所述数据生成模板进行配置,以得到与多个所述测试接口对应的多个接口数据生成脚本,其中,接口流量占比包括并发数、请求数及流量占比,并发数即为与接口测试数据对应的一个测试接口可同时处理接口测试数据的数量信息,请求数即为所需生成的接口测试数据的生成数量,流量占比即为接口测试数据在进行测试过程中允许占用互联网带宽的最大值。每一测试接口的接口特征对数据生成模板进行配置即可生成一个接口数据生成脚本,则所得到的接口数据生成脚本的数量与接口特征数据中测试接口的数量相等。
S140、根据多个所述接口数据生成脚本生成与所述目标客户信息对应的虚拟测试数据。
根据多个所述接口数据生成脚本生成与所述目标客户信息对应的虚拟测试数据。每一接口数据生成脚本可生成与相应的一个测试接口相匹配的接口测试数据,接口测试数据为虚拟数据,将接口测试数据与目标客户信息进行组合,即可得到与目标客户信息对应的虚拟测试数据。
在一实施例中,如图5所示,步骤S140包括子步骤S141和S142。
S141、根据每一所述接口数据生成脚本分别生成与每一测试接口对应的接口测试数据,其中,每一所述接口测试数据中均包含预置的压测标识信息。
根据每一所述接口数据生成脚本分别生成与每一测试接口对应的接口测试数据。每一接口数据生成脚本对应接口特征信息中的一个测试接口,则可执行所得到的多个接口数据生成脚本,接口数据生成脚本执行过程中依据其中所配置的参数值生成符合相应参数值的多条接口测试数据。
在生成与每一测试接口对应接口测试数据的过程中,还需在每一条接口测试数据中增加压测标识信息,压测标识信息可以是用户预先配置的标识信息,通过压测标识信息可对所生成的接口测试数据进行识别。例如,压测标识信息可配置为“X-Full-Link-Pressure-Test”。
步骤S141具体包括:将所述接口数据生成脚本分别发送至所述多台数据生成服务器进行执行,以获取所述多台数据生成服务器所生成的接口测试数据。
将所述接口数据生成脚本分别发送至所述多台数据生成服务器进行执行,以获取所述多台数据生成服务器所生成的接口测试数据。由于对管理服务器中的应用程序进行测试所使用的接口测试数据通常为海量数据信息,为提高接口测试数据的生成效率,可通过多台数据生成服务器并发处理以同时生成接口测试数据,数据生成服务器均与管理服务器进行网络连接以实现数据信息的交互。具体的,可将接口数据生成脚本分别发送至多台数据生成服务器,以通过数据生成服务器生成相应的接口测试数据。若所需生成的接口测试数据的数量较少,也可仅通过一台数据生成服务器执行所有接口数据生成脚本生成对应的接口测试数据。数据生成服务器可以是采用Spark计算引擎所搭建的并发服务器,每一数据生成服务器均可单独对接口数据生成脚本进行执行并生成与该数据生成服务器对应的部分接口测试数据。
具体的步骤分为:根据所述数据生成服务器的数量及每一所述接口数据生成脚本中的生成数量确定每一所述接口数据生成脚本的平均生成数量;将每一所述接口数据生成脚本分别发送至每一台所述数据生成服务器进行执行,以获取与所述多台数据生成服务器所生成的接口测试数据;将每一台所述数据生成服务器所生成的部分所述接口测试数据存储至与每一数据生成服务器对应的分布式存储单元中。
具体的,可根据每一所述接口数据生成脚本中的生成数量及数据生成服务器的数量确定每一所述接口数据生成脚本的平均生成数量,并将接口数据生成脚本中所配置的生成数量对应的参数值进行更新为该平均生成数量。例如,某一接口数据生成脚本中所配置的生成数量为3772,与管理服务器进行网络连接的数据生成服务器为8台,则该接口数据生成脚本的平均生成数量为472(向上取整),将该接口数据生成脚本中与生成数量对应的参数值由3772更新为472。之后将接口数据生成脚本分别发送至数据生成服务器进行执行,获取所有数据生成服务器所生成的接口测试数据。
此外,还可将数据生成服务器所生成的部分接口测试数据存储至与每一数据生成服务器对应的分布式存储单元中,获取所有分布式存储单元中所存储的数据信息即可得到完整的接口测试数据。具体的,每一数据生成服务器均对应一台分布式存储单元,分布式存储单元可采用是采用HDFS(Hadoop Distributed File System,Hadoop分布式文件系统)所搭建的存储单元。通过将每一数据生成服务器对应的部分接口测试数据存储至相应的分布式存储单元中,可提高对接口测试数据进行存储及读取的效率。
S142、将所述接口测试数据与所述目标客户信息进行随机组合得到所述虚拟测试数据。
将所述接口测试数据与所述目标客户信息进行随机组合得到所述虚拟测试数据。为保证测试数据的完整性,在实际应用过程中还需将每一条接口测试数据与目标客户信息中任意一条客户信息进行随机组合,在实际测试过程中即需要使用接口测试数据,也需要使用到真实的客户信息,得到的每一条虚拟测试数据中均包含一条接口测试数据及一条客户信息,所得到的虚拟测试数据与真实线上业务办理场景及真实线上用户行为的数据流量特征高度一致。
S150、将与所述目标客户信息对应的访问信息作为背景测试数据,并与所述虚拟测试数据组合得到目标测试数据。
将与所述目标客户信息对应的访问信息作为背景测试数据,并与所述虚拟测试数据组合得到目标测试数据。为增加对管理服务器中应用程序进行测试的真实性,可将与目标客户信息对应的访问信息作为背景测试数据,与目标客户信息对应的访问信息也即是接口调用信息,具体的,获取一条接口调用信息及与该接口调用信息对应的目标客户的客户信息作为一条背景测试数据,将多条背景测试数据与得到的多条虚拟测试数据进行组合,得到目标测试数据,所得到的目标测试数据可作为对应用程序进行测试的测试数据进行使用。由于测试过程中包含用户真实访问的背景测试数据,还包含符合真实线上业务办理场景的虚拟测试数据,可避免由于测试数据流量特征的差异而影响测试性能的问题,得到的测试结果中包含更加真实的性能指标数据,因此测试结果具有更加可靠的参考价值。
本申请中的技术方法可应用于智慧政务/智慧城管/智慧社区/智慧安防/智慧物流/智慧医疗/智慧教育/智慧环保/智慧交通等包含对应用程序进行测试的应用场景中,从而推动智慧城市的建设。
在本发明实施例所提供的测试数据生成方法中,根据客户筛选规则对客户信息表中包含的客户进行筛选得到目标客户信息,根据接口统计规则对历史访问信息中与目标客户信息对应的客户信息进行统计得到接口特征信息,根据接口特征信息配置数据生成模板得到多个接口数据生成脚本,获取数据生成脚本生成的虚拟测试数据与目标客户信息的背景测试数据进行组合得到目标测试数据。通过上述方法,基于客户进行接口访问的历史访问信息得到接口特征信息并生成相应的虚拟测试数据,目标测试数据中包含虚拟测试数据及目标客户信息的背景测试数据,使所得到的目标测试数据与真实线上业务办理场景及真实线上用户行为的数据流量特征高度一致,可避免由于测试数据流量特征与真实情况存在差异而对测试性能的造成影响。
本发明实施例还提供一种测试数据生成装置,该测试数据生成装置用于执行前述测试数据生成方法的任一实施例。具体地,请参阅图6,图6是本发明实施例提供的测试数据生成装置的示意性框图。该测试数据生成装置可以配置于管理服务器中。
如图6所示,测试数据生成装置100包括目标客户信息获取单元110、接口特征信息获取单元120、接口数据生成脚本获取单元130、虚拟测试数据获取单元140和测试数据组合单元150。
目标客户信息获取单元110,用于当接收到用户输入的客户筛选规则时,根据所述客户筛选规则对预存的客户信息表中所包含的客户进行筛选,得到目标客户信息。
在一实施例中,所述目标客户信息获取单元110包括子单元:客户筛选单元、目标客户获取单元及信息脱敏处理单元。
客户筛选单元,根据所述筛选条件对所述客户信息表中所包含的客户信息进行筛选,得到满足所述筛选条件的筛选客户;目标客户获取单元,根据所述数据数量从所述筛选客户中选取与所述数据数量相等的客户作为目标客户;信息脱敏处理单元,根据所述敏感数据字段对与所述目标客户相匹配的客户信息进行脱敏处理得到目标客户信息。
接口特征信息获取单元120,用于根据预置的接口统计规则对预存的历史访问信息中与所述目标客户信息对应的访问信息进行统计得到接口特征信息。
在一实施例中,所述接口特征信息获取单元120包括子单元:接口调用信息获取单元、接口信息统计单元及接口特征信息筛选单元。
接口调用信息获取单元,用于获取所述历史访问信息中与所述目标客户信息中每一目标客户相匹配的访问信息作为接口调用信息;接口信息统计单元,用于根据所述接口统计规则中的统计项对所述接口调用信息包含的测试接口进行统计得到接口特征信息;接口特征信息筛选单元,用于若接收到所输入的接口筛选信息,根据所述接口筛选信息对所述接口特征信息中所包含的接口进行筛选,得到筛选后的接口特征信息。
接口数据生成脚本获取单元130,用于根据所述接口特征信息对预置的数据生成模板进行参数配置得到多个接口数据生成脚本。
在一实施例中,所述接口数据生成脚本获取单元130包括子单元:接口特征获取单元及参数配置单元。
接口特征获取单元,用于获取所述接口特征信息中每一测试接口的接口特征;参数配置单元,用于将每一测试接口的接口特征作为参数对所述数据生成模板进行配置,以得到与多个所述测试接口对应的多个接口数据生成脚本。
虚拟测试数据获取单元140,用于根据多个所述接口数据生成脚本生成与所述目标客户信息对应的虚拟测试数据。
在一实施例中,所述虚拟测试数据获取单元140包括子单元:接口测试数据生成单元及组合单元
接口测试数据生成单元,用于根据每一所述接口数据生成脚本分别生成与每一测试接口对应的接口测试数据,其中,每一所述接口测试数据中均包含预置的压测标识信息;组合单元,用于将所述接口测试数据与所述目标客户信息进行随机组合得到所述虚拟测试数据。
测试数据组合单元150,用于将与所述目标客户信息对应的访问信息作为背景测试数据,并与所述虚拟测试数据组合得到目标测试数据。
在本发明实施例所提供的测试数据生成装置应用上述测试数据生成方法,根据客户筛选规则对客户信息表中包含的客户进行筛选得到目标客户信息,根据接口统计规则对历史访问信息中与目标客户信息对应的客户信息进行统计得到接口特征信息,根据接口特征信息配置数据生成模板得到多个接口数据生成脚本,获取数据生成脚本生成的虚拟测试数据与目标客户信息的背景测试数据进行组合得到目标测试数据。通过上述方法,基于客户进行接口访问的历史访问信息得到接口特征信息并生成相应的虚拟测试数据,目标测试数据中包含虚拟测试数据及目标客户信息的背景测试数据,使所得到的目标测试数据与真实线上业务办理场景及真实线上用户行为的数据流量特征高度一致,可避免由于测试数据流量特征与真实情况存在差异而对测试性能的造成影响。
上述测试数据生成装置可以实现为计算机程序的形式,该计算机程序可以在如图7所示的计算机设备上运行。
请参阅图7,图7是本发明实施例提供的计算机设备的示意性框图。该计算机设备可以是用于执行测试数据生成方法以生成测试数据的企业服务器。
参阅图7,该计算机设备500包括通过系统总线501连接的处理器502、存储器和网络接口505,其中,存储器可以包括非易失性存储介质503和内存储器504。
该非易失性存储介质503可存储操作系统5031和计算机程序5032。该计算机程序5032被执行时,可使得处理器502执行测试数据生成方法。
该处理器502用于提供计算和控制能力,支撑整个计算机设备500的运行。
该内存储器504为非易失性存储介质503中的计算机程序5032的运行提供环境,该计算机程序5032被处理器502执行时,可使得处理器502执行测试数据生成方法。
该网络接口505用于进行网络通信,如提供数据信息的传输等。本领域技术人员可以理解,图7中示出的结构,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的计算机设备500的限定,具体的计算机设备500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,所述处理器502用于运行存储在存储器中的计算机程序5032,以实现上述的测试数据生成方法中对应的功能。
本领域技术人员可以理解,图7中示出的计算机设备的实施例并不构成对计算机设备具体构成的限定,在其他实施例中,计算机设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。例如,在一些实施例中,计算机设备可以仅包括存储器及处理器,在这样的实施例中,存储器及处理器的结构及功能与图7所示实施例一致,在此不再赘述。
应当理解,在本发明实施例中,处理器502可以是中央处理单元(CentralProcessing Unit,CPU),该处理器502还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
在本发明的另一实施例中提供计算机可读存储介质。该计算机可读存储介质可以为非易失性的计算机可读存储介质。该计算机可读存储介质存储有计算机程序,其中计算机程序被处理器执行时实现上述的测试数据生成方法中所包含的步骤。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的设备、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为逻辑功能划分,实际实现时可以有另外的划分方式,也可以将具有相同功能的单元集合成一个单元,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个计算机可读存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的计算机可读存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (8)

1.一种测试数据生成方法,应用于管理服务器中,其特征在于,所述方法包括:
当接收到用户输入的客户筛选规则时,根据所述客户筛选规则对预存的客户信息表中所包含的客户进行筛选,得到目标客户信息;
根据预置的接口统计规则对预存的历史访问信息中与所述目标客户信息对应的访问信息进行统计得到接口特征信息;
根据所述接口特征信息对预置的数据生成模板进行参数配置得到多个接口数据生成脚本;
根据多个所述接口数据生成脚本生成与所述目标客户信息对应的虚拟测试数据;
将与所述目标客户信息对应的访问信息作为背景测试数据,并与所述虚拟测试数据组合得到目标测试数据;
所述根据多个所述接口数据生成脚本生成与所述目标客户信息对应的虚拟测试数据,包括:
根据每一所述接口数据生成脚本分别生成与每一测试接口对应的接口测试数据,其中,每一所述接口测试数据中均包含预置的压测标识信息;
将所述接口测试数据与所述目标客户信息进行随机组合得到所述虚拟测试数据;将每一所述接口测试数据与所述目标客户信息中任意一条客户信息进行随机组合;
所述根据预置的接口统计规则对预存的历史访问信息中与所述目标客户信息对应的访问信息进行统计得到接口特征信息,包括:
获取所述历史访问信息中与所述目标客户信息中每一目标客户相匹配的访问信息作为接口调用信息;
根据所述接口统计规则中的统计项对所述接口调用信息包含的测试接口进行统计得到接口特征信息;所述统计项包括接口协议类型、接口流量占比、接口时序组合、接口入参及接口出参。
2.根据权利要求1所述的测试数据生成方法,其特征在于,所述客户筛选规则包括筛选条件、数据数量及敏感数据字段,所述根据所述客户筛选规则对预存的客户信息表中所包含的客户进行筛选,得到目标客户信息,包括:
根据所述筛选条件对所述客户信息表中所包含的客户信息进行筛选,得到满足所述筛选条件的筛选客户;
根据所述数据数量从所述筛选客户中选取与所述数据数量相等的客户作为目标客户;
根据所述敏感数据字段对与所述目标客户相匹配的客户信息进行脱敏处理得到目标客户信息。
3.根据权利要求1所述的测试数据生成方法,其特征在于,所述根据所述接口统计规则中的统计项对所述接口调用信息包含的测试接口进行统计得到接口特征信息之后,还包括:
若接收到所输入的接口筛选信息,根据所述接口筛选信息对所述接口特征信息中所包含的接口进行筛选,得到筛选后的接口特征信息。
4.根据权利要求1所述的测试数据生成方法,其特征在于,所述根据所述接口特征信息对预置的数据生成模板进行参数配置得到多个接口数据生成脚本,包括:
获取所述接口特征信息中每一测试接口的接口特征;
将每一测试接口的接口特征作为参数对所述数据生成模板进行配置,以得到与多个所述测试接口对应的多个接口数据生成脚本。
5.根据权利要求1所述的测试数据生成方法,其特征在于,多台数据生成服务器均与所述管理服务器进行网络连接以实现数据信息的传输,所述根据每一所述接口数据生成脚本分别生成与每一测试接口对应的接口测试数据,包括:
将所述接口数据生成脚本分别发送至所述多台数据生成服务器进行执行,以获取所述多台数据生成服务器所生成的接口测试数据。
6.一种测试数据生成装置,其特征在于,包括:
目标客户信息获取单元,用于当接收到用户输入的客户筛选规则时,根据所述客户筛选规则对预存的客户信息表中所包含的客户进行筛选,得到目标客户信息;
接口特征信息获取单元,用于根据预置的接口统计规则对预存的历史访问信息中与所述目标客户信息对应的访问信息进行统计得到接口特征信息;
接口数据生成脚本获取单元,用于根据所述接口特征信息对预置的数据生成模板进行参数配置得到多个接口数据生成脚本;
虚拟测试数据获取单元,用于根据多个所述接口数据生成脚本生成与所述目标客户信息对应的虚拟测试数据;
测试数据组合单元,用于将与所述目标客户信息对应的访问信息作为背景测试数据,并与所述虚拟测试数据组合得到目标测试数据;
所述虚拟测试数据获取单元包括子单元接口测试数据生成单元,用于根据每一所述接口数据生成脚本分别生成与每一测试接口对应的接口测试数据,其中,每一所述接口测试数据中均包含预置的压测标识信息;组合单元,用于将所述接口测试数据与所述目标客户信息进行随机组合得到所述虚拟测试数据;将每一所述接口测试数据与所述目标客户信息中任意一条客户信息进行随机组合;
所述接口特征信息获取单元包括子单元:接口调用信息获取单元,用于获取所述历史访问信息中与所述目标客户信息中每一目标客户相匹配的访问信息作为接口调用信息;接口信息统计单元,用于根据所述接口统计规则中的统计项对所述接口调用信息包含的测试接口进行统计得到接口特征信息;所述统计项包括接口协议类型、接口流量占比、接口时序组合、接口入参及接口出参。
7.一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5中任一项所述的测试数据生成方法。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行如权利要求1至5任一项所述的测试数据生成方法。
CN202011041128.4A 2020-09-28 2020-09-28 测试数据生成方法、装置、计算机设备及存储介质 Active CN112181832B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011041128.4A CN112181832B (zh) 2020-09-28 2020-09-28 测试数据生成方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011041128.4A CN112181832B (zh) 2020-09-28 2020-09-28 测试数据生成方法、装置、计算机设备及存储介质

Publications (2)

Publication Number Publication Date
CN112181832A CN112181832A (zh) 2021-01-05
CN112181832B true CN112181832B (zh) 2023-04-11

Family

ID=73943819

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011041128.4A Active CN112181832B (zh) 2020-09-28 2020-09-28 测试数据生成方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN112181832B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114168565B (zh) * 2021-12-10 2022-07-08 北京宇信科技集团股份有限公司 业务规则模型的回溯测试方法、装置、系统及决策引擎
CN114301760A (zh) * 2021-12-17 2022-04-08 北京达佳互联信息技术有限公司 一种测试方法、装置、电子设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109522228A (zh) * 2018-11-15 2019-03-26 深圳乐信软件技术有限公司 接口自动化测试数据构造方法、装置、平台及存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9529699B2 (en) * 2013-06-11 2016-12-27 Wipro Limited System and method for test data generation and optimization for data driven testing
CN104133772B (zh) * 2014-08-13 2017-04-12 广东电网公司信息中心 一种自动生成测试数据的方法
CN107276842B (zh) * 2017-05-10 2020-10-09 北京金山安全软件有限公司 接口测试方法、装置及电子设备
CN109308258A (zh) * 2018-08-21 2019-02-05 中国平安人寿保险股份有限公司 测试数据的构造方法、装置、计算机设备和存储介质
CN110895506A (zh) * 2018-09-13 2020-03-20 北京京东尚科信息技术有限公司 测试数据的构造方法和构造系统
US10872090B2 (en) * 2018-09-18 2020-12-22 Mastercard International Incorporated Generating test data based on data value rules of linked data nodes

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109522228A (zh) * 2018-11-15 2019-03-26 深圳乐信软件技术有限公司 接口自动化测试数据构造方法、装置、平台及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王博等.模型驱动的IMA标准符合性测试自动化 技术研究.《航空科学技术》.2015,83-89. *

Also Published As

Publication number Publication date
CN112181832A (zh) 2021-01-05

Similar Documents

Publication Publication Date Title
CN110830577B (zh) 服务请求调用追踪方法、装置、计算机设备及存储介质
CN108829581B (zh) 应用程序测试方法、装置、计算机设备及存储介质
CN112181832B (zh) 测试数据生成方法、装置、计算机设备及存储介质
CN107436844B (zh) 一种接口用例合集的生成方法及装置
CN108696399B (zh) 业务服务的测试方法和装置
CN112165445B (zh) 用于检测网络攻击的方法、装置、存储介质及计算机设备
CN111913875A (zh) 用于基于软件执行跟踪自动加标签的方法和系统
US11153337B2 (en) Methods and systems for improving beaconing detection algorithms
CN112055017B (zh) 单一账号多应用统一登录方法、装置及计算机设备
US10225152B1 (en) Access control policy evaluation and remediation
CN110471842A (zh) 一种测试方法、装置及计算机可读存储介质
US20210250306A1 (en) Providing on-demand production of graph-based relationships in a cloud computing environment
CN111612085B (zh) 一种对等组中异常点的检测方法及装置
CN107770162A (zh) 一种直播平台中防止刷礼物的方法及装置
CN116302889A (zh) 功能模块的性能测试方法、装置和服务器
CN114221807A (zh) 访问请求处理方法、装置、监控设备及存储介质
CN112822284A (zh) 基于动态代理的数据处理方法、装置及计算机设备
CN111800409A (zh) 接口攻击检测方法及装置
CN110119406B (zh) 实时任务记录的核对方法及装置
CN116561018B (zh) 一种业务系统造数方法、装置、终端设备及存储介质
CN113489726B (zh) 流量限制方法及设备
JP2013174959A (ja) アプリケーション検査システム
CN112433932B (zh) 一种数据处理方法、装置以及计算机存储介质
CN117811836B (zh) 一种流量转发与检测方法及装置
US11403395B1 (en) Method of using a dynamic rule engine with an application

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant