应用测试方法和装置、存储介质和电子装置
技术领域
本申请涉及计算机领域,尤其涉及一种应用测试方法和装置、存储介质和电子装置。
背景技术
目前,在进行产品项目研发时,产品人员(例如,产品经理)进行产品需求的规划和描述,研发人员理解产品需求,进行产品功能的研发,得到满足产品需求的软件。测试人员对研发出的软件进行测试,测试软件是否满足需求,是否存在bug等。
在实现本发明过程中,发明人发现在进行产品测试时,测试人员需要准备测试所需的工具、材料等,测试准备过程繁琐。在进行测试时,测试数据流向复杂,链路较长。并且,测试数据容易污染,导致测试结果不准确。
例如,测试人员需要测试账户的转账功能,其需要准备一个已开户且有足够余额的账户,为了得到该数据,需要测试人员执行开户、存钱等一系列繁琐的操作,才能得到需要的测试数据。对于复杂的测试过程,其测试数据流向复杂,链路较长,测试人员需要消耗大量精力去处理主要测试功能以外的过程和数据准备。并且,对于已开户且余额的账户,再次使用其进行测试时,由于该账户内的金额已经被使用过,数据已被污染,易导致测试失败。
因此,相关技术中的应用(产品)测试方式,存在由于测试准备过程繁琐所导致的测试效率低的问题。
发明内容
本申请提供了一种应用测试方法和装置、存储介质和电子装置,以至少解决相关技术中的应用测试方式存在由于测试准备过程繁琐所导致的测试效率低的问题。
根据本申请实施例的一个方面,提供了一种应用测试方法,包括:确定与待测试应用功能对应的第一业务节点,其中,所述第一业务节点与封装的第一应用功能的第一接口对应,所述第一应用功能用于生成所述待测试应用功能的测试数据;调用与所述第一业务节点对应所述第一接口,生成所述待测试应用功能的第一测试数据;使用所述第一测试数据对所述待测试应用功能进行测试,得到所述待测试应用功能的第一测试结果。
可选地,确定所述待测试应用功能所对应的所述第一业务节点包括:获取所述待测试应用功能的第一业务流,其中,所述第一业务流上包含有多个所述第一业务节点,所述第一业务流用于表示多个所述第一业务节点之间的顺序;根据所述第一业务流,确定与所述待测试应用功能对应的多个所述第一业务节点。
可选地,获取所述待测试应用功能的所述第一业务流包括:检测到对客户端的显示界面执行的第一操作,其中,所述第一操作用于选取多个所述第一业务节点;响应所述第一操作,在所述显示界面上显示选取的多个所述第一业务节点;检测到对所述显示界面执行的第二操作,其中,所述第二操作用于配置多个所述第一业务节点之间的顺序;响应所述第二操作,在所述显示界面上显示多个所述第一业务节点之间的指示标识,其中,所述指示标识用于指示多个所述第一业务节点之间的顺序;检测到对所述显示界面执行的第三操作,其中,所述第三操作用于触发获取所述第一业务流;响应所述第三操作,获取所述待测试应用功能的所述第一业务流。
可选地,调用与所述第一业务节点对应所述第一接口,生成所述待测试应用功能的所述第一测试数据包括:按照所述第一业务流依次调用与各个所述第一业务节点对应的所述第一接口,生成所述待测试应用功能的所述第一测试数据。
可选地,调用与所述第一业务节点对应所述第一接口,生成所述待测试应用功能的所述第一测试数据包括:获取所述第一业务节点的第一节点信息,其中,所述第一业务节点的不同节点信息用于生成所述待测试应用功能的不同测试数据;按照所述第一节点信息调用所述第一接口,生成所述待测试应用功能的所述第一测试数据。
可选地,在使用所述第一测试数据对所述待测试应用功能进行测试,得到所述待测试应用功能的所述第一测试结果之后,所述方法还包括:获取所述第一业务节点的第二节点信息;按照所述第二节点信息调用所述第一接口,生成所述待测试应用功能的第二测试数据;使用所述第二测试数据对所述待测试应用功能进行测试,得到所述待测试应用功能的第二测试结果。
可选地,在使用所述第一测试数据对所述待测试应用功能进行测试,得到所述待测试应用功能的所述第一测试结果之后,所述方法还包括:在所述第一测试数据为与目标对象的第一状态对应的数据的情况下,确定与所述待测试应用功能对应的第二业务节点,其中,所述第二业务节点与封装的第二应用功能的第二接口对应,所述第二应用功能用于将所述目标对象的状态更新为第二状态;调用与所述第二业务节点对应所述第二接口,将所述目标对象的状态由所述第一状态更新为所述第二状态。
根据本申请实施例的另一个方面,提供了一种应用测试装置,包括:第一确定单元,用于确定与待测试应用功能对应的第一业务节点,其中,所述第一业务节点与封装的第一应用功能的第一接口对应,所述第一应用功能用于生成所述待测试应用功能的测试数据;第一生成单元,用于调用与所述第一业务节点对应所述第一接口,生成所述待测试应用功能的第一测试数据;第一测试单元,用于使用所述第一测试数据对所述待测试应用功能进行测试,得到所述待测试应用功能的第一测试结果。
可选地,所述第一确定单元包括:第一获取模块,用于获取所述待测试应用功能的第一业务流,其中,所述第一业务流上包含有多个所述第一业务节点,所述第一业务流用于表示多个所述第一业务节点之间的顺序;第一确定模块,用于根据所述第一业务流,确定与所述待测试应用功能对应的多个所述第一业务节点。
可选地,所述第一获取模块包括:第一检测子模块,用于检测到对客户端的显示界面执行的第一操作,其中,所述第一操作用于选取多个所述第一业务节点;第一显示子模块,用于响应所述第一操作,在所述显示界面上显示选取的多个所述第一业务节点;第二检测子模块,用于检测到对所述显示界面执行的第二操作,其中,所述第二操作用于配置多个所述第一业务节点之间的顺序;第二显示子模块,用于响应所述第二操作,在所述显示界面上显示多个所述第一业务节点之间的指示标识,其中,所述指示标识用于指示多个所述第一业务节点之间的顺序;第三检测子模块,用于检测到对所述显示界面执行的第三操作,其中,所述第三操作用于触发获取所述第一业务流;获取子模块,用于响应所述第三操作,获取所述待测试应用功能的所述第一业务流。
可选地,所述第一生成单元包括:第一生成模块,用于按照所述第一业务流依次调用与各个所述第一业务节点对应的所述第一接口,生成所述待测试应用功能的所述第一测试数据。
可选地,所述第一生成单元包括:第二获取模块,用于获取所述第一业务节点的第一节点信息,其中,所述第一业务节点的不同节点信息用于生成所述待测试应用功能的不同测试数据;第二生成模块,用于按照所述第一节点信息调用所述第一接口,生成所述待测试应用功能的所述第一测试数据。
可选地,所述装置还包括:获取单元,用于在使用所述第一测试数据对所述待测试应用功能进行测试,得到所述待测试应用功能的所述第一测试结果之后,获取所述第一业务节点的第二节点信息;第二生成单元,用于按照所述第二节点信息调用所述第一接口,生成所述待测试应用功能的第二测试数据;第二测试单元,用于使用所述第二测试数据对所述待测试应用功能进行测试,得到所述待测试应用功能的第二测试结果。
可选地,所述装置还包括:第二确定单元,用于在使用所述第一测试数据对所述待测试应用功能进行测试,得到所述待测试应用功能的所述第一测试结果之后,在所述第一测试数据为与目标对象的第一状态对应的数据的情况下,确定与所述待测试应用功能对应的第二业务节点,其中,所述第二业务节点与封装的第二应用功能的第二接口对应,所述第二应用功能用于将所述目标对象的状态更新为第二状态;更新单元,用于调用与所述第二业务节点对应所述第二接口,将所述目标对象的状态由所述第一状态更新为所述第二状态。
根据本申请实施例的又一个方面,还提供了一种计算机可读的存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本申请实施例的又一个方面,还提供了一种电子装置,包括存储器和处理器,存储器中存储有计算机程序,处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
在本申请实施例中,采用将应用功能封装为业务数据接口的方式,通过确定与待测试应用功能对应的第一业务节点,其中,第一业务节点与封装的第一应用功能的第一接口对应,第一应用功能用于生成待测试应用功能的测试数据;调用与第一业务节点对应第一接口,生成待测试应用功能的第一测试数据;使用第一测试数据对待测试应用功能进行测试,得到待测试应用功能的第一测试结果,由于将用于生成待测试应用功能的关联应用功能(第一应用功能)封装为业务数据接口,并通过业务数据节点调用该业务数据接口,可以通过调用不同应用功能的接口来生成测试数据,达到缩短测试数据的准备过程的目的,从而实现了简化测试数据准备过程、提高测试数据准备效率的技术效果,进而解决了相关技术中的应用测试方式存在由于测试准备过程繁琐所导致的测试效率低的问题。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是根据本申请实施例的应用测试方法的硬件环境的示意图;
图2是根据本申请实施例的一种可选的应用测试方法的流程图;
图3是根据本申请实施例的另一种可选的应用测试方法的流程图;
图4是根据本申请实施例的一种可选的应用测试装置的示意图;
图5是根据本申请实施例的一种可选的电子装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本申请实施例的一个方面,提供了一种应用测试方法。可选地,在本实施例中,上述应用测试方法可以应用于如图1所示的由终端101和服务器103所构成的硬件环境中。如图1所示,服务器103通过网络与终端101进行连接,可用于为终端或终端上安装的客户端提供服务(如游戏服务、应用服务等),可在服务器上或独立于服务器设置数据库,用于为服务器103提供数据存储服务,上述网络包括但不限于:广域网、城域网或局域网,终端101并不限定于PC、手机、平板电脑等。本申请实施例的应用测试方法可以由服务器103来执行,也可以由终端101来执行,还可以是由服务器103和终端101共同执行。其中,终端101执行本申请实施例的应用测试方法也可以是由安装在其上的客户端来执行。
图2是根据本申请实施例的一种可选的应用测试方法的流程图,如图2所示,该方法可以包括以下步骤:
步骤S202,确定与待测试应用功能对应的第一业务节点,其中,第一业务节点与封装的第一应用功能的第一接口对应,第一应用功能用于生成待测试应用功能的测试数据;
步骤S204,调用与第一业务节点对应第一接口,生成待测试应用功能的第一测试数据;
步骤S206,使用第一测试数据对待测试应用功能进行测试,得到待测试应用功能的第一测试结果。
通过上述步骤S202至步骤S206,通过确定与待测试应用功能对应的第一业务节点,其中,第一业务节点与封装的第一应用功能的第一接口对应,第一应用功能用于生成待测试应用功能的测试数据;调用与第一业务节点对应第一接口,生成待测试应用功能的第一测试数据;使用第一测试数据对待测试应用功能进行测试,得到待测试应用功能的第一测试结果,解决了相关技术中的应用测试方式存在由于测试准备过程繁琐所导致的测试效率低的问题,简化了测试准备过程,提高了应用测试效率。
在步骤S202提供的技术方案中,确定与待测试应用功能对应的第一业务节点,其中,第一业务节点与封装的第一应用功能的第一接口对应,第一应用功能用于生成待测试应用功能的测试数据。
本实施例中的应用测试方法可以应用于对目标应用的应用功能进行测试的场景。目标应用可以包括但不限于以下至少之一:游戏应用,购物应用,视频应用,或者其他应用等。在进行目标应用的应用版本更新的过程中,需要确定应用功能的需求配置(配置需求文档)、应用功能的研发、以及已研发出的应用功能的测试。
应用功能的测试过程可以是由测试人员的终端设备执行的,例如,终端设备上运行的客户端,该客户端用于对应用功能进行测试;也可以是由服务器执行的,例如,服务器与终端设备或者终端设备上运行的客户端进行通信连接,根据终端设备的触发执行应用功能的测试;还可以是由服务器和终端设备功能执行的,例如,终端设备和服务器上分别执行测试过程的部分。本实施例中以由终端设备执行测试过程为例进行说明。
为了简化测试准备过程,缩减测试数据流链路,可以将测试流程中的不同场景(业务操作,对应于应用功能)作为一个具有完整业务意义的业务单元,形成业务数据单元(对应于应用功能),并将其封装成业务数据接口(应用功能的接口)。
在进行应用功能测试时,测试人员可以将当前测试的功能封装成可被调用的接口,即,业务数据单元,以便后续的其他业务数据单元可以通过调用封装好的接口使用该应用功能。每个业务数据单元可以作为一个业务节点(节点,业务数据节点),该业务节点可以与封装的业务数据单元的接口对应,以按照业务节点调用该业务数据单元的接口,从而调用对应的应用功能。
例如,对于登录、存款、转账等操作,测试人员可以将切分业务数据单元,分别对应于登录操作、存款操作、转账操作等。
为了得到当前待测试应用节点的测试数据,以便使用该测试数据对待测试应用节点进行测试,客户端可以首先确定与待测试应用功能对应的第一业务节点,该第一业务节点与封装的第一应用功能的第一接口对应,该第一应用功能用于生成待测试应用功能的测试数据。该客户端可以运行在测试人员或者相关人员的终端设备上。
不同的待测试应用功能,用于生成待测试应用功能的测试数据的应用功能可以是相同的,也可以是不同的。测试人员或者其他人员可以通过配置不同的业务节点,以配置用于生成待测试应用功能的测试数据的应用功能。
在步骤S204提供的技术方案中,调用与第一业务节点对应第一接口,生成待测试应用功能的第一测试数据。
在确定出第一业务节点之后,客户端可以通过调用与第一业务节点对应第一接口,从而使用该第一应用功能生成待测试应用功能的第一测试数据。
第一测试数据可以是对目标对象的第一状态对应的数据,上述目标对象可以是虚拟账号,第一状态可以是该虚拟账号对应的账号状态,例如,货币格式,余额,是否允许转账,转账额度等等。
在步骤S206提供的技术方案中,使用第一测试数据对待测试应用功能进行测试,得到待测试应用功能的第一测试结果。
在得到第一测试数据之后,客户端可以使用第一测试数据对待测试应用功能进行测试,得到待测试应用的第一测试结果。
在使用第一测试数据对待测试应用功能进行测试时,可以使用待测试应用处理该第一测试数据,得到该第一测试数据的处理结果,并将得到的第一测试数据的处理结果与第一测试数据的预期结果进行比较,得到第一测试结果。
第一测试结果可以用于表示第一测试数据的预期结果与第一测试数据的处理结果之间的差异。根据第一测试结果,测试人员可以确定待测试应用功能是否达到预期,满足应用功能的需求。例如,可以确定待测试应用功能的是否能够正确处理待测试数据,是否能够连续正确处理待测试数据,处理完第一测试数据之后,其他应用功能是否可以正常使用等等。
作为一种可选的实施例,确定待测试应用功能所对应的第一业务节点包括:
S11,获取待测试应用功能的第一业务流,其中,第一业务流上包含有多个第一业务节点,第一业务流用于表示多个第一业务节点之间的顺序;
S12,根据第一业务流,确定与待测试应用功能对应的多个第一业务节点。
第一业务节点的数量可以有多个,每个第一业务节点对应于一个第一应用功能。不同的第一业务节点,其对应的第一应用功能可以是不同的。可以通过业务流(工作流)的方式配置多个第一业务节点之间的先后顺序,从而设定多个第一应用功能的执行顺序。
为了确定待测试应用功能所对应的多个第一业务节点,客户端可以首先获取待测试应用功能的第一业务流,该第一业务流可以配置待测试应用功能的前置业务,然后根据第一业务流来确定与待测试应用功能对应的多个第一业务节点。
例如,当前需要测试转账功能,测试数据需要开户且有足够余额的账户,则对于“转账”功能,配置的工作流可以是:开户-存钱,“转账”的前置业务可以是“开户”、“存钱”。
通过本实施例,通过业务流(工作流)的方式配置待测试应用功能的前置业务(业务数据单元),可以简化测试数据流向,缩短测试数据流向的链路,提高测试链路配置的效率。
作为一种可选的实施例,获取待测试应用功能的第一业务流包括:
S21,检测到对客户端的显示界面执行的第一操作,其中,第一操作用于选取多个第一业务节点;
S22,响应第一操作,在显示界面上显示选取的多个第一业务节点;
S23,检测到对显示界面执行的第二操作,其中,第二操作用于配置多个第一业务节点之间的顺序;
S24,响应第二操作,在显示界面上显示多个第一业务节点之间的指示标识,其中,指示标识用于指示多个第一业务节点之间的顺序;
S25,检测到对显示界面执行的第三操作,其中,第三操作用于触发获取第一业务流;
S26,响应第三操作,获取待测试应用功能的第一业务流。
第一业务流可以是通过客户端上的业务流配置界面(显示界面)进行配置的。目标应用的应用功能可以表示为业务数据单元,对应于业务流配置界面上的一个节点。
测试人员可以在该业务流配置界面上配置待测试节点(对应于待测试应用功能),并调取与已封装的业务数据单元对应的节点,从而选取待测试节点的前置节点(多个第一业务节点)。
在检测到对其业务流配置界面执行的第一操作(用于选取多个第一业务节点)之后,客户端可以在业务流配置界面上显示选取的多个第一业务节点,从而方便测试人员查看所配置的待测试节点的前置节点(前置函数)。
测试人员也可以在该业务流配置界面上配置待测试节点的前置节点之间的先后顺序,先后顺序可以是通过前置节点之间的位置确定的,也可以是通过指示标识(例如,连接线)进行标识的。
在检测到对其业务流配置界面执行的第二操作(用于配置多个第一业务节点之间的顺序)之后,客户端可以在业务流配置界面上显示多个第一业务节点之间的指示标识,从而方便测试人员查看所配置的前置节点之间的顺序。
第一操作和第二操作可以是顺序执行的,也可以是交叉执行的,还可以是按照其他方式执行的。第一操作和第二操作的执行方式可以根据需要进行配置,本实施例中对此不作限定。
测试人员还可以通过如点击等操作触发获取待测试应用功能的第一业务流,例如,测试人员可以点击业务流配置界面中的如“开始”、“启动”等按钮触发获取第一业务流。
在检测到对其业务流配置界面执行的第三操作(用于触发获取第一业务流)之后,客户端可以获取待测试应用功能的第一业务流。例如,可以根据业务流配置界面上显示的节点以及节点之间的连接标识,确定第一业务流。
通过本实施例,通过业务流配置界面进行待测试应用功能的业务流,可以简化业务流配置流程,提高待测试应用功能的测试效率。
作为一种可选的实施例,调用与第一业务节点对应第一接口,生成待测试应用功能的第一测试数据包括:
S31,按照第一业务流依次调用与各个第一业务节点对应的第一接口,生成待测试应用功能的第一测试数据。
第一业务节点的数量可以有一个或多个,在第一业务节点的数量为一个的情况下,客户端可以直接调用与第一业务节点对应第一接口,生成待测试应用功能的第一测试数据。
在第一业务节点的数量为多个的情况下,客户端可以按照第一业务流所指示的多个第一业务节点的顺序(调用顺序),依次调用与各第一业务节点对应的第一接口,生成待测试应用功能的第一测试数据。
在进行接口调用时,调用前一个业务节点对应的接口之后的输出结果可以作为调用后一个业务节点对应的接口的输入,通过依次调用各个业务节点对应的接口,可以得到所需的测试数据。
需要说明的是,按照业务流,同一个或者同一类业务节点可以被调用一次或多次,一个业务节点对应的输入可以有多个,对应于多个分支,调用多个分支的业务节点所对应的接口可以是串行执行的,也可以是并行执行的,按照业务流依次调用与各业务节点对应的接口的方式可以根据需要进行配置,本实施例中对此不作限定。
通过本实施例,按照业务流依次调用个业务节点对应的接口,从而生成待测试应用的测试数据,可以提高测试数据生成的效率以及准确性。
作为一种可选的实施例,调用与第一业务节点对应第一接口,生成待测试应用功能的第一测试数据包括:
S41,获取第一业务节点的第一节点信息,其中,第一业务节点的不同节点信息用于生成待测试应用功能的不同测试数据;
S42,按照第一节点信息调用第一接口,生成待测试应用功能的第一测试数据。
每个节点可以有:前置函数。在测试数据有特殊需求时,可以设置对应节点的前置函数,以保证测试数据可以满足测试需求。上述待测试应用功能的前置函数可以对应于第一业务节点的第一节点信息。第一业务节点的不同节点信息,可以用于生成待测试应用功能的不同测试数据,以满足不同的测试需求。
例如,对于“转账”,如果需要测试美元账户的转账功能,则可以将“转账”节点的前置函数中的货币格式设置为美元,从而保证生成的测试数据满足测试需求。
客户端可以获取第一业务节点的第一节点信息,并按照第一节点信息调用第一接口,生成待测试应用功能的第一测试数据,从而保证生成的测试数据可以适用于当前的测试需求。
通过本实施例,通过配置业务节点的节点信息,以生成适用于当前测试需求的测试数据,保证测试结果的准确性。
作为一种可选的实施例,在使用第一测试数据对待测试应用功能进行测试,得到待测试应用功能的第一测试结果之后,上述方法还包括:
S51,获取第一业务节点的第二节点信息;
S52,按照第二节点信息调用第一接口,生成待测试应用功能的第二测试数据;
S53,使用第二测试数据对待测试应用功能进行测试,得到待测试应用功能的第二测试结果。
每个待测试应用功能可以被测试多次,以保证待测试应用功能既能够满足功能需求,又具有较高的稳定性。
在得到第一测试结果之后,可以继续获取第一业务节点的第二节点信息,该第二节点信息用于生成待测试应用功能的测试数据。
在得到第二节点信息之后,客户端可以按照第二节点信息调用第一接口,生成待测试应用功能的第二测试数据,并使用第二测试数据对待测试应用功能进行测试,得到待测试应用功能的第二测试结果。
生成第二测试数据的方式与生成第一测试数据的方式类似,使用第二测试数据对待测试应用功能进行测试的方式与使用第一测试数据对待测试应用功能进行测试的方式类似,在此不做赘述。
需要说明的是,第一节点信息与第二节点数据可以是相同的节点信息,用于对待测试应用功能进行重复测试,第一节点信息与第二节点数据可以是不同的节点信息,用于对待测试应用功能进行多种测试,从而可以测试待测试应用功能抗压能力以及适用性。
通过本实施例,通过对待测试应用进行多次测试,可以提高应用功能测试的全面性,从而保证应用功能的稳定性。
作为一种可选的实施例,在使用第一测试数据对待测试应用功能进行测试,得到待测试应用功能的第一测试结果之后,上述方法还包括:
S61,在第一测试数据为与目标对象的第一状态对应的数据的情况下,确定与待测试应用功能对应的第二业务节点,其中,第二业务节点与封装的第二应用功能的第二接口对应,第二应用功能用于将目标对象的状态更新为第二状态;
S62,调用与第二业务节点对应第二接口,将目标对象的状态由第一状态更新为第二状态。
每个节点可以有:后置函数。在测试数据有特殊需求时,可以设置对应节点的后置函数,以保证测试数据可以满足测试需求,又能恢复到原有状态。
如果第一测试数据为与目标对象(例如,账号等)的第一状态对应的数据,该第一状态对应于测试数据的特定需求。为保证目标对象能够恢复到第二状态(原有状态),则在得到第一测试结果之后,客户端可以确定与待测试应用功能对应的第二业务节点(待测试应用功能),第二业务节点与封装的第二应用功能的第二接口对应,第二应用功能用于将目标对象的状态更新为第二状态。
客户端可以调用与第二业务节点对应第二接口,以将目标对象的状态由第一状态更新为第二状态。
例如,对于“转账”,如果需要测试美元账户的转账功能,则可以将“转账”节点的前置函数中的货币格式设置为美元,而在后置函数中的货币格式设置为人民币,从而保证测试之后该账户可以恢复到人民币转账功能。
需要说明的是,确定第二业务节点的方式与确定第一业务节点的方式类似,调用第二接口的方式与调用第一接口的方式类似,在此不做赘述。
通过本实施例,通过调用第二应用功能进行对象状态的恢复,可以避免数据被污染,保证数据可以被重复使用。
下面结合可选示例对本申请实施例中的应用测试方法进行解释说明。为解决测试准备繁琐,测试数据流向复杂、链路较长,测试数据容易被污染的问题,本示例中的应用测试方法可以应用于基于工作流的数据生成系统,该系统可以切分业务数据单元,形成业务数据单元,根据业务场景,使用工作流的方式配置业务数据,将每一个业务数据单元作为一个节点、前置函数或者后置函数,根据配置规则自动化生产需要的测试数据。
如图3所示,本示例中的应用测试方法可以包括以下流程步骤:
步骤S302,切分业务场景,形成业务数据单元。
可以将测试流程中的不同场景作为一个业务单元来形成业务数据单元,并将其封装成业务数据接口。测试人员在测试的过程中,可以将当前测试的功能封装成可被调用的接口,即,业务数据单元,以便后续的其他业务数据单元进行调用。
步骤S304,根据业务场景,使用工作流的方式配置业务数据,将每一个业务数据单元作为一个节点,并设置前置条件或者后置条件。
根据需要的测试功能,可以使用工作流的方式配置业务数据:在工作流的配置界面上拉取对应的业务数据单元形成工作流,每个业务数据单元作为工作流中的一个节点。
每个节点还可以有:前置函数和后置函数。在测试数据有特殊需求时,可以设置对应节点的前置函数和后置函数,以保证测试数据可以满足测试需求,又能恢复到原有状态。
步骤S306,根据配置规则自动化生产需要的测试数据。
根据配置的工作流,可以自动化生成需要的测试数据。根据测试需要,测试人员可以配置不同节点的参数,并通过调用对应的接口生成测试数据,从而可以方便测试人员使用生成的测试数据测试主节点(与待测试应用功能对应的节点)的功能。
例如,测试人员需要测试转账功能,需要调用“开户”和“存钱”节点的接口。对于“开户”,可以使用默认的参数调用该节点的接口,得到已开户的账户,对于“存钱”,可以使用“账户”(“开户”所开的账户)、“存钱金额”等参数调用该节点的接口,得到已开户且有余额的账户。
此外,上述配置的工作流可以被不同人进行复用,只要测试的主节点所需的配置条件相同,同时可以实现跨厂商、跨部门合作。
通过本示例,通过切分业务数据单元,并使用工作流的方式配置业务数据,可以通过调用不同业务数据单元的接口生成测试所需的数据,可以缩短测试数据的准备过程,简化测试数据链路;每次调用生成的都是新的数据,保证测试数据不会被污染,提高了测试结果的准确性。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
根据本申请实施例的另一个方面,还提供了一种用于实施上述应用测试方法的应用测试装置。图4是根据本申请实施例的一种可选的应用测试装置的示意图,如图4所示,该装置可以包括:
(1)第一确定单元42,用于确定与待测试应用功能对应的第一业务节点,其中,第一业务节点与封装的第一应用功能的第一接口对应,第一应用功能用于生成待测试应用功能的测试数据;
(2)第一生成单元44,与第一确定单元42相连,用于调用与第一业务节点对应第一接口,生成待测试应用功能的第一测试数据;
(3)第一测试单元46,与第一生成单元44相连,用于使用第一测试数据对待测试应用功能进行测试,得到待测试应用功能的第一测试结果。
需要说明的是,该实施例中的第一确定单元42可以用于执行上述步骤S202,该实施例中的第一生成单元44可以用于执行上述步骤S204,该实施例中的第一测试单元46可以用于执行上述步骤S206。
通过上述模块,通过确定与待测试应用功能对应的第一业务节点,其中,第一业务节点与封装的第一应用功能的第一接口对应,第一应用功能用于生成待测试应用功能的测试数据;调用与第一业务节点对应第一接口,生成待测试应用功能的第一测试数据;使用第一测试数据对待测试应用功能进行测试,得到待测试应用功能的第一测试结果,解决了相关技术中的应用测试方式存在由于测试准备过程繁琐所导致的测试效率低的问题,简化了测试准备过程,提高了应用测试效率。
作为一种可选的实施例,第一确定单元42包括:
第一获取模块,用于获取待测试应用功能的第一业务流,其中,第一业务流上包含有多个第一业务节点,第一业务流用于表示多个第一业务节点之间的顺序;
第一确定模块,用于根据第一业务流,确定与待测试应用功能对应的多个第一业务节点。
作为一种可选的实施例,第一获取模块包括:
第一检测子模块,用于检测到对客户端的显示界面执行的第一操作,其中,第一操作用于选取多个第一业务节点;
第一显示子模块,用于响应第一操作,在显示界面上显示选取的多个第一业务节点;
第二检测子模块,用于检测到对显示界面执行的第二操作,其中,第二操作用于配置多个第一业务节点之间的顺序;
第二显示子模块,用于响应第二操作,在显示界面上显示多个第一业务节点之间的指示标识,其中,指示标识用于指示多个第一业务节点之间的顺序;
第三检测子模块,用于检测到对显示界面执行的第三操作,其中,第三操作用于触发获取第一业务流;
获取子模块,用于响应第三操作,获取待测试应用功能的第一业务流。
作为一种可选的实施例,第一生成单元44包括:
第一生成模块,用于按照第一业务流依次调用与各个第一业务节点对应的第一接口,生成待测试应用功能的第一测试数据。
作为一种可选的实施例,第一生成单元44包括:
第二获取模块,用于获取第一业务节点的第一节点信息,其中,第一业务节点的不同节点信息用于生成待测试应用功能的不同测试数据;
第二生成模块,用于按照第一节点信息调用第一接口,生成待测试应用功能的第一测试数据。
作为一种可选的实施例,上述装置还包括:
获取单元,用于在使用第一测试数据对待测试应用功能进行测试,得到待测试应用功能的第一测试结果之后,获取第一业务节点的第二节点信息;
第二生成单元,用于按照第二节点信息调用第一接口,生成待测试应用功能的第二测试数据;
第二测试单元,用于使用第二测试数据对待测试应用功能进行测试,得到待测试应用功能的第二测试结果。
作为一种可选的实施例,上述装置还包括:
第二确定单元,用于在使用第一测试数据对待测试应用功能进行测试,得到待测试应用功能的第一测试结果之后,在第一测试数据为与目标对象的第一状态对应的数据的情况下,确定与待测试应用功能对应的第二业务节点,其中,第二业务节点与封装的第二应用功能的第二接口对应,第二应用功能用于将目标对象的状态更新为第二状态;
更新单元,用于调用与第二业务节点对应第二接口,将目标对象的状态由第一状态更新为第二状态。
此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现,其中,硬件环境包括网络环境。
根据本申请实施例的又一个方面,还提供了一种用于实施上述应用测试方法的电子装置,该电子装置可以是服务器、终端、或其组合。
图5是根据本申请实施例的一种电子装置的结构框图,如图5所示,该电子装置包括存储器502和处理器504,该存储器502中存储有计算机程序,该处理器504被设置为通过计算机程序执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述电子装置可以位于计算机网络的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,确定与待测试应用功能对应的第一业务节点,其中,第一业务节点与封装的第一应用功能的第一接口对应,第一应用功能用于生成待测试应用功能的测试数据;
S2,调用与第一业务节点对应第一接口,生成待测试应用功能的第一测试数据;
S3,使用第一测试数据对待测试应用功能进行测试,得到待测试应用功能的第一测试结果。
可选地,本领域普通技术人员可以理解,图5所示的结构仅为示意,电子装置也可以是智能设备(如Android手机、iOS手机等)、平板电脑、掌上电脑以及MID(MobileInternet Devices,移动互联网设备)、PAD等终端设备。图5其并不对上述电子装置的结构造成限定。例如,电子装置还可包括比图5中所示更多或者更少的组件(如网络接口等),或者具有与图5中不同的配置。
其中,存储器502可用于存储软件程序以及模块,如本申请实施例中的应用测试方法和装置对应的程序指令/模块,处理器504通过运行存储在存储器502内的软件程序以及模块,从而执行各种功能应用以及应用测试,即实现上述的应用测试方法。存储器502可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器502可进一步包括相对于处理器504远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
其中,存储器502具体可以但不限于用于存储一个或多个对象的数据变更记录信息。
作为一种示例,如图5所示,上述存储器502中可以但不限于包括上述应用测试装置中的第一确定单元42、第一生成单元44和第一测试单元46。此外,还可以包括但不限于上述应用测试装置中的其他模块单元,本示例中不再赘述。
可选地,上述的传输装置506用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置506包括一个NIC(NetworkInterface Controller,网络适配器),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置506为RF(Radio Frequency,射频)模块,其用于通过无线方式与互联网进行通讯。
此外,上述电子装置还可以包括:连接总线508,用于连接上述电子装置中的各个模块部件。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、ROM(Read-Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取器)、磁盘或光盘等。
根据本申请实施例的又一个方面,还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于执行应用测试方法的程序代码。
可选地,在本实施例中,上述存储介质可以位于上述实施例所示的网络中的多个网络设备中的至少一个网络设备上。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:
S1,确定与待测试应用功能对应的第一业务节点,其中,第一业务节点与封装的第一应用功能的第一接口对应,第一应用功能用于生成待测试应用功能的测试数据;
S2,调用与第一业务节点对应第一接口,生成待测试应用功能的第一测试数据;
S3,使用第一测试数据对待测试应用功能进行测试,得到待测试应用功能的第一测试结果。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例中对此不再赘述。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、ROM、RAM、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例中所提供的方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。