发明内容
有鉴于此,本申请实施例提供了一种应用测试方法,以解决现有技术中存在的技术缺陷。本申请实施例同时提供了一种应用测试装置,一种计算设备,以及一种计算机可读存储介质。
本申请实施例公开了一种应用测试方法,包括:
读取应用升级前对其业务流程进行录制生成的录制数据中包含的业务请求和执行标签,所述执行标签用于标记所述业务流程中参与对所述业务请求进行业务处理的业务系统;
基于所述执行标签和所述应用升级后的业务流程回放针对所述业务请求进行的业务处理,并确定升级后的业务流程在所述录制数据包含的检测点的执行结果;
对所述应用在升级前后针对所述业务请求进行业务处理的执行路径以及所述检测点在所述应用升级前后的执行结果进行比对;
根据比对结果生成针对所述应用升级后的测试结果。
可选的,所述基于所述执行标签和所述应用升级后的业务流程回放针对所述业务请求进行的业务处理的执行过程中,将所述录制数据中包含的业务流程中业务系统对所述业务请求进行业务处理所需的业务调用数据拉取到升级后的业务流程对应的数据拉取处。
可选的,所述基于所述执行标签和所述应用升级后的业务流程回放针对所述业务请求进行的业务处理的执行过程中,检测升级后的业务流程中业务调用数据是否存在;
若不存在,从所述录制数据中拉取所述业务调用数据,所述升级后的业务流程中业务系统在拉取到所述业务调用数据的基础上对所述业务请求进行业务处理。
可选的,所述基于所述执行标签和所述应用升级后的业务流程回放针对所述业务请求进行的业务处理,包括:
根据所述执行标签确定所述应用升级后的业务流程中参与对所述业务请求进行业务处理的业务系统;
根据所述录制数据中包含的针对所述业务请求进行业务处理的第一执行路径,确定所述应用升级后的业务流程中参与对所述业务请求进行业务处理的业务系统的调用顺序;
在所述应用升级后的业务流程中按照所述调用顺序依次调用相应的业务系统对所述业务请求进行业务处理。
可选的,所述对所述应用在升级前后针对所述业务请求进行业务处理的执行路径以及所述检测点在升级前后的执行结果进行比对,包括:
将所述应用升级后的业务流程针对所述业务请求进行业务处理的第二执行路径与所述第一执行路径进行比对;
将所述检测点在所述应用升级后的第二执行结果与所述录制数据中包含的所述应用升级前的第一执行结果进行比对。
可选的,所述根据比对结果生成针对所述应用升级后的测试结果,包括:
根据所述第二执行路径与所述第一执行路径的比对结果,生成所述应用升级后的路径测试结果;
根据所述第二执行结果与所述第一执行结果的比对结果,生成所述应用升级后的检测点测试结果,并将所述路径测试结果和所述检测点测试结果作为所述应用升级后的测试结果。
可选的,所述应用升级前对其业务流程进行录制步骤执行之前,包括:
接收对所述应用的业务流程进行数据录制的录制指令;
根据所述录制指令中包含的待录制业务,确定所述待录制业务在所述应用中对应的业务流程,作为进行数据录制的所述业务流程;
其中,所述录制指令,包括下述至少一项:
远程过程调用指令、模型视图控制器指令、超文本传输协议指令。
可选的,所述录制数据采用如下方式进行录制:
针对所述应用升级前的业务流程中的业务系统标记所述执行标签,所述执行标签与所述业务系统具有一一对应关系;
保存所述业务流程对所述业务请求进行业务处理过程中在所述检测点的执行结果;
根据所述业务流程执行中的业务系统,以及所述业务流程对所述业务请求进行业务处理过程中调用所述业务系统的调用顺序,生成针对所述业务请求进行业务处理的第一执行路径;
创建包含所述执行标签、所述检测点及其执行结果、所述第一执行路径的数据录制脚本,作为所述应用升级前对其业务流程进行录制生成的所述录制数据。
可选的,所述检测点采用如下方式确定:
针对所述应用升级前的业务流程中参与对所述业务请求进行业务处理的至少一个业务系统,检测所述业务流程执行过程中首次调用所述业务系统的系统调用节点;
将所述系统调用节点作为所述业务流程执行过程中的所述检测点。
可选的,将在所述应用升级前针对所述业务请求进行业务处理的过程中检测到所述第一执行路径不包含的业务系统之前的节点作为录制结束点。
本申请提供一种应用测试装置,包括:
录制数据读取模块,被配置为读取应用升级前对其业务流程进行录制生成的录制数据中包含的业务请求和执行标签,所述执行标签用于标记所述业务流程中参与对所述业务请求进行业务处理的业务系统;
回放模块,被配置为基于所述执行标签和所述应用升级后的业务流程回放针对所述业务请求进行的业务处理,并确定升级后的业务流程在所述录制数据包含的检测点的执行结果;
比对模块,被配置为对所述应用在升级前后针对所述业务请求进行业务处理的执行路径以及所述检测点在所述应用升级前后的执行结果进行比对;
测试结果生成模块,被配置为根据比对结果生成针对所述应用升级后的测试结果。
本申请提供一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令:
读取应用升级前对其业务流程进行录制生成的录制数据中包含的业务请求和执行标签,所述执行标签用于标记所述业务流程中参与对所述业务请求进行业务处理的业务系统;
基于所述执行标签和所述应用升级后的业务流程回放针对所述业务请求进行的业务处理,并确定升级后的业务流程在所述录制数据包含的检测点的执行结果;
对所述应用在升级前后针对所述业务请求进行业务处理的执行路径以及所述检测点在所述应用升级前后的执行结果进行比对;
根据比对结果生成针对所述应用升级后的测试结果。
本申请提供一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现所述应用测试方法的步骤。
与现有技术相比,本申请具有如下优点:
本申请提供一种应用测试方法,包括:
读取应用升级前对其业务流程进行录制生成的录制数据中包含的业务请求和执行标签,所述执行标签用于标记所述业务流程中参与对所述业务请求进行业务处理的业务系统;基于所述执行标签和所述应用升级后的业务流程回放针对所述业务请求进行的业务处理,并确定升级后的业务流程在所述录制数据包含的检测点的执行结果;对所述应用在升级前后针对所述业务请求进行业务处理的执行路径以及所述检测点在所述应用升级前后的执行结果进行比对;根据比对结果生成针对所述应用升级后的测试结果。
本申请提供的应用测试方法,通过在应用升级前对业务流程进行数据录制,生成相应的录制数据,并且在应用升级后根据应用升级前录制的所述录制数据进行所述应用在升级后的业务流程的回放,从而在升级后的业务流程回放过程中通过比对应用升级前后的业务执行路径和业务流程中的检测点的执行结果进行应用升级前后业务流程的测试,提高应用测试的效率。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
本申请提供一种应用测试方法,本申请还提供一种应用测试装置,一种计算设备,以及一种计算机可读存储介质。以下分别结合本申请提供的实施例的附图逐一进行详细说明,并且对方法的各个步骤进行说明。
本申请提供的一种应用测试方法实施例如下:
参照附图1,其示出了本实施例提供的一种应用测试方法流程图;参照附图2,其示出了本实施例提供的一种应用测试过程的示意图。
步骤S102,读取应用升级前对其业务流程进行录制生成的录制数据中包含的业务请求和执行标签,所述执行标签用于标记所述业务流程中参与对所述业务请求进行业务处理的业务系统。
实际应用中,应用测试已经从最初的纯手工测试转变为手工与自动化测试技术相结合的测试方法,自动化测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他的代码出现错误。
自动化测试也叫回归测试,本申请提供的应用测试方法,采用“录制-回放”方式,所谓的“录制-回放”方式,就是在应用升级前先完成一遍需要测试的流程,同时由计算机记录下这个流程的信息,并生成特定的脚本程序,这是录制过程;应用升级后,重新执行一遍经过修改后的代码,检测应用升级前后应用实现的功能是否受到影响,这是回归过程。
应用测试包括录制和回放两个过程,录制是指在应用升级前先完成一遍需要的测试,并将测试流程记录为脚本程序即本实施所述的录制数据,回放过程需要基于所述录制数据进行。录制数据中包含的业务请求来自应用的业务端,业务端发出业务请求,比如查询用户信息,则所述应用根据查询用户信息这个业务请求调用业务系统进行业务处理;在业务流程中,需要调用的业务系统可能不止一个,为了便于区分各个业务系统,对业务系统标记上执行标签,比如,根据查询用户信息的业务请求,需要调用的业务系统有业务系统A和业务系统B这两个系统,业务系统A负责获得用户的基本身份信息,包括年龄、性别、职业、籍贯、联系方式,业务系统B负责获得用户针对支付应用的成员信息,包括加入支付应用的时间、使用支付应用的活跃积分,将业务系统A的程序标记上“业务系统A”的执行标签,将业务系统B的程序标记上“业务系统B”的执行标签。
具体实施时,在应用升级前对其业务流程进行录制之前,包括:接收对所述应用的业务流程进行数据录制的录制指令;根据所述录制指令中包含的待录制业务,确定所述待录制业务在所述应用中对应的业务流程,作为进行数据录制的所述业务流程;其中,所述录制指令,包括下述至少一项:远程过程调用指令、模型视图控制器指令、超文本传输协议指令。
录制开始时,录制指令由人工触发,即由人工执行开始录制的操作,录制指令包括远程过程调用指令、模型视图控制器指令、超文本传输协议指令、基于页面的录制指令等,除上述列举的录制指令外,录制操作还可由其他录制指令触发,本实施例在此不做赘述。
根据来自所述应用的业务端的业务请求可以确定录制指令中包含的待录制业务,从而确定待录制业务需要调用的业务系统以及在所述应用中对应的业务流程。
在上述接收所述录制指令并确定进行数据录制的所述业务流程的基础上,对所述待录制业务在所述应用中对应的业务流程进行数据录制,优选的,所述录制数据采用如下方式进行录制:
针对所述应用升级前的业务流程中的业务系统标记所述执行标签,所述执行标签与所述业务系统具有一一对应关系;保存所述业务流程对所述业务请求进行业务处理过程中在所述检测点的执行结果;根据所述业务流程执行中的业务系统,以及所述业务流程对所述业务请求进行业务处理过程中调用所述业务系统的调用顺序,生成针对所述业务请求进行业务处理的第一执行路径;创建包含所述执行标签、所述检测点及其执行结果、所述第一执行路径的数据录制脚本,作为所述应用升级前对其业务流程进行录制生成的所述录制数据。
其中,所述检测点优选采用如下方式确定:
针对所述应用升级前的业务流程中参与对所述业务请求进行业务处理的至少一个业务系统,检测所述业务流程执行过程中首次调用所述业务系统的系统调用节点;将所述系统调用节点作为所述业务流程执行过程中的所述检测点。
在录制过程中,在业务流程中插入检测点并记录业务流程在检测点处的执行结果,是为了在后续回放过程中,比对应用升级前后检测点的执行结果,从而检测应用升级后的业务逻辑是否受到影响,在拉取的业务调用数据相同的情况下,若应用升级前后业务系统实现的功能不变,则在该业务系统调用之前和之后的检测点的执行结果也应该不变;若应用升级前后业务系统实现的功能发生变化,比如将业务系统L和业务系统N两个顺次相邻的业务系统合并为一个业务系统M,则合并成的业务系统M实现的功能就是合并前业务系统L和业务系统N实现的功能之和,测试人员可以通过查看业务系统M之前的第一个检测点与应用升级前的业务系统L之前的第一个检测点的执行结果是否相同,业务系统M之后的第一个检测点与应用升级前的业务系统N之后的第一个检测点的执行结果是否相同来判断业务系统M有无改变业务逻辑,若执行结果相同,则没有改变业务逻辑,若执行结果不同,则业务逻辑发生改变。
录制数据包括业务流程中业务系统的执行标签、业务处理过程中在检测点的执行结果、针对所述业务请求进行业务处理的第一执行路径这三类关键数据以及其他数据,所述执行标签、所述检测点及其执行结果以及所述第一执行路径都是在后续回归测试中获得测试结果需要对比的数据。
基于执行标签的标记方法可知每个业务系统被标记以该业务系统名命名的执行标签,便于在调用到多个业务系统时区分各业务系统;另外,由于业务系统的执行有顺序关系,执行标签也给回放过程中业务路径的确定提供线索,以查询用户成员信息为例,业务系统A负责获得用户的基本身份信息,业务系统B负责获得用户针对支付应用的成员信息,业务系统的调用顺序为先调用业务系统A,再调用业务系统B,即业务系统A为上游系统,业务系统B为下游系统,若业务系统A的最后一个数据处理步骤为调用业务系统B进行业务处理,则将业务系统A的最后一个数据处理步骤之前(包括该最后一个数据处理步骤)的所有数据处理步骤标记业务系统A的执行标签“业务系统A”,并且,将业务系统A的最后一个数据处理步骤之后在业务系统B进行的所有数据处理步骤标记业务系统B的执行标签“业务系统B”,通过业务系统A和业务系统B各自的执行标签对数据处理步骤的标记关系形成业务系统第一执行路径,在回放时,根据业务系统第一执行路径中业务系统被标记的执行标签可以明确业务系统执行的上下游关系,在比对回放路径和录制数据中的业务系统第一执行路径时,通过检测执行标签可以快速判断第一执行路径是否相同。
根据上述检测点的确定方式可知,将检测点插入到被调用的业务系统的前后,通过检测业务流程在检测点处的执行结果可以判断任意两个检测点之间的业务系统的业务逻辑是否发生改变,若发生改变,则需要检测人员对该业务系统的程序进行修复或检查。
以查询用户信息这一业务请求为例,要确定基于业务请求进行业务处理的第一执行路径,首先确定查询用户信息需要调用的业务系统,已知业务系统A负责获得用户的基本身份信息,业务系统B负责获得用户针对支付应用的成员信息,通过这两个业务系统可以获得用户的所有信息,则可以确定业务系统A和业务系统B为需要调用的业务系统,获取用户信息的顺序为先获得用户的基本身份信息再获得用户针对支付应用的成员信息,可以确定业务系统的执行顺序为先执行业务系统A再执行业务系统B,基于调用的业务系统A和业务系统B及这两个业务系统的调用顺序,生成针对查询用户信息业务请求进行业务处理的第一执行路径。
将执行标签、检测点及其执行结果、第一执行路径的数据生成录制脚本,作为所述应用升级前对其业务流程进行录制生成的所述录制数据。
优选的,将在所述应用升级前针对所述业务请求进行业务处理的过程中检测到第一执行路径不包含的业务系统之前的节点作为录制结束点。
所述第一执行路径为录制数据中记录的针对业务请求进行业务处理的执行路径,在业务处理过程中,业务路径包括调用的业务系统及业务系统的调用顺序,对业务流程的录制只需录制到第一执行路径中调用完最后一个业务系统即可,因此将第一执行路径不包含的业务系统之前的节点作为录制结束点。
在上述对应用升级前的业务流程进行录制的基础上对应用升级后的业务流程进行回放测试,具体的,在回放过程中,首先读取应用升级前对其业务流程进行录制生成的录制数据中包含的业务请求和执行标签,其中,所述执行标签用于标记所述业务流程中参与对所述业务请求进行业务处理的业务系统。
步骤S104,基于所述执行标签和所述应用升级后的业务流程回放针对所述业务请求进行的业务处理,并确定升级后的业务流程在所述录制数据包含的检测点的执行结果。
本实施例提供的一种优选实施方式中,所述基于所述执行标签和所述应用升级后的业务流程回放针对所述业务请求进行的业务处理,包括:
根据所述执行标签确定所述应用升级后的业务流程中参与对所述业务请求进行业务处理的业务系统;根据所述录制数据中包含的针对所述业务请求进行业务处理的第一执行路径,确定所述应用升级后的业务流程中参与对所述业务请求进行业务处理的业务系统的调用顺序;在所述应用升级后的业务流程中按照所述调用顺序依次调用相应的业务系统对所述业务请求进行业务处理。
业务回放执行的业务流程与录制过程中的业务流程逻辑一致,首先根据录制时对参与业务处理的业务系统标记的执行标签,可以确定业务回放需要调用哪些业务系统;根据录制数据中的第一执行路径,可以确定业务回放过程业务系统的调用顺序,上游业务系统比下游业务系统先调用;然后就能根据被调用的业务系统及其调用顺序确定回放的业务流程。
应用升级后,重新执行一遍经过修改后的代码,检测应用升级前后应用实现的功能是否受到影响,这是回放过程。实际在回放执行过程中,对于业务流程中的业务系统对所述业务请求进行业务处理需要拉取的业务调用数据,是从应用升级后的数据存放单元调用所需业务调用数据,而某些应用在升级后,系统中存放业务调用数据的数据存放单元发生变化可能使业务调用数据丢失,导致在回放过程中无法按照原有的数据调用路径获得所需的数据,使回放过程无法顺利进行。以查询用户信息这一业务请求为例,业务系统A负责获得用户的基本身份信息,在业务流程执行到业务系统A时需要从存放用户的基本身份信息的数据存放单元拉取用户的年龄、性别、职业、籍贯、联系方式这些数据,然而在实际应用中,由于应用升级后数据系统中存放用户基本身份信息的数据存放单元发生变化可能使业务调用数据丢失,导致在回放过程中无法按照原有的数据调用路径获得所需的用户基本身份信息,使回放过程无法顺利进行。针对于此,本实施例提供的一种优选实施方式中,基于所述执行标签和所述应用升级后的业务流程回放针对所述业务请求进行的业务处理的执行过程中,将所述录制数据中包含的业务流程中业务系统对所述业务请求进行业务处理所需的业务调用数据拉取到升级后的业务流程对应的数据拉取处,以解决业务调用数据发生变化所导致的问题,提高回归测试的效率。
本实施例提供的应用测试方法,直接将录制数据中存储的业务调用数据返回到回放过程的业务流程中对应的数据拉取处,避免因为业务调用数据丢失而影响回放进程,从而提高回归测试的效率。
拉取业务调用数据的另一种优选实施方式,不是直接将录制数据中的业务调用数据返回到升级后的业务流程对应的数据拉取处,而是先在数据拉取处检测应用升级后业务调用数据是否可获得,若可获得,拉取应用升级后的数据存放单元中的业务调用数据即可,若不可获得,再从录制数据中拉取所需的业务调用数据返回到数据拉取处,具体的,所述基于所述执行标签和所述应用升级后的业务流程回放针对所述业务请求进行的业务处理的执行过程中,检测升级后的业务流程中所述业务调用数据是否存在;若不存在,从所述录制数据中拉取所述业务调用数据,所述升级后的业务流程中业务系统在拉取到所述业务调用数据的基础上对所述业务请求进行业务处理。
步骤S106,对所述应用在升级前后针对所述业务请求进行业务处理的执行路径以及所述检测点在所述应用升级前后的执行结果进行比对。
在上述步骤S104提供的所述基于所述执行标签和所述应用升级后的业务流程回放针对所述业务请求进行的业务处理的优选实施方式的基础上,本实施例提供的一种优选实施方式中,所述对所述应用在升级前后针对所述业务请求进行业务处理的执行路径以及所述检测点在升级前后的执行结果进行比对,包括:
将所述应用升级后的业务流程针对所述业务请求进行业务处理的第二执行路径与所述第一执行路径进行比对;将所述检测点在所述应用升级后的第二执行结果与所述录制数据中包含的所述应用升级前的第一执行结果进行比对。
所述的第二执行路径为基于业务请求进行业务回放的过程中执行的业务路径,包括业务系统及业务系统的调用顺序,业务回放的测试结果需要对应用升级前后的业务执行路径进行比对,检测执行路径是否发生变化;所述第一执行结果为录制过程中在业务流程中插入的检测点的执行结果,回放过程的业务流程中的检测点位置和录制过程的业务流程中的检测点位置相同,所述第二执行结果为应用升级后回放过程的业务流程中的检测点的执行结果,通过检测检测点在应用升级前后的执行结果是否发生变化,可以判断在同一业务流程中任意多个检测点之间的业务系统的业务逻辑是否发生变化。
以查询用户信息这一业务请求为例,确定需要先后调用业务系统A和业务系统B,业务系统A负责获得用户的基本身份信息,包括年龄、性别、职业、籍贯、联系方式等,业务系统B负责获得用户针对支付应用的成员信息,包括加入支付应用的时间、使用支付应用的活跃积分,业务录制时的业务执行路径为先执行业务系统A,再执行业务系统B;基于同一个查询用户信息的业务请求,业务系统B在应用升级前后的业务逻辑不应发生变化,设置有两个检测点分别位于业务系统B之前和之后,在业务回放时,若业务系统B之前的检测点的执行结果为基于业务系统A获取的用户的基本身份信息:年龄、性别、职业、籍贯、联系方式,业务系统B之后的检测点的执行结果为用户加入支付应用的时间、使用支付应用的活跃积分,且用户的基本身份信息和用户针对支付应用的成员信息都不变,则应用升级前后业务系统B的业务逻辑没有发生变化,程序无误。
步骤S108,根据比对结果生成针对所述应用升级后的测试结果。
在上述步骤S106比对应用升级前后的执行路径和检测点执行结果基础上,本实施例提供的一种优选实施方式中,所述根据比对结果生成针对所述应用升级后的测试结果,包括:
根据所述第二执行路径与所述第一执行路径的比对结果,生成所述应用升级后的路径测试结果;根据所述第二执行结果与所述第一执行结果的比对结果,生成所述应用升级后的检测点测试结果,并将所述路径测试结果和所述检测点测试结果作为所述应用升级后的测试结果。
下述结合附图2,以本申请提供的应用测试方法在支付应用的应用为例,对本申请提供的应用测试方法进行进一步说明,具体实现如下:
步骤S202,接收录制指令。
具体的,基于来自应用业务端的查询用户信息的业务请求,在对业务请求进行业务处理开始执行业务流程时,接收对支付应用的业务流程进行数据录制的录制指令。
步骤S204,确定待录制业务及其业务流程。
根据录制指令确定本实施例的待录制业务为查询业务,并确定查询业务在支付应用中对应的业务流程,作为进行数据录制的所述业务流程。
步骤S206,对待录制业务进行录制并生成录制数据。
对每个业务系统被标记以该业务系统名命名的执行标签,便于在调用到多个业务系统时区分各业务系统,根据查询用户信息的业务请求,需要调用的业务系统有业务系统A和业务系统B这两个系统,业务系统A负责获得用户的基本身份信息,包括年龄、性别、职业、籍贯、联系方式,业务系统B负责获得用户针对支付应用的成员信息,包括加入支付应用的时间、使用支付应用的活跃积分,将业务系统A的程序标记上“业务系统A”的执行标签,将业务系统B的程序标记上“业务系统B”的执行标签。
在录制过程中,在业务流程中插入检测点并记录业务流程在检测点处的执行结果,用于在后续回放过程中比对应用升级前后检测点的执行结果,从而检测应用升级后的业务逻辑是否受到影响,插入检测点的位置为业务流程执行过程中首次调用业务系统的系统调用节点,可以是首次调用的业务系统之前或之后,例如,在业务流程中第一次调用业务系统B之前插入一个检测点,在业务系统B之后也插入一个检测点,通过检测这两个检测点的执行结果在应用升级前后是否发生变化,来确定业务系统B的业务逻辑是否因应用升级而改变。
根据执行查询业务所需的业务系统A和业务系统B,以及对查询用户信息的业务请求进行业务处理过程中调用的业务系统的调用顺序:先调用业务系统A获得用户的基本身份信息,后调用业务系统B获得用户针对支付应用的成员信息,生成针对业务请求进行业务处理的第一执行路径。
创建包含执行标签、检测点及其执行结果以及第一执行路径的数据录制脚本,作为应用升级前对其业务流程进行录制生成的录制数据。
步骤S208,读取支付应用升级前对其业务流程进行录制生成的录制数据中包含的业务请求和执行标签。
读取录制数据中包含的业务请求和执行标签,业务请求用于确定待回放业务,以及确定待回放业务需要回放的业务流程,所述待回放业务与待录制业务基于同一个查询用户信息的业务请求确定,待回放业务也是查询业务。
步骤S210,基于执行标签和支付应用升级后的业务流程进行业务回放,并确定支付应用升级后的业务流程在录制数据包含的检测点的执行结果。
先根据录制数据中对参与业务处理的业务系统标记的执行标签,确定业务回放需要调用的业务系统为业务系统A和业务系统B;再根据录制数据中记录的第一执行路径,确定业务回放过程业务系统的调用顺序:先调用业务系统A再调用业务系统B;最后根据被调用的业务系统及其调用顺序确定回放的业务流程并进行业务回放,在业务回放过程中,记录业务流程在录制数据中的检测点的执行结果。
在回放业务流程的过程中,检测应用升级后的业务流程中业务系统需要拉取的业务调用数据是否存在,若不存在,从录制数据中拉取对应的业务调用数据,使业务回放过程顺利进行,提高回归测试效率。
步骤S212,比对执行路径和检测点的执行结果。
将支付应用升级后的业务流程的第二执行路径与录制数据中记录的第一执行路径进行比对,将检测点在支付应用升级后的第二执行结果与录制数据中记录的第一执行结果进行比对。
对于查询用户信息这一业务请求,业务录制时的第一执行路径为先执行业务系统A,再执行业务系统B,将业务回放时记录的第二执行路径与录制数据记录的第一执行路径比对;业务录制时设置有两个检测点分别位于业务系统B之前和之后,将业务回放时业务流程在这两个检测点的执行结果与录制数据中的执行结果进行比对。
步骤S214,根据比对结果生成测试结果。
根据第二执行路径与第一执行路径的比对结果,生成支付应用升级后的路径测试结果;根据第二执行结果与第一执行结果的比对结果,生成支付应用升级后的检测点测试结果;将路径测试结果和检测点测试结果作为支付应用升级后的测试结果。
本申请提供的应用测试方法,通过在应用升级前对业务流程进行数据录制,生成相应的录制数据,并且在应用升级后根据应用升级前录制的所述录制数据进行所述应用在升级后的业务流程的回放,从而在升级后的业务流程回放过程中通过比对应用升级前后的业务执行路径和业务流程中的检测点的执行结果进行应用升级前后业务流程的测试,提高应用测试的效率。
本申请提供的一种应用测试装置实施例如下:
在上述的实施例中,提供了一种应用测试方法,与之相对应的,本申请还提供了一种应用测试装置,下面结合附图进行说明。
参照附图3,其示出了本申请提供的一种应用测试装置实施例的示意图。
由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关的部分请参见上述提供的方法实施例的对应说明即可。下述描述的装置实施例仅仅是示意性的。
本申请提供一种应用测试装置,包括:
录制数据读取模块302,被配置为读取应用升级前对其业务流程进行录制生成的录制数据中包含的业务请求和执行标签,所述执行标签用于标记所述业务流程中参与对所述业务请求进行业务处理的业务系统;
回放模块304,被配置为基于所述执行标签和所述应用升级后的业务流程回放针对所述业务请求进行的业务处理,并确定升级后的业务流程在所述录制数据包含的检测点的执行结果;
比对模块306,被配置为对所述应用在升级前后针对所述业务请求进行业务处理的执行路径以及所述检测点在所述应用升级前后的执行结果进行比对;
测试结果生成模块308,被配置为根据比对结果生成针对所述应用升级后的测试结果。
可选的,所述基于所述执行标签和所述应用升级后的业务流程回放针对所述业务请求进行的业务处理的执行过程中,将所述录制数据中包含的业务流程中业务系统对所述业务请求进行业务处理所需的业务调用数据拉取到升级后的业务流程对应的数据拉取处。
可选的,所述基于所述执行标签和所述应用升级后的业务流程回放针对所述业务请求进行的业务处理的执行过程中,检测升级后的业务流程中业务调用数据是否存在;
若不存在,从所述录制数据中拉取所述业务调用数据,所述升级后的业务流程中业务系统在拉取到所述业务调用数据的基础上对所述业务请求进行业务处理。
可选的,所述回放模块304,包括:
业务系统确定子模块,被配置为根据所述执行标签确定所述应用升级后的业务流程中参与对所述业务请求进行业务处理的业务系统;
调用顺序确定子模块,被配置为根据所述录制数据中包含的针对所述业务请求进行业务处理的第一执行路径,确定所述应用升级后的业务流程中参与对所述业务请求进行业务处理的业务系统的调用顺序;
业务处理子模块,被配置为在所述应用升级后的业务流程中按照所述调用顺序依次调用相应的业务系统对所述业务请求进行业务处理。
可选的,所述比对模块306,包括:
执行路径比对子模块,被配置为将所述应用升级后的业务流程针对所述业务请求进行业务处理的第二执行路径与所述第一执行路径进行比对;
执行结果比对子模块,被配置为将所述检测点在所述应用升级后的第二执行结果与所述录制数据中包含的所述应用升级前的第一执行结果进行比对。
可选的,所述测试结果生成模块308,包括:
路径测试结果生成子模块,被配置为根据所述第二执行路径与所述第一执行路径的比对结果,生成所述应用升级后的路径测试结果;
测试结果生成子模块,被配置为根据所述第二执行结果与所述第一执行结果的比对结果,生成所述应用升级后的检测点测试结果,并将所述路径测试结果和所述检测点测试结果作为所述应用升级后的测试结果。
可选的,所述应用测试装置,还包括录制指令接收模块,所述录制指令接收模块,包括:
录制指令接收子模块,被配置为接收对所述应用的业务流程进行数据录制的录制指令;
录制业务流程确定子模块,被配置为根据所述录制指令中包含的待录制业务,确定所述待录制业务在所述应用中对应的业务流程,作为进行数据录制的所述业务流程;
其中,所述录制指令,包括下述至少一项:
远程过程调用指令、模型视图控制器指令、超文本传输协议指令。
可选的,所述录制数据采用如下方式进行录制:
针对所述应用升级前的业务流程中的业务系统标记所述执行标签,所述执行标签与所述业务系统具有一一对应关系;
保存所述业务流程对所述业务请求进行业务处理过程中在所述检测点的执行结果;
根据所述业务流程执行中的业务系统,以及所述业务流程对所述业务请求进行业务处理过程中调用所述业务系统的调用顺序,生成针对所述业务请求进行业务处理的第一执行路径;
创建包含所述执行标签、所述检测点及其执行结果、所述第一执行路径的数据录制脚本,作为所述应用升级前对其业务流程进行录制生成的所述录制数据。
可选的,所述检测点采用如下方式确定:
针对所述应用升级前的业务流程中参与对所述业务请求进行业务处理的至少一个业务系统,检测所述业务流程执行过程中首次调用所述业务系统的系统调用节点;
将所述系统调用节点作为所述业务流程执行过程中的所述检测点。
可选的,将在所述应用升级前针对所述业务请求进行业务处理的过程中检测到所述第一执行路径不包含的业务系统之前的节点作为录制结束点。
本申请提供的一种计算设备实施例如下:
图4是示出了根据本说明书一实施例的计算设备400的结构框图。该计算设备400的部件包括但不限于存储器410和处理器420。处理器420与存储器410通过总线430相连接,数据库450用于保存数据。
计算设备400还包括接入设备440,接入设备440使得计算设备400能够经由一个或多个网络460通信。这些网络的示例包括公用交换电话网(PSTN)、局域网(LAN)、广域网(WAN)、个域网(PAN)或诸如因特网的通信网络的组合。接入设备440可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC))中的一个或多个,诸如IEEE802.11无线局域网(WLAN)无线接口、全球微波互联接入(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC)接口,等等。
在本说明书的一个实施例中,计算设备400的上述部件以及图4中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图4所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备400可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备400还可以是移动式或静止式的服务器。
本申请提供一种计算设备,包括存储器410、处理器420及存储在存储器上并可在处理器上运行的计算机指令,所述处理器420用于执行如下计算机可执行指令:
读取应用升级前对其业务流程进行录制生成的录制数据中包含的业务请求和执行标签,所述执行标签用于标记所述业务流程中参与对所述业务请求进行业务处理的业务系统;
基于所述执行标签和所述应用升级后的业务流程回放针对所述业务请求进行的业务处理,并确定升级后的业务流程在所述录制数据包含的检测点的执行结果;
对所述应用在升级前后针对所述业务请求进行业务处理的执行路径以及所述检测点在所述应用升级前后的执行结果进行比对;
根据比对结果生成针对所述应用升级后的测试结果。
可选的,所述基于所述执行标签和所述应用升级后的业务流程回放针对所述业务请求进行的业务处理的执行过程中,将所述录制数据中包含的业务流程中业务系统对所述业务请求进行业务处理所需的业务调用数据拉取到升级后的业务流程对应的数据拉取处。
可选的,所述基于所述执行标签和所述应用升级后的业务流程回放针对所述业务请求进行的业务处理的执行过程中,检测升级后的业务流程中业务调用数据是否存在;
若不存在,从所述录制数据中拉取所述业务调用数据,所述升级后的业务流程中业务系统在拉取到所述业务调用数据的基础上对所述业务请求进行业务处理。
可选的,所述基于所述执行标签和所述应用升级后的业务流程回放针对所述业务请求进行的业务处理,包括:
根据所述执行标签确定所述应用升级后的业务流程中参与对所述业务请求进行业务处理的业务系统;
根据所述录制数据中包含的针对所述业务请求进行业务处理的第一执行路径,确定所述应用升级后的业务流程中参与对所述业务请求进行业务处理的业务系统的调用顺序;
在所述应用升级后的业务流程中按照所述调用顺序依次调用相应的业务系统对所述业务请求进行业务处理。
可选的,所述对所述应用在升级前后针对所述业务请求进行业务处理的执行路径以及所述检测点在升级前后的执行结果进行比对,包括:
将所述应用升级后的业务流程针对所述业务请求进行业务处理的第二执行路径与所述第一执行路径进行比对;
将所述检测点在所述应用升级后的第二执行结果与所述录制数据中包含的所述应用升级前的第一执行结果进行比对。
可选的,所述根据比对结果生成针对所述应用升级后的测试结果,包括:
根据所述第二执行路径与所述第一执行路径的比对结果,生成所述应用升级后的路径测试结果;
根据所述第二执行结果与所述第一执行结果的比对结果,生成所述应用升级后的检测点测试结果,并将所述路径测试结果和所述检测点测试结果作为所述应用升级后的测试结果。
可选的,所述应用升级前对其业务流程进行录制步骤执行之前,包括:
接收对所述应用的业务流程进行数据录制的录制指令;
根据所述录制指令中包含的待录制业务,确定所述待录制业务在所述应用中对应的业务流程,作为进行数据录制的所述业务流程;
其中,所述录制指令,包括下述至少一项:
远程过程调用指令、模型视图控制器指令、超文本传输协议指令。
可选的,所述录制数据采用如下方式进行录制:
针对所述应用升级前的业务流程中的业务系统标记所述执行标签,所述执行标签与所述业务系统具有一一对应关系;
保存所述业务流程对所述业务请求进行业务处理过程中在所述检测点的执行结果;
根据所述业务流程执行中的业务系统,以及所述业务流程对所述业务请求进行业务处理过程中调用所述业务系统的调用顺序,生成针对所述业务请求进行业务处理的第一执行路径;
创建包含所述执行标签、所述检测点及其执行结果、所述第一执行路径的数据录制脚本,作为所述应用升级前对其业务流程进行录制生成的所述录制数据。
可选的,所述检测点采用如下方式确定:
针对所述应用升级前的业务流程中参与对所述业务请求进行业务处理的至少一个业务系统,检测所述业务流程执行过程中首次调用所述业务系统的系统调用节点;
将所述系统调用节点作为所述业务流程执行过程中的所述检测点。
可选的,将在所述应用升级前针对所述业务请求进行业务处理的过程中检测到所述第一执行路径不包含的业务系统之前的节点作为录制结束点。
本申请一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现如下:
读取应用升级前对其业务流程进行录制生成的录制数据中包含的业务请求和执行标签,所述执行标签用于标记所述业务流程中参与对所述业务请求进行业务处理的业务系统;
基于所述执行标签和所述应用升级后的业务流程回放针对所述业务请求进行的业务处理,并确定升级后的业务流程在所述录制数据包含的检测点的执行结果;
对所述应用在升级前后针对所述业务请求进行业务处理的执行路径以及所述检测点在所述应用升级前后的执行结果进行比对;
根据比对结果生成针对所述应用升级后的测试结果。
可选的,所述基于所述执行标签和所述应用升级后的业务流程回放针对所述业务请求进行的业务处理的执行过程中,将所述录制数据中包含的业务流程中业务系统对所述业务请求进行业务处理所需的业务调用数据拉取到升级后的业务流程对应的数据拉取处。
可选的,所述基于所述执行标签和所述应用升级后的业务流程回放针对所述业务请求进行的业务处理的执行过程中,检测升级后的业务流程中业务调用数据是否存在;
若不存在,从所述录制数据中拉取所述业务调用数据,所述升级后的业务流程中业务系统在拉取到所述业务调用数据的基础上对所述业务请求进行业务处理。
可选的,所述基于所述执行标签和所述应用升级后的业务流程回放针对所述业务请求进行的业务处理,包括:
根据所述执行标签确定所述应用升级后的业务流程中参与对所述业务请求进行业务处理的业务系统;
根据所述录制数据中包含的针对所述业务请求进行业务处理的第一执行路径,确定所述应用升级后的业务流程中参与对所述业务请求进行业务处理的业务系统的调用顺序;
在所述应用升级后的业务流程中按照所述调用顺序依次调用相应的业务系统对所述业务请求进行业务处理。
可选的,所述对所述应用在升级前后针对所述业务请求进行业务处理的执行路径以及所述检测点在升级前后的执行结果进行比对,包括:
将所述应用升级后的业务流程针对所述业务请求进行业务处理的第二执行路径与所述第一执行路径进行比对;
将所述检测点在所述应用升级后的第二执行结果与所述录制数据中包含的所述应用升级前的第一执行结果进行比对。
可选的,所述根据比对结果生成针对所述应用升级后的测试结果,包括:
根据所述第二执行路径与所述第一执行路径的比对结果,生成所述应用升级后的路径测试结果;
根据所述第二执行结果与所述第一执行结果的比对结果,生成所述应用升级后的检测点测试结果,并将所述路径测试结果和所述检测点测试结果作为所述应用升级后的测试结果。
可选的,所述应用升级前对其业务流程进行录制步骤执行之前,包括:
接收对所述应用的业务流程进行数据录制的录制指令;
根据所述录制指令中包含的待录制业务,确定所述待录制业务在所述应用中对应的业务流程,作为进行数据录制的所述业务流程;
其中,所述录制指令,包括下述至少一项:
远程过程调用指令、模型视图控制器指令、超文本传输协议指令。
可选的,所述录制数据采用如下方式进行录制:
针对所述应用升级前的业务流程中的业务系统标记所述执行标签,所述执行标签与所述业务系统具有一一对应关系;
保存所述业务流程对所述业务请求进行业务处理过程中在所述检测点的执行结果;
根据所述业务流程执行中的业务系统,以及所述业务流程对所述业务请求进行业务处理过程中调用所述业务系统的调用顺序,生成针对所述业务请求进行业务处理的第一执行路径;
创建包含所述执行标签、所述检测点及其执行结果、所述第一执行路径的数据录制脚本,作为所述应用升级前对其业务流程进行录制生成的所述录制数据。
可选的,所述检测点采用如下方式确定:
针对所述应用升级前的业务流程中参与对所述业务请求进行业务处理的至少一个业务系统,检测所述业务流程执行过程中首次调用所述业务系统的系统调用节点;
将所述系统调用节点作为所述业务流程执行过程中的所述检测点。
可选的,将在所述应用升级前针对所述业务请求进行业务处理的过程中检测到所述第一执行路径不包含的业务系统之前的节点作为录制结束点。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的应用测试方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述应用测试方法的技术方案的描述。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本申请优选实施例只是用于帮助阐述本申请。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本申请的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本申请。本申请仅受权利要求书及其全部范围和等效物的限制。