发布信息

业务测试方法、装置、电子设备和存储介质与流程

作者:admin      2022-07-30 20:41:02     598



计算;推算;计数设备的制造及其应用技术1.本技术可以用于金融领域的业务测试领域,尤其涉及一种业务测试方法、装置、电子设备和存储介质。背景技术:2.目前,用户对于银行业务的需求不断改变和提升,为满足用户需求而提供的银行方面业务内容的业务系统也在不断地更新和改进。业务系统更新时,需要修改系统的运行代码等。系统的代码修改后,为了确认没有引入新的错误或者导致其他代码产生错误,需要引入回归测试的方式对修改代码后的系统进行业务测试。3.相关技术中,对业务系统进行回归测试时,通常针对业务系统中的被测业务设计一些数据,在测试用例中使用这些数据来测试修改代码后的系统中该被测业务是否正常能够被正常提供或者能够被正常运行。然而,目前这些数据是由技术人员设计的,很难保证数据的全面性、针对性和有效性,从而会造成业务测试效率低和准确率低的问题。技术实现要素:4.本技术提供一种业务测试方法、装置、电子设备和存储介质,能够保证在系统业务测试时,使用的真实测试数据具有全面性、针对性和有效性,进而提高业务测试的效率和准确率。5.为达到上述目的,本技术采用如下技术方案:6.第一方面,提供一种业务测试方法,包括:获取被测系统中目标测试用例对应的原始数据;目标测试用例表示根据至少一个被测业务生成的测试脚本,被测业务包括功能业务、接口业务或属性业务;原始数据包括目标测试用例中每个被测业务在基线版本的被测系统中运行时的线上真实数据;对目标测试用例对应的原始数据进行数据处理,并利用数据处理后的原始数据在当前版本的被测系统中和基线版本的被测系统中分别执行目标测试用例,分别获得测试结果数据和目标结果数据;数据处理的方式包括数据过滤、数据清洗和数据抽样中的一种或多种;将测试结果数据与目标结果数据进行对比,并根据对比结果确定当前版本的被测系统中目标测试用例的测试结果。7.由上述可知,本技术提供的业务测试方法中,可以利用被测系统中被测业务的线上真实数据对被测业务进行业务测试。在测试之前,还可以对真实数据进行不同的数据处理。线上真实数据本身就是被测业务的具有全面性和有效性的数据,并且在对真实数据进行数据处理后,真实数据能够更加符合业务测试的需求等,因此本技术中进行业务测试的数据还具有针对性。可见,本技术中的方法可以利用具有全面性、针对性和有效性的数据进行被测系统中被测业务的业务测试,从而提高业务测试的效率和准确率。8.可选的,上述获取被测系统中目标测试用例对应的原始数据,包括:获取目标测试用例中每个被测业务的原始数据保存的目标位置;根据目标位置对应的数据获取规则,从目标位置处获取目标测试用例对应的原始数据。9.可见,上述方法中,由于每个被测业务对应的原始数据保存的位置不同,因此,还需要采用不同的数据获取规则从目标位置上获取到被测业务对应的原始数据,从而保证获取到的原始数据的准确性。10.可选的,上述对目标测试用例对应的原始数据进行数据处理,包括:获取目标测试用例对应的预设测试场景;根据预设测试场景,确定对应的数据处理方式;预设测试场景包括去除敏感词场景、数据过滤场景和/或数据抽样场景;根据数据处理方式,对目标测试用例对应的原始数据进行数据处理。11.可见,上述方法中,目标测试用例对应配置有预设测试场景,在执行目标测试用例之前,还可以根据预设测试场景选择合适的数据处理方式对应原始数据进行数据处理,从而保证原始数据能更加具有针对性,更加符合预设场景的要求。12.可选的,上述将测试结果数据与目标结果数据进行对比,并根据对比结果确定当前版本的被测系统中目标测试用例的测试结果,包括:获取预设对比项;将测试结果数据中的预设对比项对应的第一内容与目标结果数据中的预设对比项对应的第二内容进行对比;当第一内容与第二内容不相同时,确定目标测试用例中的一个或者多个被测业务在当前版本的被测系统中存在问题;当第一内容与第二内容相同时,确定目标测试用例中的被测业务当前版本的被测系统中不存在问题。13.可见,上述方法可以预先设置结果数据中需要进行对比的对比项,在具体对比时,可以仅对比对比项的内容,进而使得对比的方式具有针对性,从而提高业务测试的效率。14.可选的,在上述根据对比结果确定当前版本的被测系统中目标测试用例的测试结果之后,还包括:根据测试结果,生成当前版本的被测系统中目标测试用例对应的测试报告;测试报告中显示测试结果;将测试报告发送给被测系统,以使被测系统以预设方式显示测试报告。15.可见,上述方法中,在获取到测试结果后,还可以根据测试结果生成测试报告,并将测试报告发送给被测系统进行显示,以便被测系统的运维人员或者技术人员等及时发现问题并修复问题。16.可选的,在上述在获取被测系统中目标测试用例对应的原始数据之前,还包括:根据被测系统的测试需求,获取一个或者多个被测业务;根据一个或者多个被测业务,生成目标测试用例。17.可见,上述方法中,被测业务是根据被测系统的测试需求确定的,再将各个被测业务根据测试过程的测试逻辑等生成目标测试用例。执行目标测试用例的过程就是实现测试需求的过程,可见,该方法可以针对不同的测试需求进行业务测试,测试的业务内容广泛,测试效率也比较高。18.第二方面,提供一种业务测试装置,包括数据获取模块、数据回流模块和结果获取模块;数据获取模块,用于获取被测系统中目标测试用例对应的原始数据;目标测试用例表示根据至少一个被测业务生成的测试脚本,被测业务包括功能业务、接口业务或属性业务;原始数据包括目标测试用例中每个被测业务在基线版本的被测系统中运行时的线上真实数据;数据回流模块,用于对目标测试用例对应的原始数据进行数据处理,并利用数据处理后的原始数据在当前版本的被测系统中和基线版本的被测系统中分别执行目标测试用例,分别获得测试结果数据和目标结果数据;数据处理的方式包括数据过滤、数据清洗和数据抽样中的一种或多种;结果获取模块,用于将测试结果数据与目标结果数据进行对比,并根据对比结果确定当前版本的被测系统中目标测试用例的测试结果。19.可选的,上述数据获取模块,还用于获取目标测试用例中每个被测业务的原始数据保存的目标位置;根据目标位置对应的数据获取规则,从目标位置处获取目标测试用例对应的原始数据。20.可选的,上述数据回流模块,还用于获取目标测试用例对应的预设测试场景;根据预设测试场景,确定对应的数据处理方式;预设测试场景包括去除敏感词场景、数据过滤场景和/或数据抽样场景;根据数据处理方式,对目标测试用例对应的原始数据进行数据处理。21.可选的,上述结果获取模块,还用于获取预设对比项;将测试结果数据中的预设对比项对应的第一内容与目标结果数据中的预设对比项对应的第二内容进行对比;当第一内容与第二内容不相同时,确定目标测试用例中的一个或者多个被测业务在当前版本的被测系统中存在问题;当第一内容与第二内容相同时,确定目标测试用例中的被测业务当前版本的被测系统中不存在问题。22.可选的,上述装置还包括结果发送模块,用于根据测试结果,生成当前版本的被测系统中目标测试用例对应的测试报告;测试报告中显示测试结果;将测试报告发送给被测系统,以使被测系统以预设方式显示测试报告。23.可选的,上述装置还包括用例配置模块,用于根据被测系统的测试需求,获取一个或者多个被测业务;根据一个或者多个被测业务,生成目标测试用例。24.第三方面,提供一种电子设备,包括:存储器和处理器;存储器用于存储计算机执行指令;当电子设备运行时,处理器执行存储器存储的计算机执行指令,以使电子设备执行如第一方面提供的业务测试方法。25.第四方面,提供一种计算机可读存储介质,计算机可读存储介质包括计算机执行指令,当计算机执行指令在计算机上运行时,使得计算机执行如第一方面提供的业务测试方法。26.第五方面,本技术提供一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行如上述第一方面提供的业务测试方法。27.本技术中第二方面、第三方面、第四方面和第五方面描述的有益效果,可以参考第一方面的有益效果分析,此处不再赘述。附图说明28.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。29.图1是根据一示例性实施例示出的一种业务测试系统的示意图;30.图2是根据一示例性实施例示出的一种业务测试方法的流程示意图;31.图3是根据一示例性实施例示出的又一种业务测试方法的流程示意图;32.图4是根据一示例性实施例示出的又一种业务测试方法的流程示意图;33.图5是根据一示例性实施例示出的又一种业务测试方法的流程示意图;34.图6是根据一示例性实施例示出的又一种业务测试方法的流程示意图;35.图7是根据一示例性实施例示出的又一种业务测试方法的流程示意图;36.图8是根据一示例性实施例示出的又一种业务测试方法的流程示意图;37.图9是根据一示例性实施例示出的业务测试方法的硬件系统架构的示意图;38.图10是根据一示例性实施例示出的一种业务测试装置的结构示意图;39.图11是根据一示例性实施例示出的又一种业务测试装置的结构示意图;40.图12是根据一示例性实施例示出的又一种业务测试装置的结构示意图;41.图13是根据一示例性实施例示出的一种电子设备的结构示意图。具体实施方式42.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。43.需要说明的是,本技术实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本技术实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。44.为了便于清楚描述本技术实施例的技术方案,在本技术的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分,本领域技术人员可以理解“第一”、“第二”等字样并不是在对数量和执行次序进行限定。45.目前,用户对于银行业务的需求不断改变和提升,为满足用户需求而提供的银行方面业务内容的业务系统也在不断地更新和改进。业务系统更新时,需要修改系统的运行代码等。系统的代码修改后,为了确认没有引入新的错误或者导致其他代码产生错误,可以将当前的系统作为新版本的系统进行测试,此时,需要引入回归测试的方式对新版本的系统进行业务测试。具体的,在进行业务测试时,还需要将新版本的系统中被测业务对应的结果数据与基线版本的系统中被测业务对应的结果数据进行比较,从而确定出被测业务在新版本中是否正常运行等,同时也可以确定出新版本的系统中是否因为代码的修改等出现了问题。46.相关技术中,对业务系统进行回归测试时,通常针对业务系统中的被测业务设计一些测试数据,在测试用例中使用这些测试数据来测试修改代码后的系统(即当前版本系统)中该被测业务是否正常能够被正常提供或者能够被正常运行。然而,目前这些数据是由运维人员或者技术人员设计的,很难保证数据的全面性、针对性和有效性,从而会造成业务测试效率低和准确率低的问题。47.针对上述问题,本技术实施例提供一种业务测试方法,首先获取被测系统中目标测试用例对应的原始数据,其中目标测试用例表示根据至少一个被测业务生成的测试脚本;然后对目标测试用例对应的原始数据进行数据处理,并利用数据处理后的原始数据在当前版本的被测系统中和基线版本的被测系统中分别执行目标测试用例,分别获得测试结果数据和目标结果数据;最后将测试结果数据与目标结果数据进行对比,并根据对比结果确定当前版本的被测系统中目标测试用例的测试结果。线上真实数据本身就是被测业务的具有全面性和有效性的数据,并且在对真实数据进行数据处理后,真实数据能够更加符合业务测试的需求等,因此本技术中进行业务测试的数据还具有针对性。可见,本技术中的方法可以利用具有全面性、针对性和有效性的数据进行被测系统中被测业务的业务测试,从而提高业务测试的效率和准确率。48.本技术实施例提供的一种业务测试方法可以应用于业务测试系统中。图1是根据一示例性实施例示出的一种业务测试系统的示意图。如图1所示,该业务测试系统包括被测系统100和业务测试装置101。其中,被测系统100可以分别具有基线版本和当前版本,基线版本和当前版本的被测系统都可以与业务测试装置101连接。49.基线版本的被测系统100中的各项业务与当前版本的被测系统100中的各项业务相同,具体的业务可以包括功能业务、接口业务或者属性业务等。业务测试是指针对于当前版本的被测系统100中的某种业务进行测试,例如,对功能业务进行测试、对接口业务进行测试或者对属性业务进行测试等。被测业务可以是功能业务中的一个或者多个,可以是接口业务中的一个或者多个,也可以是属性业务中的一个或者多个。50.在对当前版本的被测系统100中的被测业务进行业务测试时,业务测试装置101可以先根据被测系统的测试需求等,配置用于测试的目标测试用例,然后从被测系统的基线版本对应的原始数据中获取目标测试用例对应的原始数据。业务测试装置101控制基线版本和当前版本的被测系统100利用目标测试用例对应的原始数据分别执行目标测试用例,从而从两个版本的被测系统100中分别获取到目标测试用例的测试结果数据和目标结果数据,其中,测试结果数据用于表示目标测试用例在当前版本的被测系统100中执行后的结果数据,而目标结果数据表示目标测试用例在基线版本的被测系统100中执行后的结果数据。51.最后,业务测试装置101再将获得的测试结果数据和目标结果数据进行对比,从而根据对比结果确定当前版本的被测系统中目标测试用例对应的被测业务中是否存在出现问题的业务。以及,业务测试装置101还可以将对比结果作为业务测试结果发送给被测系统100,进而使得被测系统100的运维人员或者技术人员等能及时地发现当前版本的被测系统中的问题,并及时地解决问题。52.图2是根据一示例性实施例示出的一种业务测试方法的流程示意图。如图2所示,本技术实施例提供的一种业务测试方法,可以包括如下步骤s201-s204。53.s201、获取被测系统中目标测试用例对应的原始数据。54.本技术实施例中的被测系统至少具有基线版本和当前版本。其中,基线版本是指被测系统经过测试后正式线上运行的第一个版本,或者称为初始版本。当前版本是指被测系统在基线版本的基础上经过代码修改、代码升级等操作实现系统升级后的测试版本。由于代码在修改或者升级的过程中会出现一些编译的问题等,因此,对当前版本的被测系统进行业务测试有利于确定当前版本的被测系统中是否存在代码错误的问题或者因为代码修改而引入的其他问题。在当前版本中的问题被解决或者被修改后,当前版本才会被投入到线上使用。55.目标测试用例是根据被测系统中的至少一个被测业务生成的一种测试脚本,其中,被测业务包括被测系统中的功能业务、接口业务或属性业务。目标测试用例具有一定的执行逻辑,这种执行逻辑可以根据测试需求对应配置。56.示例性的,针对于接口业务a,如果测试需求为测试接口a1、接口a2和接口a3的业务内容,其中,接口的测试顺序为接口a2-接口a3-接口a1。那么按照这个测试需求生成的目标测试用例的执行逻辑即为《接口a2-接口a3-接口a1》。即,在进行接口业务a的业务测试时,需要按照《接口a2-接口a3-接口a1》的顺序进行测试。57.示例性的,针对功能业务b,如果测试需求为测试功能b1、功能b2和功能b3的业务内容,其中,功能的测试顺序为功能b1-功能b3-功能b2。那么按照这个测试需求生成的目标测试用例的执行逻辑即为《功能b1-功能b3-功能b2》。即,在进行功能业务b的业务测试时,需要按照《功能b1-功能b3-功能b2》的顺序进行测试。58.示例性的,针对属性业务c,如果测试需求为测试属性c1、属性c2和属性c3的业务内容,其中,属性的测试顺序为属性c3-属性c2-属性c1。那么按照这个测试需求生成的目标测试用例的执行逻辑即为《属性c3-属性c2-属性c1》。即,在进行属性业务c的业务测试时,需要按照《属性c3-属性c2-属性c1》的顺序进行测试。59.具体的,在进行业务测试时,为了使业务测试的效率更高并且使测试结果更加准确,本技术实施例中可以先从基线版本的被测系统对应的线上运行时的真实数据中获取到被测业务对应的真实数据,以此作为目标测试用例对应原始数据。而后,再利用原始数据执行目标测试用例。由于原始数据是真实的,因此能为目标测试用例提供真实的测试环境,目标测试用例在真实的测试环境中进行测试,获得的测试结果会更准确。并且,由于原始数据是真实的,数据本身更加符合被测系统中被测业务的业务需求或者业务格式等,在被执行时也会减少很多数据本身带来的影响,从而减少测试过程中的各种问题,也能提高业务测试的效率。60.s202、对目标测试用例对应的原始数据进行数据处理,获得数据处理后的原始数据。61.其中,数据处理的方式包括数据过滤、数据清洗和数据抽样中的一种或多种。并且,具体采用哪一种或者哪几种的数据处理方式可以根据目标测试用例的测试场景来进行选择。62.示例性的,目标测试用例用来进行内容搜索的业务测试,针对该目标测试用例的测试场景可以是要求过滤一些敏感词等,那么针对于该目标测试用例的原始数据进行的数据处理可以是数据过滤和/或数据清洗。63.示例性的,目标测试用例对应的原始数据有很多时,针对于该目标测试用例的测试场景可以要求利用部分数据进行业务测试,那么此时的数据处理可以是数据抽样。64.可见,本技术实施例中,可以根据目标测试用例的测试场景采用不同的数据处理方式对原始数据进行处理,处理后的原始数据能够更加符合测试场景的要求,从而执行处理后的原始数据而获得的结果数据也能更加准确。65.s203、利用数据处理后的原始数据在当前版本的被测系统中和基线版本的被测系统中分别执行目标测试用例,分别获得测试结果数据和目标结果数据。66.具体的,利用经过数据处理后的原始数据在当前版本的被测系统中执行目标测试用例,获得测试结果数据;利用经过数据处理后的原始数据在基线版本的被测系统中执行目标测试用例,获得目标结果数据。67.示例性的,将基线版本的被测系统称为系统v0,将当前版本的被测系统称为系统v1,经过步骤s202中数据处理后的原始数据为数据x。在步骤s203中,分别将数据x回流到系统v0和系统v1中,系统v0的目标测试用例执行数据x后,可以获得目标结果数据x0;系统v1的目标测试用例执行数据x后,可以获得测试结果数据x1。68.s204、将测试结果数据与目标结果数据进行对比,并根据对比结果确定当前版本的被测系统中目标测试用例的测试结果。69.基线版本是被测系统真正线上运行过的版本,通常可以认为基线版本中的各个被测业务是不存在问题的。目标测试用例在基线版本的被测系统中执行,可以看作是正常的运行,其产生的结果数据也是正确的结果数据。由于在基线版本的被测系统中产生的数据都是正确的数据,那么就可以将目标测试用例在基线版本的被测系统中执行后产生的结果数据作为基准数据,即目标结果数据。将目标测试用例在当前版本的被测系统中执行后产生的测试结果数据与目标结果数据进行对比,即可对比出测试结果数据与目标结果数据的差异等,从而确定当前版本的被测系统中被测业务的相关代码等是否出现了问题,即获得了当前版本的被测系统中目标测试用例的测试结果。而由于目标测试用例对应了一个或者多个被测业务,那么当前版本的被测系统中目标测试用例的测试结果也可以看作是一个或者多个被测业务对应的业务测试结果。70.在一些实施例中,可以直接在测试结果数据与目标结果数据相同时,确定出目标测试用例中的被测业务在当前版本的被测系统中不存在问题。而在测试结果数据与目标结果数据不相同时,确定出目标测试用例中的一个或者多个被测业务在当前版本的被测系统中存在问题。71.示例性的,将上述数据x回流到系统v0和系统v1中,系统v0的目标测试用例执行数据x后,获得目标结果数据x0;系统v1的目标测试用例执行数据x后,获得测试结果数据x1。之后,将测试结果数据x1与目标结果数据x0进行比较。如果测试结果数据x1与目标结果数据x0相同,则确定系统v1的目标测试用例对应的被测业务在系统v1不存在问题,如果测试结果数据x1与目标结果数据x0不相同,则确定系统v1的目标测试用例对应的一个或者多个被测业务在系统v1存在问题。72.由上述内容可知,本技术实施例提供的业务测试方法,可以利用被测系统中被测业务的线上真实数据对被测业务进行业务测试。在测试之前,还可以对真实数据进行不同的数据处理。线上真实数据本身就是被测业务的具有全面性和有效性的数据,并且在对真实数据进行数据处理后,真实数据能够更加符合业务测试的需求等,因此本技术实施例中进行业务测试的数据还具有针对性。可见,本技术实施例中的方法可以利用具有全面性、针对性和有效性的数据进行被测系统中被测业务的业务测试,从而提高业务测试的效率和准确率。73.图3是根据一示例性实施例示出的又一种业务测试方法的流程示意图。如图3所示,在上述方法中,步骤s201还可以具体包括如下步骤s201a-s201b。74.s201a、获取目标测试用例中每个被测业务的原始数据保存的目标位置。75.目前,由于被测系统中包括多种业务,而每个业务对应的数据可能保存在不同的存储介质中,因此,在步骤s201a中,还需要确定出被测业务的原始数据保存的目标位置。76.示例性的,保存原始数据的存储介质可能是原始日志、数据仓库、数据库、kafka(分布式发布订阅消息系统)、es(分布式文档数据库)等。那么被测业务的原始数据保存的目标位置就可能是原始日志、数据仓库、数据库、kafka、es等。77.s201b、根据目标位置对应的数据获取规则,从目标位置处获取目标测试用例对应的原始数据。78.不同的被测业务对应的原始数据保存的目标位置不同,有一些数据获取方式可以从某个被测业务对应的目标位置上获取到原始数据,但是并不能从其他被测业务对应的目标位置上获取到原始数据。如果获取原始数据时,都采用相同的方式获取,那么很可能会出现从某个目标位置或者从某些目标位置上无法获取数据的问题。79.为了避免上述这种情况,在本技术实施例中,可以预先为不同目标位置配置对应的数据获取规则,在步骤s201b中,可以根据目标位置对应的数据获取规则,从目标位置处获取到被测业务对应的原始数据。由于,目标测试用例可以涉及多个被测业务,那么分别从多个被测业务对应的目标位置获取到多个被测业务的全部原始数据之后,即可获得目标测试用例对应的原始数据。80.值得说明的是,本技术实施例中,数据获取规则的不同,体现在实施数据获取过程的编译代码中。81.可见,本技术实施例的上述方法中,由于每个被测业务对应的原始数据保存的位置不同,因此,还需要采用不同的数据获取规则从目标位置上获取到被测业务对应的原始数据,从而保证获取到的原始数据的准确性。82.图4是根据一示例性实施例示出的又一种业务测试方法的流程示意图。如图4所示,在上述方法中,步骤s202还可以具体包括如下步骤s202a-s202c。83.s202a、获取目标测试用例对应的预设测试场景。84.预设测试场景为根据目标测试用例涉及的被测业务的目的、功能等针对于目标测试用例预先配置的测试场景。示例性的,预设测试场景可以包括去除敏感词场景、数据过滤场景和/或数据抽样场景等。85.示例性的,如果目标测试用例的目的为内容搜索等,可以为其配置去除敏感词场景或者数据过滤场景,即要求在搜索的内容中去除预设词语或者过滤预设内容等。针对于这种测试场景,其具体的数据处理方式可以是对数据进行过滤和/或进行清洗等。86.示例性的,如果目标测试用例对应的原始数据的数量可能较多,可以为其配置数据抽样场景,即要求在原始数据中采集预设数量的原始数据进行使用。针对于这种测试场景,其具体的数据处理方式可以是对数据进行抽样等。87.s202b、根据预设测试场景,确定对应的数据处理方式。88.其中,针对于去除敏感词场景,对应的数据处理方式可以是数据清洗或者数据过滤等;针对于数据过滤场景,对应的数据处理方式也可以是数据清洗或者数据过滤等;针对于数据抽样场景,对应的数据处理方式可以是数据抽样等。89.s202c、根据数据处理方式,对目标测试用例对应的原始数据进行数据处理。90.在一些实施例中,一个目标测试用例可以对应与一个预设测试场景,也可以对应多个预设测试场景。如果针对于目标测试用例配置有多种预设测试场景,那么在进行原始数据处理时,也可以对原始数据采用多种数据处理方式。91.可见,本技术实施例的上述方法中,可见,上述方法中,目标测试用例对应配置有预设测试场景,在执行目标测试用例之前,还可以根据预设测试场景选择合适的数据处理方式对应原始数据进行数据处理,从而保证原始数据能更加具有针对性,更加符合预设场景的要求。92.图5是根据一示例性实施例示出的又一种业务测试方法的流程示意图。如图5所示,在上述方法中,步骤s204还可以具体包括如下步骤s204a-s204d。93.s204a、获取预设对比项。94.在一些情况下,由于测试的时间、版本等不同,测试结果数据中关于时间或者版本的结果内容与目标结果数据中对应的结果内容必然是不相同的,但是这些结果内容在一定程度上不会影响对于测试结果的判断。为了避免这些会发生变化但是对测试结果无实质影响的内容在业务测试过程中影响测试结果,在本技术实施例中,可以预先针对目标测试用例的测试结果数据配置预设对比项,而后在结果数据对比时,只需对比预设对比项的相关内容即可。其中,预设对比项是指测试结果数据与目标结果数据中被对比的内容。95.示例性的,在对接口业务进行测试时,目标测试用例在当前版本的被测系统中和在基线版本的被测系统中分别得到作为测试结果数据的测试报文和作为目标结果数据的目标报文。针对于该目标测试用例配置的预设对比项可以是测试报文和目标报文中的某一个字段或者某几个字段,从而排除掉一些无关项的影响。96.s204b、将测试结果数据中的预设对比项对应的第一内容与目标结果数据中的预设对比项对应的第二内容进行对比。97.仍以上述接口业务的测试为例,预设对比项对应的第一内容即为测试报文中的某个字段中的内容或者某些字段中的内容,预设对比项对应的第二内容即为目标报文中某个字段中的内容或者某些字段中的内容。98.s204c、当第一内容与第二内容不相同时,确定目标测试用例中的一个或者多个被测业务在当前版本的被测系统中存在问题。99.仍以上述接口业务的测试为例,如果预设对比项只有一个字段a,那么对比时,可以对比测试报文中字段a中的第一内容与目标报文中字段a中的第二内容是否相同,如果不相同,则说明目标测试用例中的被测业务中,存在在当前版本的被测中出现问题的被测业务,并且出现问题的被测业务可能只有一个,也可能有多个。100.如果预设对比项有多个字段a、b和c,那么对比时,可以对比测试报文中字段a、字段b和字段c中的第一内容与目标报文中字段a、字段b和字段c中的第二内容是否相同,如果不相同,则说明目标测试用例中的被测业务中,存在在当前版本的被测中出现问题的被测业务,并且出现问题的被测业务可能只有一个,也可能有多个。101.s204d、当第一内容与第二内容相同时,确定目标测试用例中的被测业务当前版本的被测系统中不存在问题。102.本技术实施例中,当第一内容与第二内容相同时,可以认为产生第一内容的目标测试用例涉及的被测业务在当前版本的被测系统中运行的代码和在基线版本的被测系统中运行的代码是相同,即当前版本的被测系统中的被测业务与基线版本的被测系统中的被测业务相比,未发生代码上的变化,即被测业务在当前版本的被测系统中不存在问题。并且,被测业务在当前版本的被测系统中不存在问题时,如果目标测试用例涉及的被测业务有多个,那么每个被测业务都是不存在问题的。103.可见,本技术实施例的上述方法中,可以预先设置结果数据中需要进行对比的对比项,在具体对比时,可以仅对比对比项的内容,进而使得对比的方式具有针对性,从而提高业务测试的效率。104.图6是根据一示例性实施例示出的又一种业务测试方法的流程示意图。如图6所示,在上述方法中,在步骤s204之后,还可以具体包括如下步骤s205-s206。105.s205、根据测试结果,生成当前版本的被测系统中目标测试用例对应的测试报告。106.其中,测试报告中显示测试结果。测试结果是由目标测试用例涉及的被测业务产生的,那么测试报告中,在显示测试结果时,也会对应显示出产生该测试结果的相关被测业务,以便运维人员或者技术人员能够快速地找到可能会出现问题的被测业务,从而对被测业务进行检测或者运行代码的修正等操作。107.s206、将测试报告发送给被测系统,以使被测系统以预设方式显示测试报告。108.示例性的,预设方式可以包括网页方式、邮件方式、短信方式等。其中,如果预设方式为网页方式,那么被测系统会以网页的形式显示测试报告。如果预设方式为邮件方式,那么被测系统会将测试报告以邮件的形式发送给运维人员或者技术人员等。如果预设方式为短信方式,那么被测系统会将测试报告以短信的形式发送给运维人员或者技术人员等。109.可见,本技术实施例的上述方法中,在获取到测试结果后,还可以根据测试结果生成测试报告,并将测试报告发送给被测系统进行显示,以便被测系统的运维人员或者技术人员等及时发现问题并修复问题。110.图7是根据一示例性实施例示出的又一种业务测试方法的流程示意图。如图7所示,在上述方法中,在步骤s201之前,还可以具体包括如下步骤s200a-s200b。111.s200a、根据被测系统的测试需求,获取一个或者多个被测业务。112.测试需求用于表示对于被测系统中的哪个被测业务或者哪些被测业务进行测试。当确定了被测系统的测试需求之后,可以根据测试需求确定需要进行测试的一个或者多个被测业务。113.s200b、根据一个或者多个被测业务,生成目标测试用例。114.测试需求中还可以包括被测业务具体的测试逻辑或者执行逻辑等,根据测试需求,可以将被测业务按照测试逻辑或者执行逻辑等进行编译,从而生成针对于被测业务的目标测试用例。115.值得说明的是,本技术实施例中所说的生成目标测试用例的一个或者多个被测业务均属于同一个类型的被测业务,即均属于接口业务、均属于功能业务或者均属于属性业务等。116.可见,本技术实施例的上述方法中,被测业务是根据被测系统的测试需求确定的,再将各个被测业务根据测试过程的测试逻辑等生成目标测试用例。执行目标测试用例的过程就是实现测试需求的过程,可见,该方法可以针对不同的测试需求进行业务测试,测试的业务内容广泛,测试效率也比较高。117.图8是根据一示例性实施例示出的又一种业务测试方法的流程示意图。如图8所示,业务测试方法在开始之后,会抓取作为接入方的被测系统的原始数据(即源数据),然后将原始数据进行数据处理,将进行数据处理后的原始数据分别发送到作为当前版本被测系统的系统v1中和作为基线版本被测系统的系统v0中。系统v1和系统v0中分别进行流量回放的操作,即利用原始数据执行目标测试用例,从而分别获得目标测试用例在系统v1中执行后的测试结果数据和目标测试用例在系统v0中执行后的目标结果数据。最后,将测试结果数据与目标结果数据进行对比,根据对比结果生成测试报告。118.在一些实施例中,无论是在当前版本的被测系统中还是在基线版本的被测系统中,执行目标测试用例产生的结果数据也可能会保存在被测业务对应的目标位置上。因此,在获取目标结果数据和测试结果数据时,还可以先根据被测业务确定保存数据的目标位置,而后再从目标位置上获取到对应的目标结果数据和测试结果数据。119.值得说明的是,本技术实施例中,同一种被测业务保存数据的目标位置是相同的。示例性的,目标测试用例涉及接口业务,如果接口业务对应的数据保存位置是数据库,那么目标测试用例执行后的结果数据也会保存在数据库中,其中结果数据包括目标结果数据和测试结果数据。并且,数据库中也会保存接口业务对应的原始数据。120.图9是根据一示例性实施例示出的业务测试方法的硬件系统架构的示意图。本技术实施例中的上述业务测试方法可以应用于该硬件系统架构中。如图9所示,该硬件系统架构包括接入方、前端、后端、消息总线、任务执行节点等。121.其中,接入方表示上述被测系统,前端表示业务测试装置的前端界面等,后端表示业务测试装置的包括的处理器等模块,任务执行节点包括在后端中,用于执行业务测试、结果回调、节点注册等操作。后端通过消息总线向接入方发送消息等。122.运维人员或者技术人员在前端可以进行例如接入方配置(确定被测系统)、数据源配置(配置数据保存的目标位置)、场景配置(配置预设测试场景)、规则配置(配置数据获取规则)、数据处理方式配置、回放目标配置(配置目标测试用例)等。前端将配置好的内容发送到后端。后端的处理器等储存配置内容并根据配置的目标测试用例从目标位置抓取原始数据,再调取任务执行节点。后端的处理器等根据目标测试用例向任务执行节点分发测试任务。任务执行节点进行节点注册,并利用原始数据在接入方进行数据重放的操作,即执行目标测试用例。执行目标测试用例后,任务执行节点通过后端向前端更新任务状态,即通知前端当前测试任务是否完成。任务执行节点将目标测试用例执行后的结果数据发送给后端。后端的处理器等获取结果数据进行比较,并根据比较结果生成测试报告。最后,后端再将测试报告发送给接入方,由接入方进行显示。123.在如图9所示的硬件系统架构中,可以由mongodb(分布式文件存储数据库)存储抓取的原始数据,由mysql(关系型数据库管理系统)存储前端的配置内容,由redis(key(键)-value(值)数据库)存储任务执行节点。124.图10是根据一示例性实施例示出的一种业务测试装置的结构示意图。如图10所示,该装置包括数据获取模块301、数据回流模块302和结果获取模块303。125.数据获取模块301,用于获取被测系统中目标测试用例对应的原始数据。例如执行前述实施例中的步骤s201。其中,目标测试用例表示根据至少一个被测业务生成的测试脚本,被测业务包括功能业务、接口业务或属性业务;原始数据包括目标测试用例中每个被测业务在基线版本的被测系统中运行时的线上真实数据。126.数据回流模块302,用于对目标测试用例对应的原始数据进行数据处理。例如执行前述实施例中的步骤s202。以及,数据回流模块302,还用于利用数据处理后的原始数据在当前版本的被测系统中和基线版本的被测系统中分别执行目标测试用例,分别获得测试结果数据和目标结果数据。例如执行前述实施例中的步骤s203。其中,数据处理的方式包括数据过滤、数据清洗和数据抽样中的一种或多种。127.结果获取模块303,用于将测试结果数据与目标结果数据进行对比,并根据对比结果确定当前版本的被测系统中目标测试用例的测试结果。例如执行前述实施例中的步骤s204。128.可选的,上述数据获取模块,还用于获取目标测试用例中每个被测业务的原始数据保存的目标位置;根据目标位置对应的数据获取规则,从目标位置处获取目标测试用例对应的原始数据。例如执行前述实施例中的步骤s201a-s201b。129.示例性的,数据获取模块在获取原始数据之前,还可以进行初始化的过程,以便开始执行数据获取的操作。130.可选的,上述数据回流模块,还用于获取目标测试用例对应的预设测试场景;根据预设测试场景,确定对应的数据处理方式;预设测试场景包括去除敏感词场景、数据过滤场景和/或数据抽样场景;根据数据处理方式,对目标测试用例对应的原始数据进行数据处理。例如执行前述实施例中的步骤s202a-s202c。131.可选的,上述结果获取模块,还用于获取预设对比项;将测试结果数据中的预设对比项对应的第一内容与目标结果数据中的预设对比项对应的第二内容进行对比;当第一内容与第二内容不相同时,确定目标测试用例中的一个或者多个被测业务在当前版本的被测系统中存在问题;当第一内容与第二内容相同时,确定目标测试用例中的被测业务当前版本的被测系统中不存在问题。例如执行前述实施例中的步骤s204a-s204d。132.可选的,参见图11,上述装置还包括结果发送模块304,用于根据测试结果,生成当前版本的被测系统中目标测试用例对应的测试报告;测试报告中显示测试结果;将测试报告发送给被测系统,以使被测系统以预设方式显示测试报告。例如执行前述实施例中的步骤s205-s206。133.可选的,参见图12,上述装置还包括用例配置模块305,用于根据被测系统的测试需求,获取一个或者多个被测业务;根据一个或者多个被测业务,生成目标测试用例。例如执行前述实施例中的步骤s200a-s200b。134.本技术实施例还提供一种电子设备。图13是根据一示例性实施例示出的一种电子设备的结构示意图。如图13所示,该电子设备包括存储器41、处理器42。存储器41用于存储计算机执行指令。当电子设备运行时,处理器42执行存储器41存储的计算机执行指令,以使电子设备执行如上述实施例提供的密码校验方法。可选的,电子设备中还可以包括总线43和通信接口44;处理器42与存储器41通过总线43连接。135.作为一个示例,结合图10-图12,业务测试装置中各个模块实现的功能与图13中的处理器42的功能相同。136.在具体的实现中,作为一种实施例,处理器42(42-1和42-2)可以包括一个或多个cpu,例如图13中所示的cpu0和cpu1。且作为一种实施例,电子设备可以包括多个处理器42,例如图13中所示的处理器42-1和处理器42-2。这些处理器42中的每一个cpu可以是一个单核处理器(single-cpu),也可以是一个多核处理器(multi-cpu)。这里的处理器42可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。137.存储器41可以是只读存储器(read-only memory,rom)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,ram)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、只读光盘(compact disc read-only memory,cd-rom)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器41可以是独立存在,通过总线43与处理器42相连接。存储器41也可以和处理器42集成在一起。138.在具体的实现中,存储器41,用于存储本技术中的数据和执行本技术的软件程序对应的计算机执行指令。处理器42可以通过运行或执行存储在存储器41内的软件程序,以及调用存储在存储器41内的数据,电子设备的各种功能。139.通信接口44,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如控制系统、无线接入网(radio access network,ran),无线局域网(wireless local area networks,wlan)等。通信接口44可以包括接收单元实现接收功能,以及发送单元实现发送功能。140.总线43,可以是工业标准体系结构(industry standard architecture,isa)总线、外部设备互连(peripheral component interconnect,pci)总线或扩展工业标准体系结构(extended industry standard architecture,eisa)总线等。该总线43可以分为地址总线、数据总线、控制总线等。为便于表示,图13中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。141.本技术实施例还提供一种计算机可读存储介质,计算机可读存储介质包括计算机执行指令,当计算机执行指令在计算机上运行时,使得计算机执行如上述实施例提供的业务测试方法。142.本技术实施例还提供一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机实现上述实施例中的业务测试方法。143.本领域技术人员应该可以意识到,在上述一个或多个示例中,本技术所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。144.通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。145.在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。146.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本技术实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。147.以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以权利要求的保护范围为准。









图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!




内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,发布内容不收取任何费用也不接任何广告!




免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本文部分文字与图片资源来自于网络,部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!

相关内容 查看全部