CN110162455A - 软件的联调方法及装置、存储介质、电子装置 - Google Patents
软件的联调方法及装置、存储介质、电子装置 Download PDFInfo
- Publication number
- CN110162455A CN110162455A CN201910281571.XA CN201910281571A CN110162455A CN 110162455 A CN110162455 A CN 110162455A CN 201910281571 A CN201910281571 A CN 201910281571A CN 110162455 A CN110162455 A CN 110162455A
- Authority
- CN
- China
- Prior art keywords
- goal systems
- joint debugging
- source system
- processing result
- feedback
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 61
- 238000012545 processing Methods 0.000 claims description 95
- 238000012360 testing method Methods 0.000 claims description 43
- 230000002159 abnormal effect Effects 0.000 claims description 27
- 230000015654 memory Effects 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 16
- 238000005516 engineering process Methods 0.000 abstract description 7
- 230000008569 process Effects 0.000 description 30
- 238000010586 diagram Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 9
- 238000004458 analytical method Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 6
- 235000013399 edible fruits Nutrition 0.000 description 5
- 108010001267 Protein Subunits Proteins 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000003825 pressing Methods 0.000 description 2
- 235000013311 vegetables Nutrition 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3676—Test management for coverage analysis
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是本发明实施例中创建联调场景的流程图;
图8是根据本发明实施例的一种软件的联调装置的结构框图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
实施例1
本申请实施例一所提供的方法实施例可以在移动终端、计算机终端、测试终端、服务器或者类似的运算装置中执行。以运行在测试终端上为例,图1是本发明实施例的一种软件的联调测试终端结构框图。如图1所示,测试终端10可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,可选地,上述测试终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述测试终端的结构造成限定。例如,测试终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的一种软件的联调方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至测试终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括测试终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种软件的联调方法,图2是根据本发明实施例的一种软件的联调方法流程图,如图2所示,该流程包括如下步骤:
步骤S202,接收源***与目标***之间的联调请求,其中,源***和目标***均为测试软件的子***;
在本实施例中,源***为主动发起操作的***,目标***为响应操作的***,联调请求同于测试源***与目标***间的交互是否正常;
步骤S204,确定源***与目标***之间的联调用例,其中,联调用例包括按照联调时序排列的多个联调场景;
本实施例的联调场景可以以需求文档的形式编辑,多个联调场景中除了成功的联调场景外,还包括多个异常的联调场景;
步骤S206,使用联调用例测试源***和目标***。按照需求文档对联调场景以联调时序进行逐条验证,如果源***与目标***的表现符合预期则认为联调成功、测试通过,如果出现异常,则测试不通过,可以通过导致测试异常的联调场景定位测试软件的BUG。
通过上述步骤,在接收源***与目标***之间的联调请求后,确定源***与目标***之间的多个联调场景和各个联调场景之间的联调时序,进而使用联调用例测试源***和目标***,通过设置源***和目标***间调用可能出现的各种异常和成功的场景,确保了在测试过程中进行场景分析时不会遗漏任何联调场景,打破了以往依赖工程师个人经验的情况,解决了相关技术中软件联调效率低的技术问题,提高了测试软件的联调效率和开发效率。
本实施例可以应用在多个子***间进行测试的场景中,源***和目标***可以是同一个测试软件的子***,也可以是两个不同的测试软件,或者是两个不同测试软件的子***。以点餐业务的测试软件为例,其子***包括:门店***、菜品***、订单***、营销***、支付***等不同功能的***,各个***在开发完成后需要进行联调,以业务需求为输入,基于应用场景进行验证,例如:用户选菜加购场景需要其中菜品***和订单***的交互、用户下单支付场景需要订单***和支付***的交互等。
本实施例的目标***可以是一个或多个,目标***用于执行一个或多个目标业务。
联调场景在本实施例为调试过程中可能发生的各个调试结果,包括异常结果和成功结果,各个调试结果会按照一定的时序或者是在不同的调试阶段发生,本实施例的调试结果在一个调试周期只会发生一次,即异常或者成功,其中异常场景又包括多种。在本实施例中,确定源***与目标***之间的联调用例包括:按照以下联调时序确定源***与目标***之间的以下联调场景:目标***的***异常、目标***的超时异常、目标***所执行的目标业务的业务异常、目标业务的超时异常、联调成功。
在本实施例的一个实施方式中,在目标***为一个时,使用联调用例测试源***和目标***包括:
S11,从源***向目标***发送调用请求;
S12,确定目标***针对调用请求的处理结果,其中,处理结果包括以下之一:处理成功(包括***正常且业务正常,只有在***正常的情况下,才会进一步判断业务是否正常)、***异常、业务异常;
可选的,确定目标***针对调用请求的处理结果包括:判断目标***在第一预定时间内是否响应调用请求;在目标***在第一预定时间内未响应调用请求时,确定处理结果为***异常;在目标***在第一预定时间内响应调用请求,判断目标***是否执行目标业务;在目标***未执行目标业务时,确定处理结果为业务异常;在目标***执行目标业务时,确定处理结果为处理成功。
S13,确定目标***针对处理结果向源***的反馈结果,其中,反馈结果包括以下之一:反馈成功、反馈超时。可选的,确定目标***针对处理结果向源***的反馈结果包括:判断目标***在第二预定时间内是否向源***反馈处理结果;在目标***在第二预定时间内未向源***反馈处理结果时,确定反馈结果为反馈超时;在目标***在第二预定时间内向源***反馈处理结果时,确定反馈结果为反馈成功;处理成功且反馈成功。
S14,根据所述处理结果和所述反馈结果验证所述联调场景;根据处理结果和反馈结果即可验证以下之一的调试结果:目标***的***异常、目标***的超时异常、目标***所执行的目标业务的业务异常、目标业务的超时异常、联调成功。***异常且反馈成功,调试结果为目标***的***异常,***异常且反馈超时,调试结果为目标***的超时异常,业务异常且反馈成功,调试结果为目标***所执行的目标业务的业务异常,处理成功且反馈超时,调试结果为所述目标业务的超时异常,处理成功且反馈超时,调试结果为联调成功。
在本实施例的另一个实施方式中,在目标***设置有多个目标业务时,确定目标***针对调用请求的处理结果包括:在目标***在第一预定时间内响应调用请求,且按照预设时序执行多个目标业务时,确定处理结果为处理成功;在目标***在第一预定时间内响应调用请求,且按照预设时序未执行多个目标业务中的任一目标业务异常时,确定处理结果为业务异常。
图3是本发明实施例中单次调用的时序图,图3中,***A为源***,***B为目标***,***A调用***B完成某项功能,通过将实际的调用时序图进行了场景化的抽象,可以根据调用过程的两个阶段进行了分类:调用过程一阶段,***B接收到调用请求并处理,在处理的过程中可能出现的场景有三种,处理成功、处理失败—***异常、处理失败—业务异常;调用过程二阶段,***B反馈结果给***A,这个过程中可能出现的场景有,反馈成功、反馈超时。
图4是本发明实施例中单次调用的场景流程图,图4中,根据***间调用关系和时序,给出场景化时序图之后,可以得到***A调用***B的各种具体联调场景,流程包括:
S41,以***A为出发点,发起调用请求;
S42,调用***B为第一个节点;
S43,***B是否出现***异常为第一个判断,如果出现***异常则跳至S45步;
S44,***B是否出现各种业务异常,具体异常根据实际情况来定义。如果出现异常则跳至S45步;
S45,判断是否超时;
S46,到达终点:成功,业务异常1…业务异常n,***异常,超时。
其中,从出发点开始,到达终点的每一条路径就是一个具体的联调场景,例如:调用B成功且返回未超时场景,调用B成功但是返回超时场景,调用B业务异常且返回超时场景等。
在本实施例的又一个实施方式中,在目标***为多个时,使用联调用例测试源***和目标***包括:从源***向第一目标***发送调用请求;确定第一目标***针对调用请求的处理结果,其中,处理结果包括以下之一:处理成功、***异常、业务异常;确定第一目标***针对处理结果向源***的反馈结果,其中,反馈结果包括以下之一:反馈成功、反馈超时;在反馈结果为反馈成功时,从源***向第二目标***发送调用请求,并确定第二目标***的处理结果和反馈结果,直到遍历完所有的目标***。
图5是本发明实施例中多次调用的时序图,图5中,***A为源***,***B、***C均为目标***,***A调用***B之后,继续调用***C的服务。在实际情况下,多次调用的场景非常普遍,***间的调用往往依赖前一次调用的结果,例如图5中***A调用B出现异常,则不会再调用***C。图5中,按照图3的方式将每一次调用划分成两个阶段,每个阶段对应不同的场景,在时序图中标注出来,进而按照时序来联调。
图6是本发明实施例中多次调用的场景流程图,图6中,多次调用场景流程图。根据图5的场景时序图,创建出场景流程图,首先分析***A调用***B的场景,然后分析***A调用***C的场景。每次调用都是独立的,然后将***B和***C做串联式的组合。创建好场景流程图之后,从出发点A到终点成功、业务异常、***异常、超时,途中经过的节点组合起来就是一个个具体的场景。
可选的,在确定源***与目标***之间的联调用例之前,还包括:设置源***与目标***之间的调用时序;通过调用时序创建场景时序流程,其中,场景时序流程中每个流程分支对应一个联调结果,每个流程分支为场景时序流程中从调用开始到调用结束的一条路径;根据联调结果创建联调场景,并将场景时序流程中的各个流程分支的时序确定为联调场景之间的联调时序;将联调场景和联调时序打包生成联调用例。具体的,根据联调结果创建联调场景包括:遍历场景时序流程的所有流程分支;使用场景时序流程的每一条流程分支生成一个联调场景,其中,联调场景包括:目标***的***异常、目标***的超时异常、目标***所执行的目标业务的业务异常、目标业务的超时异常、联调成功。
图7是本发明实施例中创建联调场景的流程图,创建联调场景的步骤包括:
S71,确定待测源***和目标***,获取调用时序图;
S72,标注目标***的异常场景,给出场景化时序图;
S73,通过场景化时序图创建出场景流程图;
S74,通过场景流程图创建联调场景。遍历场景流程图的每一条路径,每一条路径对应一个具体的联调场景。
S75,根据场景生成包括全量联调场景的联调用例。
本实施例中的,成功场景为:所有的调用都成功,且返回没有超时;业务异常场景为:被调用***出现业务异常;***异常场景为:被调用***出现***异常;超时场景为:超时未返回。
本实施例首先从***间调用的具体情况入手,分析了***间调用可能出现的各种场景,并做了合理的抽象,通过标注时序图,创建场景流程图等方法,确保了测试工程师在进行场景分析时不会遗漏任何联调场景,打破了以往依赖工程师个人经验的情况。特别是复杂业务处理过程中,不同***间存在多次调用,凭个人经验无法准确分析出各类场景,本实施例提供了一套简单便捷的分析方法,联调难度不会随着***间调用次数的增加而增加。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
在本实施例中还提供了一种软件的联调装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图8是根据本发明实施例的一种软件的联调装置的结构框图,如图8所示,可以应用在测试终端,该装置包括:
接收模块80,用于接收源***与目标***之间的联调请求,其中,所述源***和所述目标***均为测试软件的子***;
确定模块82,用于确定所述源***与所述目标***之间的联调用例,其中,所述联调用例包括按照联调时序排列的多个联调场景;
测试模块84,用于使用所述联调用例测试所述源***和所述目标***。
可选的,所述确定模块包括:确定单元,用于按照以下联调时序确定所述源***与所述目标***之间的以下联调场景:所述目标***的***异常、所述目标***的超时异常、所述目标***所执行的目标业务的业务异常、所述目标业务的超时异常、联调成功。
可选的,在所述目标***为一个时,所述测试模块包括:发送单元,用于从源***向所述目标***发送调用请求;第一确定单元,用于确定所述目标***针对所述调用请求的处理结果,其中,所述处理结果包括以下之一:处理成功、***异常、业务异常;第二确定单元,用于确定所述目标***针对所述处理结果向所述源***的反馈结果,其中,所述反馈结果包括以下之一:反馈成功、反馈超时;验证单元,用于;根据所述处理结果和所述反馈结果验证所述联调场景。
可选的,所述第一确定单元包括:判断子单元,用于判断所述目标***在第一预定时间内是否响应所述调用请求;处理子单元,用于在所述目标***在第一预定时间内未响应所述调用请求时,确定所述处理结果为***异常;在所述目标***在第一预定时间内响应所述调用请求,判断所述目标***是否执行目标业务;第一确定子单元,用于在所述目标***未执行目标业务时,确定所述处理结果为业务异常;在所述目标***执行目标业务时,确定所述处理结果为处理成功。
可选的,所述第二确定单元包括:判断子单元,用于判断所述目标***在第二预定时间内是否向所述源***反馈所述处理结果;确定子单元,用于在所述目标***在第二预定时间内未向所述源***反馈所述处理结果时,确定所述反馈结果为反馈超时;在所述目标***在第二预定时间内向所述源***反馈所述处理结果时,确定所述反馈结果为反馈成功。
可选的,在所述目标***设置有多个目标业务时,所述第一确定单元包括:第二确定子单元,用于在所述目标***在第一预定时间内响应所述调用请求,且按照预设时序执行所述多个目标业务时,确定所述处理结果为处理成功;在所述目标***在第一预定时间内响应所述调用请求,且按照预设时序未执行所述多个目标业务中的任一目标业务异常时,确定所述处理结果为业务异常。
可选的,在所述目标***为多个时,所述测试模块包括:发送单元,用于从源***向第一目标***发送调用请求;第一确定单元,用于确定所述第一目标***针对所述调用请求的处理结果,其中,所述处理结果包括以下之一:处理成功、***异常、业务异常;第二确定单元,用于确定所述第一目标***针对所述处理结果向所述源***的反馈结果,其中,所述反馈结果包括以下之一:反馈成功、反馈超时;遍历单元,用于在所述反馈结果为反馈成功,从源***向第二目标***发送调用请求,并确定第二目标***的处理结果和反馈结果,直到遍历完所有的目标***。
可选的,所述装置还包括:设置模块,用于在所述确定模块确定所述源***与所述目标***之间的联调用例之前,设置所述源***与所述目标***之间的调用时序;第一创建模块,用于通过所述调用时序创建场景时序流程,其中,所述场景时序流程中每个流程分支对应一个联调结果,每个所述流程分支为所述场景时序流程中从调用开始到调用结束的一条路径;第二创建模块,用于根据所述联调结果创建联调场景,并将所述场景时序流程中的各个流程分支的时序确定为联调场景之间的联调时序;生成模块,用于将所述联调场景和所述联调时序打包生成所述联调用例。
需要说明的是,客户端和服务器仅是方案在执行主体上的差异,上述软件的联调终端中的各个示例和可选方案同样适应在服务器中,并产生相同的技术效果。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
实施例3
本发明的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例的一个方面中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,接收源***与目标***之间的联调请求,其中,所述源***和所述目标***均为测试软件的子***;
S2,确定所述源***与所述目标***之间的联调用例,其中,所述联调用例包括按照联调时序排列的多个联调场景;
S3,使用所述联调用例测试所述源***和所述目标***。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例的一个方面中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,接收源***与目标***之间的联调请求,其中,所述源***和所述目标***均为测试软件的子***;
S2,确定所述源***与所述目标***之间的联调用例,其中,所述联调用例包括按照联调时序排列的多个联调场景;
S3,使用所述联调用例测试所述源***和所述目标***。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种软件的联调方法,其特征在于,包括:
接收源***与目标***之间的联调请求,其中,所述源***和所述目标***均为测试软件的子***;
确定所述源***与所述目标***之间的联调用例,其中,所述联调用例包括按照联调时序排列的多个联调场景;
使用所述联调用例测试所述源***和所述目标***。
2.根据权利要求1所述的方法,其特征在于,确定所述源***与所述目标***之间的联调用例包括:
按照以下联调时序确定所述源***与所述目标***之间的以下联调场景:所述目标***的***异常、所述目标***的超时异常、所述目标***所执行的目标业务的业务异常、所述目标业务的超时异常、联调成功。
3.根据权利要求1所述的方法,其特征在于,在所述目标***为一个时,使用所述联调用例测试所述源***和所述目标***包括:
从源***向所述目标***发送调用请求;
确定所述目标***针对所述调用请求的处理结果,其中,所述处理结果包括以下之一:处理成功、***异常、业务异常;
确定所述目标***针对所述处理结果向所述源***的反馈结果,其中,所述反馈结果包括以下之一:反馈成功、反馈超时;
根据所述处理结果和所述反馈结果验证所述联调场景。
4.根据权利要求3所述的方法,其特征在于,确定所述目标***针对所述调用请求的处理结果包括:
判断所述目标***在第一预定时间内是否响应所述调用请求;
在所述目标***在第一预定时间内未响应所述调用请求时,确定所述处理结果为***异常;在所述目标***在第一预定时间内响应所述调用请求,判断所述目标***是否执行目标业务;
在所述目标***未执行目标业务时,确定所述处理结果为业务异常;在所述目标***执行目标业务时,确定所述处理结果为处理成功。
5.根据权利要求3所述的方法,其特征在于,确定所述目标***针对所述处理结果向所述源***的反馈结果包括:
判断所述目标***在第二预定时间内是否向所述源***反馈所述处理结果;
在所述目标***在第二预定时间内未向所述源***反馈所述处理结果时,确定所述反馈结果为反馈超时;在所述目标***在第二预定时间内向所述源***反馈所述处理结果时,确定所述反馈结果为反馈成功。
6.根据权利要求3所述的方法,其特征在于,在所述目标***设置有多个目标业务时,确定所述目标***针对所述调用请求的处理结果包括:
在所述目标***在第一预定时间内响应所述调用请求,且按照预设时序执行所述多个目标业务时,确定所述处理结果为处理成功;在所述目标***在第一预定时间内响应所述调用请求,且按照预设时序未执行所述多个目标业务中的任一目标业务异常时,确定所述处理结果为业务异常。
7.根据权利要求1所述的方法,其特征在于,在所述目标***为多个时,使用所述联调用例测试所述源***和所述目标***包括:
从源***向第一目标***发送调用请求;
确定所述第一目标***针对所述调用请求的处理结果,其中,所述处理结果包括以下之一:处理成功、***异常、业务异常;
确定所述第一目标***针对所述处理结果向所述源***的反馈结果,其中,所述反馈结果包括以下之一:反馈成功、反馈超时;
在所述反馈结果为反馈成功时,从源***向第二目标***发送调用请求,并确定第二目标***的处理结果和反馈结果,直到遍历完所有的目标***。
8.一种软件的联调装置,其特征在于,包括:
接收模块,用于接收源***与目标***之间的联调请求,其中,所述源***和所述目标***均为测试软件的子***;
确定模块,用于确定所述源***与所述目标***之间的联调用例,其中,所述联调用例包括按照联调时序排列的多个联调场景;
测试模块,用于使用所述联调用例测试所述源***和所述目标***。
9.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行权利要求1至7任一项中所述的方法。
10.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行权利要求1至7任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910281571.XA CN110162455A (zh) | 2019-04-09 | 2019-04-09 | 软件的联调方法及装置、存储介质、电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910281571.XA CN110162455A (zh) | 2019-04-09 | 2019-04-09 | 软件的联调方法及装置、存储介质、电子装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110162455A true CN110162455A (zh) | 2019-08-23 |
Family
ID=67639166
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910281571.XA Pending CN110162455A (zh) | 2019-04-09 | 2019-04-09 | 软件的联调方法及装置、存储介质、电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110162455A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111611168A (zh) * | 2020-05-22 | 2020-09-01 | 北京百度网讯科技有限公司 | 联调测试方法、装置及*** |
CN112783788A (zh) * | 2021-02-05 | 2021-05-11 | 北京同邦卓益科技有限公司 | 测试***、方法、电子设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106406826A (zh) * | 2015-07-27 | 2017-02-15 | 阿里巴巴集团控股有限公司 | 联调任务创建、***联调方法及装置 |
CN107367657A (zh) * | 2017-08-28 | 2017-11-21 | 广东电网有限责任公司电力科学研究院 | 一种配网自动化***集成测试方法及装置 |
CN108664385A (zh) * | 2017-03-29 | 2018-10-16 | 华为技术有限公司 | 一种应用程序编程接口的测试方法及装置 |
CN109062807A (zh) * | 2018-09-14 | 2018-12-21 | 口碑(上海)信息技术有限公司 | 测试应用程序的方法及装置、存储介质、电子装置 |
CN109240908A (zh) * | 2018-08-01 | 2019-01-18 | 口碑(上海)信息技术有限公司 | 异常测试用例模板创建方法及装置 |
CN109558313A (zh) * | 2018-11-09 | 2019-04-02 | 口碑(上海)信息技术有限公司 | 构建异常测试场景的方法及装置 |
-
2019
- 2019-04-09 CN CN201910281571.XA patent/CN110162455A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106406826A (zh) * | 2015-07-27 | 2017-02-15 | 阿里巴巴集团控股有限公司 | 联调任务创建、***联调方法及装置 |
CN108664385A (zh) * | 2017-03-29 | 2018-10-16 | 华为技术有限公司 | 一种应用程序编程接口的测试方法及装置 |
CN107367657A (zh) * | 2017-08-28 | 2017-11-21 | 广东电网有限责任公司电力科学研究院 | 一种配网自动化***集成测试方法及装置 |
CN109240908A (zh) * | 2018-08-01 | 2019-01-18 | 口碑(上海)信息技术有限公司 | 异常测试用例模板创建方法及装置 |
CN109062807A (zh) * | 2018-09-14 | 2018-12-21 | 口碑(上海)信息技术有限公司 | 测试应用程序的方法及装置、存储介质、电子装置 |
CN109558313A (zh) * | 2018-11-09 | 2019-04-02 | 口碑(上海)信息技术有限公司 | 构建异常测试场景的方法及装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111611168A (zh) * | 2020-05-22 | 2020-09-01 | 北京百度网讯科技有限公司 | 联调测试方法、装置及*** |
CN112783788A (zh) * | 2021-02-05 | 2021-05-11 | 北京同邦卓益科技有限公司 | 测试***、方法、电子设备及存储介质 |
CN112783788B (zh) * | 2021-02-05 | 2023-12-05 | 北京同邦卓益科技有限公司 | 测试***、方法、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104978263B (zh) | 一种移动端应用程序测试方法及*** | |
CN109376088B (zh) | 一种自动化测试***及自动化测试方法 | |
CN109522218A (zh) | 接口测试方法、装置、计算机设备和存储介质 | |
CN104461897B (zh) | 一种应用程序测试的方法和设备 | |
CN110032511A (zh) | 一种接口测试方法及接口测试设备 | |
CN107770269B (zh) | 一种服务响应方法及其终端 | |
CN106156133B (zh) | 控制表单重复提交的方法、装置及*** | |
CN104581785B (zh) | 无线网络测试方法、测试装置和移动终端 | |
CN104702468B (zh) | 确定传输路径的方法、设备和*** | |
US7296190B2 (en) | Parallel text execution on low-end emulators and devices | |
CN106407101A (zh) | 基于lxc的持续集成方法及装置 | |
CN110162455A (zh) | 软件的联调方法及装置、存储介质、电子装置 | |
CN110493812A (zh) | 配网测试的处理方法、装置、***、处理器及主控设备 | |
CN110224897B (zh) | 应用程序的弱网络测试方法、装置、移动设备及存储介质 | |
CN110032507A (zh) | 应用程序测试方法、装置、***、电子设备及存储介质 | |
CN110196800A (zh) | 分布式事务测试方法、装置及*** | |
CN109358880A (zh) | 一种通用网关配置方法及装置 | |
CN109240908A (zh) | 异常测试用例模板创建方法及装置 | |
CA3129986A1 (en) | Network testing method and device | |
CN107122307B (zh) | 一种物联网执行*** | |
CN108958785A (zh) | 一种应用程序升级方法及装置 | |
CN111698281B (zh) | 一种资源下载方法、装置、电子设备及存储介质 | |
CN112388625B (zh) | 任务的下发方法及装置、任务的执行方法及装置 | |
CN111104331A (zh) | 软件管理方法、终端设备及计算机可读存储介质 | |
CN110233842A (zh) | 一种请求的校验方法和相关装置 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190823 |