CN113568824A - 通知服务测试方法、装置、电子设备及存储介质 - Google Patents
通知服务测试方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN113568824A CN113568824A CN202110076883.4A CN202110076883A CN113568824A CN 113568824 A CN113568824 A CN 113568824A CN 202110076883 A CN202110076883 A CN 202110076883A CN 113568824 A CN113568824 A CN 113568824A
- Authority
- CN
- China
- Prior art keywords
- service
- notification
- execution result
- tested
- consumer
- 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
- 238000010998 test method Methods 0.000 title description 5
- 238000012360 testing method Methods 0.000 claims abstract description 97
- 238000000034 method Methods 0.000 claims description 32
- 238000012795 verification Methods 0.000 claims description 19
- 238000012545 processing Methods 0.000 abstract description 8
- 238000010586 diagram Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000013475 authorization Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
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/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- 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/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Databases & Information Systems (AREA)
- Quality & Reliability (AREA)
- General Health & Medical Sciences (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Data Mining & Analysis (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请公开了通知服务测试方法、装置、电子设备及存储介质,创建与待测试通知服务对应的虚拟服务消费方,该虚拟服务消费方与真实的服务消费的处理逻辑相同。当服务提供方执行完相应的服务任务后产生服务执行结果通知,并调用待测试通知服务反馈给虚拟服务消费方;虚拟服务消费方校验接收到的服务执行结果通知是否正确,从而得到待测试通知服务的测试结果;如果服务执行结果通知正确,则待测试通知服务正确,如果服务执行结果通知不正确,则待测试通知服务不正确。该方案通过虚拟服务消费方接收并验证待测试通知服务发送的服务执行结果通知,实现通知服务的自动化测试,不需要人工对服务执行结果通知进行检查,因此,提高了测试准确率和测试效率。
Description
技术领域
本申请涉及测试技术领域,尤其涉及通知服务测试方法、装置、电子设备及存储介质。
背景技术
在面向服务的架构体系中,一个应用由一系列相互独立的服务组成,这些服务的开发和部署都没有依赖。服务开发完成后,需要对服务的功能进行测试以便对整个应用系统的功能进行测试。
服务提供方(Service Provider)是指对外提供请求的服务或应用,服务消费方(Service Consumer)是指调用该服务的下游应用。在一种场景中,服务消费方请求服务提供方执行某种服务任务,服务提供方执行完该服务任务后,通常会通过通知服务向服务消费方反馈任务执行结果,例如,该通知服务可以是回调服务。
相关技术中的对通知服务的测试通常是开发人员查询相应的日志信息,再人工对比数据的正确性,人工检查方式的可靠性低,容易出现漏检的情况。而且,当服务修改后,开发人员需要再次进行人工检查,需要进行大量的重复性工作,即,此种人工检查通知服务的测试方式存在可靠性低、效率低的问题。
发明内容
有鉴于此,本申请提供了一种通知服务测试方法、装置、电子设备及存储介质,以提高通知服务测试的准确性及测试效率。
为实现上述目的,一方面,本申请提供了一种通知服务测试方法,包括:
虚拟服务消费方接收待测试通知服务发送的服务执行结果通知,其中,所述虚拟服务消费方根据与所述待测试服务对应的服务消费方创建得到,所述服务执行结果通知是服务提供方执行服务任务后产生,并调用所述待测试通知服务发送至所述虚拟服务消费方;
所述虚拟服务消费方校验所述服务执行结果通知是否正确,得到所述待测试通知服务的测试结果。
在第一方面一种可能的实现方式中,所述虚拟服务消费方校验所述服务执行结果通知是否正确,得到所述待测试通知服务的测试结果,包括:
所述虚拟服务消费方从所述服务提供方获取与所述服务执行结果通知相匹配的正确服务执行结果;
当所述服务执行结果通知包含的内容与所述正确服务执行结果中的内容完全一致时,确定所述待测试通知服务正确;
当所述服务执行结果通知中的内容与所述正确服务执行结果中的内容不一致时,确定所述待测试通知服务不正确。
在第一方面另一种可能的实现方式中,所述虚拟服务消费方校验所述服务执行结果通知是否正确,得到所述待测试通知服务的测试结果,还包括:
所述虚拟服务消费方对所述服务执行结果通知中的数字签名进行验证;
当验证所述数字签名正确后,执行所述虚拟服务消费方从所述服务提供方获取与所述服务执行结果通知相匹配的正确服务执行结果。
在第一方面又一种可能的实现方式中,所述虚拟服务消费方对所述服务执行结果通知中的数字签名进行验证,包括:
所述虚拟服务消费方利用目标加密算法对所述服务执行结果中的数据进行加密,生成数字签名;
对比生成的数字签名与所述服务执行结果通知中的数字签名是否一致;
如果一致,确定所述服务执行结果通知中的数字签名正确;
如果不一致,确定所述服务执行结果通知中的数字签名不正确。
在第一方面再一种可能的实现方式中,所述虚拟服务消费方校验所述服务执行结果通知是否正确,得到所述待测试通知服务的测试结果,还包括:
当验证所述服务执行结果通知中的数字签名不正确后,确定所述待测试通知服务不正确。
在第一方面另一种可能的实现方式中,所述方法还包括:
所述虚拟服务消费方存储所述服务执行结果通知及所述服务执行结果的校验结果。
在第一方面又一种可能的实现方式中,所述方法还包括:
根据所述待测试通知服务所要通知的服务消费方的服务程序,创建所述服务消费方的虚拟对象;
根据所述服务消费方的通知地址配置所述虚拟对象的地址,获得所述虚拟服务消费方。
第二方面,本申请还提供了一种通知服务测试装置,包括:
通知接收模块,用于接收待测试通知服务发送的服务执行结果通知,其中,所述虚拟服务消费方根据与所述待测试服务对应的服务消费方创建得到,所述服务执行结果通知是服务提供方执行服务任务后产生,并调用所述待测试通知服务发送至所述虚拟服务消费方;
通知校验模块,用于校验所述服务执行结果通知是否正确,得到所述待测试通知服务的测试结果。
第三方面,本申请还提供了一种电子设备,包括:
处理器和存储器;
其中,所述处理器用于执行所述存储器中存储的程序;
所述存储器用于存储程序,所述程序至少用于:
虚拟服务消费方接收待测试通知服务发送的服务执行结果通知,其中,所述虚拟服务消费方根据与所述待测试服务对应的服务消费方创建得到,所述服务执行结果通知是服务提供方执行服务任务后产生,并调用所述待测试通知服务发送至所述虚拟服务消费方;
所述虚拟服务消费方校验所述服务执行结果通知是否正确,得到所述待测试通知服务的测试结果。
第四方面,本申请还提供了一种存储介质,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如上第一方面任一项所述的通知服务测试方法。
第五方面,本申请还提供了一种计算机程序产品,当所述计算机程序产品在电子设备上执行时,适于执行初始化有第一方面任一种可能的实现方式所述的通知服务测试方法。
本申请提供的通知服务测试方法,创建与待测试通知服务对应的虚拟服务消费方,该虚拟服务消费方与真实的服务消费的处理逻辑相同。当服务提供方执行完相应的服务任务后产生服务执行结果通知,并调用待测试通知服务反馈给虚拟服务消费方;虚拟服务消费方校验接收到的服务执行结果通知是否正确,从而得到待测试通知服务的测试结果。由上述内容可知,该方案通过创建虚拟服务消费方接收待测试通知服务发送的服务执行结果通知,并验证该服务执行结果通知的正确性,如果虚拟服务消费方接收的服务执行结果通知正确,则表明待测试通知服务正确,如果虚拟服务消费方接收的服务执行结果通知不正确,则表明待测试通知服务不正确。该方案不需要人工对服务执行结果通知进行检查,提高了测试准确率和测试效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1示出了本申请实施例提供的一种通知服务测试系统的结构示意图;
图2示出了本申请实施例提供的一种通知服务测试方法的流程图;
图3示出了本申请实施例提供的另一种通知服务测试方法的流程图;
图4示出了本申请实施例提供的一种回调服务测试系统的结构示意图;
图5示出了本申请实施例提供的一种回调服务测试方法的流程图;
图6示出了本申请实施例提供的一种通知服务测试装置的结构示意图;
图7示出了本申请实施例提供的一种通知校验模块的结构示意图;
图8示出了本申请实施例提供的另一种通知校验模块的结构示意图;
图9示出了本申请实施例提供的另一种通知服务测试装置的结构示意图;
图10示出了本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
请参见图1,示出了本申请实施例提供的一种通知服务测试系统的结构示意图,该系统包括服务提供方系统和虚拟服务消费方系统。
如图1所示,服务提供方系统包括业务服务和待测试通知服务,业务服务用于接收外部的业务请求,并调用待测试通知服务将服务执行结果反馈给虚拟服务消费方。
Mock测试是指在测试过程中,对于某些不容易构造或者不容易获取的对象,用一个虚拟的对象来创建以便测试。
基于Mock测试的思想,根据真实服务消费方的处理逻辑创建服务消费方对应的虚拟对象,即虚拟服务消费方,利用虚拟服务消费方模拟真实服务消费方与服务提供方进行交互,虚拟服务消费方向服务提供方的业务服务发送服务请求,业务服务响应该请求执行相应的服务任务,并生成服务执行结果通知。业务服务调用待测试通知服务将服务执行结果通知反馈至虚拟服务消费方。
虚拟服务消费方通过校验待测试通知服务发送的服务执行结果通知的正确性,获得待测试通知服务的测试结果。
下面将结合图2详细介绍通知服务的测试方法,如图2所示,本申请提供的一种通知服务的测试方法可以包括以下步骤:
S110,虚拟服务消费方接收待测试通知服务发送的服务执行结果通知。
其中,虚拟服务消费方根据与所述待测试服务对应的服务消费方创建得到。
服务执行结果通知是服务提供方执行服务任务后产生,并调用待测试通知服务发送至所述虚拟服务消费方。
其中,上述的服务任务是指虚拟服务消费方向服务提供方发出的业务服务请求,业务服务是指服务提供方对外提供的服务。
S120,虚拟服务消费方校验所述服务执行结果通知是否正确,得到待测试通知服务的测试结果。
虚拟服务消费方从服务提供方获取与该服务执行结果通知相匹配的正确服务执行结果,并根据正确服务执行结果验证服务执行结果通知是否正确,如果服务执行结果通知正确,表明待测试通知服务正确;如果服务执行结果通知不正确,表明待测试通知服务不正确。
在本申请的一个实施例中,可以根据服务提供方执行所执行的服务任务的信息(例如,服务任务对应的唯一标识),从服务提供方的数据库中查询与该信息相匹配的服务执行结果作为正确服务执行结果。
本实施提供的通知服务的测试方法,通过创建虚拟服务消费方接收待测试通知服务发送的服务执行结果通知,并验证该服务执行结果通知的正确性,如果虚拟服务消费方接收的服务执行结果通知正确,则表明待测试通知服务正确,如果虚拟服务消费方接收的服务执行结果通知不正确,则表明待测试通知服务不正确。该方案不需要人工对服务执行结果通知进行检查,提高了测试准确率和测试效率。此外,当通知服务的接口变更后,通过校验变更前后数据是否正确来验证改动点的可靠性,从而保证接口变更的可靠性。
该方案还能实现通知服务接口的自动化测试,当通知服务的接口发生变更后,
请参见图3,示出了本申请实施例提供的另一种通知服务测试方法的流程图,本实施例将详细说明虚拟服务消费方校验服务执行结果通知的过程,如图3所示,该方法可以包括以下步骤:
S210,服务提供方响应虚拟服务消费方发送的服务请求,执行服务任务得到相应的服务执行结果并存储。
在本申请的实施例中,服务提供方响应虚拟服务消费方发送的服务请求后得到的服务执行结果,会存储在服务提供方对应的数据库中。例如,该数据库可以采用键值对(Key-Value)方式存储数据,如服务执行结果中的各字段名存储为键(即,关键字),各字段对应的具体内容存储为值,采用Key-Value方式存储数据方便读取服务执行结果中各个字段对应的具体内容。
S220,服务提供方根据服务执行结果生成相应的服务执行结果通知,并调用待测试通知服务将服务执行结果通知发送至虚拟服务消费方。
S230,虚拟服务消费方对服务执行结果通知中的数字签名进行验证;如果验证数字签名正确,则执行S240;如果验证数字签名不正确,则执行S270。
在一种应用场景中,服务提供方利用加密算法对服务执行结果通知中添加了数字签名。数字签名是信息发送方产生的其他人无法伪造的一段数字串,这段数字串同时也是对信息发送方的身份真实性的一个有效校验。此种应用场景中,虚拟服务消费方需要对服务执行通知中的数字签名进行验证,以验证服务提供方的签名逻辑是否与预期一致,以及验证服务执行结果通知中的内容是否被篡改。
虚拟服务消费方利用与服务提供方相同的加密算法对服务执行结果通知中的字段进行加密,得到一个数字签名。然后,将生成的数字签名与服务执行结果通知中的数字签名进行对比。
如果两个数字签名相同,确定服务执行结果通知中的数字签名正确,并继续验证服务执行结果通知中的内容是否准确;如果两个数字签名不同,确定服务执行结果中的数字签名不正确,进而确定待测试通知服务不正确。
在创建虚拟服务消费方时,按照服务提供方使用的加密算法搭建虚拟服务消费方的加密处理逻辑,针对不同的加密算法,虚拟服务消费方有不同的处理策略。
例如,对于对称加密算法(如MD5),服务提供方使用指定的加密密钥进行加密,虚拟服务消费方在验证数字签名时,也使用同样的加密密钥进行加密,虚拟服务消费方判断自己生成的数字签名与服务执行结果通知中的数字签名是否一致。
对于非对称加密算法,服务提供方会使用平台证书的私钥进行加密,得到数字签名,虚拟服务消费方使用平台证书中的公钥验证服务执行结果通知中的数字签名是否正确。此种情况下,要确保虚拟服务消费方能够获取验签需要的证书和密钥。
S240,虚拟服务消费方调用服务提供方的查询接口查询获得与服务执行结果通知相匹配的正确服务执行结果。
服务提供方向虚拟服务消费方提供查询接口,虚拟服务消费方通过该查询接口查询得到与服务执行结果通知中的参数相匹配的服务执行结果,即正确服务执行结果。
S250,虚拟服务消费方比较服务执行结果通知中内容与正确服务执行结果的内容是否完全一致;如果完全一致,则执行S260;如果不完全一致,则执行S270。
虚拟服务消费方将从服务提供方查询得到的服务执行结果后,将该服务执行结果与接收到的服务执行结果通知进行对比,从而校验待测试服务发来的服务执行结果通知的内容是否正确。
虚拟服务消费方逐个字段比较正确服务执行结果中的字段内容与接收到的服务执行结果通知中的字段内容是否一致,如果两个服务执行结果中所有字段的内容都一致,则确定服务执行结果通知正确,进而确定待测试通知服务正确;如果两个服务执行结果中存在任一字段的内容不一致,则确定服务执行结果通知不正确,进而确定待测试通知服务不正确。
S260,确定待测试通知服务正确。
S270,确定待测试通知服务不正确。
在本申请的一个优选实施例中,如图3所示,该方法还可以包括S280。
S280,虚拟服务消费方存储服务执行结果通知及校验结果。
虚拟服务消费方会将服务执行结果的校验结果存储到虚拟服务消费方对应的数据库中,以便与已有的集成测试框架相结合。
例如,与服务提供方的整个业务服务对应的集成测试用例,当服务提供方运行完相应的业务服务后,会向虚拟服务消费方发送服务执行结果通知,该集成测试用例就可以通过查询存储在虚拟服务消费方的数据库中存储的校验结果,确定服务提供方是否发送服务执行结果通知给服务消费方,并且发送的服务执行结果是否正确,以此实现整个服务提供方的自动化测试用例覆盖,提高了测试效率。
其中,集成测试是针对面向服务的架构(SOA)体系结构中的服务或接口进行的测试。测试用例是集成测试的材料,是一种可执行的代码文件,记录某次测试的具体输入参数,以及预期的输出结果。
此外,虚拟服务消费方对应的数据库可以采用与服务提供方相同的数据库。当然,在其他实施例中,虚拟服务消费方也可以采用与服务提供方不同的数据库。
本实施例提供的通知服务测试方法,虚拟服务消费方先对服务执行结果通知中的数字签名进行校验,从而验证服务提供方的签名逻辑是否与预期一致。数字签名验证通过后,从服务提供方中查询与该服务执行结果通知的参数相匹配的正确服务执行结果,并基于该正确服务执行结果验证服务执行结果通知是否正确,以此验证待测试通知服务是否正确。利用该方案能够实现对待测试通知服务的自动测试,无需人工检查,因此提高了通知服务的测试效率和测试准确率。此外,虚拟服务消费方还将服务执行结果通知的校验结果存储到虚拟服务消费方对应的数据库中,以便已有的服务提供方的集成测试用例直接使用该校验结果,因此提高了服务提供方的测试效率。
下面将结合一个具体的应用场景详细介绍通知服务测试方法。
请参见图4,示出了本申请实施例提供的一种回调服务测试系统的结构示意图,该系统包括支付系统和Mock商户系统。其中,支付系统为服务提供方系统,Mock商户系统为服务消费方的虚拟对象,即利用Mock服务模拟商户系统。
本应用场景中,支付系统的用户在客户端进行委托商户代扣授权的签约后,商户可以直接从该用户的账户中扣款,无需用户进行支付操作。
支付系统中部署有签约服务和回调服务,签约服务用于完成用户的代扣签约请求,回调服务用于将签约结果通知给商户系统。
下面将结合图5详细说明支付系统中的回调服务的测试流程:
S310,用户在支付系统的操作界面上选择授权商户代扣,商户系统向支付系统发送代扣签约请求。
S320,支付系统内部的签约服务处理代扣签约请求,校验用户签约的权限,校验通过后,根据权限模板信息生成签约协议,并保存协议信息到支付系统的数据库store中,完成代扣签约流程。
S330,签约服务根据Mock服务的回调地址,对Mock服务发起回调通知,该回调通知中包含签约结果的信息。
Mock服务的回调地址可以根据回调服务对回调地址的安全性要求设计,例如,回调服务对回调地址的安全性要求较高,严格要求是HTTPS地址,此种应用场景下,Mock服务需要搭建HTTPS服务,申请对应的域名和证书,保证HTTPS服务可用。
HTTPS是以安全为目标的HTTP通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性。
支付系统对Mock服务发起回调通知后,如果收到Mock服务的应答不符合规范或超时,则认为通知失败,然后,按照一定策略定期重新发起回调通知。因此,通过Mock服务,可以模拟向商户通知成功和通知失败的两种情况。
S340,Mock服务收到支付系统的回调通知后,验证回调通知中的数字签名是否正确;如果数字签名正确,则执行S350;如果数字签名不正确,则执行S370。
通过验证回调通知中的数字签名来验证签约服务中的签名逻辑是否与预期一致,同时,还能验证回调服务的接口是否有改动。
S350,Mock服务按照回调通知中的参数,从支付系统的数据库中查询相应签约服务对应的签约结果,并逐字段比较该签约结果中的内容与回调通知中的内容是否一致,如果各字段完全一致,则执行S360;如果存在至少一个字段不一致,则执行S370。
S360,确定回调服务正确。
S370,确定回调服务不正确。
S380,Mock服务存储回调通知的校验结果。
Mock服务得到回调通知的校验结果后,将该校验结果存储至Mock服务的数据库mock_store中,以便与已有的集成测试框架相结合。
例如,签约服务的集成测试用例,在运行完签约服务的正常流程后,会发送签约通知给商户,签约服务的集成测试用例通过查询存储在Mock_store中的校验结果,确认签约服务是否发送签约通知(即,回调通知)给商户,且回调通知中的数据是否正确,以此实现整个签约流程的自动化测试用例覆盖。
本实施例提供的回调服务测试方法,Mock服务对回调通知的数字签名进行校验,从而验证签约服务的签名逻辑是否与预期一致。数字签名验证通过后,继续验证回调通知中的内容是否正确,从而验证回调服务是否与预期一致。由上述内容可知,该方案实现了回调服务的自动化测试,与人工检查数据的测试方式相比,该方案提供了回调服务的测试效率和准确率。此外,Mock服务还存储了签约结果的校验结果,以便签约服务的已有集成测试用例直接使用该校验结果,进而提高了签约服务的测试效率。
相应于上述的回调服务测试方法实施例,本申请还提供了回调服务测试装置实施例。
请参见图6,示出了本申请实施例提供的一种回调服务测试装置的结构示意图,该装置应用于部署有Mock服务的设备中,如图6所示,该装置包括:
通知接收模块110,用于接收待测试通知服务发送的服务执行结果通知。
其中,虚拟服务消费方根据与所述待测试服务对应的服务消费方创建得到,所述服务执行结果通知是服务提供方执行服务任务后产生,并调用所述待测试通知服务发送至所述虚拟服务消费方。
通知校验模块120,用于校验服务执行结果通知是否正确,得到待测试通知服务的测试结果。
在本申请的一个实施例中,如图7所示,通知校验模块120包括:
查询子模块121,用于从服务提供方获取与所述服务执行结果通知相匹配的正确服务执行结果。
比较子模块122,用于比较服务执行结果通知与正确服务执行结果是否完全一致。
第一确定子模块123,用于当服务执行结果通知包含的内容与所述正确服务执行结果中的内容完全一致时,确定所述待测试通知服务正确。
第二确定子模块124,用于当服务执行结果通知中的内容与所述正确服务执行结果中的内容不一致时,确定所述待测试通知服务不正确。
在本申请的另一个实施例中,如图8所示,通知校验模块120还包括:
验签子模块125,用于对所述服务执行结果通知中的数字签名进行验证,当验证正确后,触发所述查询子模块121执行相应的步骤。
在本申请的一个实施例中,验签子模块125具体用于:
利用目标加密算法对所述服务执行结果中的数据进行加密,生成数字签名;对比生成的数字签名与所述服务执行结果通知中的数字签名是否一致;如果一致,确定所述服务执行结果通知中的数字签名正确;如果不一致,确定所述服务执行结果通知中的数字签名不正确,此种情况下,确定待测试通知服务不正确。
在本申请的一个实施例中,如图9所示,该装置还包括虚拟服务创建模块210。
虚拟服务创建模块210,用于根据所述待测试通知服务所要通知的服务消费方的服务程序,创建所述服务消费方的虚拟对象,并根据服务消费方的通知地址配置虚拟对象的地址,获得虚拟服务消费方。
本实施例提供的通知服务测试装置,创建与待测试通知服务对应的虚拟服务消费方,该虚拟服务消费方与真实的服务消费的处理逻辑相同。当服务提供方执行完相应的服务任务后产生服务执行结果通知,并调用待测试通知服务反馈给虚拟服务消费方;虚拟服务消费方校验接收到的服务执行结果通知是否正确,从而得到待测试通知服务的测试结果。由上述内容可知,该方案通过创建虚拟服务消费方接收待测试通知服务发送的服务执行结果通知,并验证该服务执行结果通知的正确性,如果虚拟服务消费方接收的服务执行结果通知正确,则表明待测试通知服务正确,如果虚拟服务消费方接收的服务执行结果通知不正确,则表明待测试通知服务不正确。该方案不需要人工对服务执行结果通知进行检查,提高了测试准确率和测试效率。
另一方面,本申请还提供了一种电子设备,如参见图10,其示出了本申请的电子设备的一种组成结构示意图,该电子设备可以是服务器、PC机等设备。其中,服务器可以是单台服务,或者多台服务器组成的而服务器集群。
本实施例的电子设备可以包括:处理器310和存储器320。
可选的,该电子设备还可以包括通信接口330、输入单元340和显示器350和通信总线360。
处理器310、存储器320、通信接口330、输入单元340、显示器350、均通过通信总线360完成相互间的通信。
在本申请实施例中,该处理器310,可以为中央处理器(Central ProcessingUnit,CPU),特定应用集成电路,数字信号处理器、现成可编程门阵列或者其他可编程逻辑器件等。
该处理器可以调用存储器320中存储的程序。具体的,处理器可以执行以下消息发送方法的实施例中应用服务器侧所执行的操作。
存储器320中用于存放一个或者一个以上程序,程序可以包括程序代码,所述程序代码包括计算机操作指令,在本申请实施例中,该存储器中至少存储有用于实现以下功能的程序:
虚拟服务消费方接收待测试通知服务发送的服务执行结果通知,其中,所述虚拟服务消费方根据与所述待测试服务对应的服务消费方创建得到,所述服务执行结果通知是服务提供方执行服务任务后产生,并调用所述待测试通知服务发送至所述虚拟服务消费方;
所述虚拟服务消费方校验所述服务执行结果通知是否正确,得到所述待测试通知服务的测试结果。
在一种可能的实现方式中,所述虚拟服务消费方校验所述服务执行结果通知是否正确,得到所述待测试通知服务的测试结果,包括:
所述虚拟服务消费方从所述服务提供方获取与所述服务执行结果通知相匹配的正确服务执行结果;
当所述服务执行结果通知包含的内容与所述正确服务执行结果中的内容完全一致时,确定所述待测试通知服务正确;
当所述服务执行结果通知中的内容与所述正确服务执行结果中的内容不一致时,确定所述待测试通知服务不正确。
在另一种可能的实现方式中,所述虚拟服务消费方校验所述服务执行结果通知是否正确,得到所述待测试通知服务的测试结果,还包括:
所述虚拟服务消费方对所述服务执行结果通知中的数字签名进行验证;
当验证所述数字签名正确后,执行所述虚拟服务消费方从所述服务提供方获取与所述服务执行结果通知相匹配的正确服务执行结果。
在又一种可能的实现方式中,所述虚拟服务消费方对所述服务执行结果通知中的数字签名进行验证,包括:
所述虚拟服务消费方利用目标加密算法对所述服务执行结果中的数据进行加密,生成数字签名;
对比生成的数字签名与所述服务执行结果通知中的数字签名是否一致;
如果一致,确定所述服务执行结果通知中的数字签名正确;
如果不一致,确定所述服务执行结果通知中的数字签名不正确。
在另一种可能的实现方式中,所述虚拟服务消费方校验所述服务执行结果通知是否正确,得到所述待测试通知服务的测试结果,还包括:
当验证所述服务执行结果通知中的数字签名不正确后,确定所述待测试通知服务不正确。
在又一种可能的实现方式中,所述方法还包括:
所述虚拟服务消费方存储所述服务执行结果通知及所述服务执行结果的校验结果。
在另一种可能的实现方式中,所述方法还包括:
根据所述待测试通知服务所要通知的服务消费方的服务程序,创建所述服务消费方的虚拟对象;
根据所述服务消费方的通知地址配置所述虚拟对象的地址,获得所述虚拟服务消费方。
在一种可能的实现方式中,该存储器320可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、以及至少一个功能(比如图像播放功能等)所需的应用程序等;存储数据区可存储根据计算机的使用过程中所创建的数据,比如,用户数据及图像数据等等。
此外,存储器320可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件或其他易失性固态存储器件。
该通信接口330可以为通信模块的接口,如GSM模块的接口。
本申请还可以包括显示器340和输入单元350等等。
当然,图10所示的电子设备的结构并不构成对本申请实施例中电子设备的限定,在实际应用中电子设备可以包括比图10所示的更多或更少的部件,或者组合某些部件。
另一方面,本申请实施例还提供了一种存储介质,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如上任意一个实施例中虚拟服务消费方所执行的通知服务测试方法。
又一方面,本申请实施例还提供了一种计算机程序产品,当该计算机程序产品在电子设备上执行时,适于执行初始化有如上任意一个实施例中虚拟服务消费方所执行的通知服务测试方法。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
以上仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种通知服务测试方法,其特征在于,包括:
虚拟服务消费方接收待测试通知服务发送的服务执行结果通知,其中,所述虚拟服务消费方根据与所述待测试服务对应的服务消费方创建得到,所述服务执行结果通知是服务提供方执行服务任务后产生,并调用所述待测试通知服务发送至所述虚拟服务消费方;
所述虚拟服务消费方校验所述服务执行结果通知是否正确,得到所述待测试通知服务的测试结果。
2.根据权利要求1所述的方法,其特征在于,所述虚拟服务消费方校验所述服务执行结果通知是否正确,得到所述待测试通知服务的测试结果,包括:
所述虚拟服务消费方从所述服务提供方获取与所述服务执行结果通知相匹配的正确服务执行结果;
当所述服务执行结果通知包含的内容与所述正确服务执行结果中的内容完全一致时,确定所述待测试通知服务正确;
当所述服务执行结果通知中的内容与所述正确服务执行结果中的内容不一致时,确定所述待测试通知服务不正确。
3.根据权利要求2所述的方法,其特征在于,所述虚拟服务消费方校验所述服务执行结果通知是否正确,得到所述待测试通知服务的测试结果,还包括:
所述虚拟服务消费方对所述服务执行结果通知中的数字签名进行验证;
当验证所述数字签名正确后,执行所述虚拟服务消费方从所述服务提供方获取与所述服务执行结果通知相匹配的正确服务执行结果。
4.根据权利要求3所述的方法,其特征在于,所述虚拟服务消费方对所述服务执行结果通知中的数字签名进行验证,包括:
所述虚拟服务消费方利用目标加密算法对所述服务执行结果中的数据进行加密,生成数字签名;
对比生成的数字签名与所述服务执行结果通知中的数字签名是否一致;
如果一致,确定所述服务执行结果通知中的数字签名正确;
如果不一致,确定所述服务执行结果通知中的数字签名不正确。
5.根据权利要求3或4所述的方法,其特征在于,所述虚拟服务消费方校验所述服务执行结果通知是否正确,得到所述待测试通知服务的测试结果,还包括:
当验证所述服务执行结果通知中的数字签名不正确后,确定所述待测试通知服务不正确。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述虚拟服务消费方存储所述服务执行结果通知及所述服务执行结果的校验结果。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据所述待测试通知服务所要通知的服务消费方的服务程序,创建所述服务消费方的虚拟对象;
根据所述服务消费方的通知地址配置所述虚拟对象的地址,获得所述虚拟服务消费方。
8.一种通知服务测试装置,其特征在于,包括:
通知接收模块,用于接收待测试通知服务发送的服务执行结果通知,其中,所述虚拟服务消费方根据与所述待测试服务对应的服务消费方创建得到,所述服务执行结果通知是服务提供方执行服务任务后产生,并调用所述待测试通知服务发送至所述虚拟服务消费方;
通知校验模块,用于校验所述服务执行结果通知是否正确,得到所述待测试通知服务的测试结果。
9.一种电子设备,其特征在于,包括:
处理器和存储器;
其中,所述处理器用于执行所述存储器中存储的程序;
所述存储器用于存储程序,所述程序至少用于:
虚拟服务消费方接收待测试通知服务发送的服务执行结果通知,其中,所述虚拟服务消费方根据与所述待测试服务对应的服务消费方创建得到,所述服务执行结果通知是服务提供方执行服务任务后产生,并调用所述待测试通知服务发送至所述虚拟服务消费方;
所述虚拟服务消费方校验所述服务执行结果通知是否正确,得到所述待测试通知服务的测试结果。
10.一种存储介质,其特征在于,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如上权利要求1至7任一项所述的通知服务测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110076883.4A CN113568824A (zh) | 2021-01-20 | 2021-01-20 | 通知服务测试方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110076883.4A CN113568824A (zh) | 2021-01-20 | 2021-01-20 | 通知服务测试方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113568824A true CN113568824A (zh) | 2021-10-29 |
Family
ID=78160920
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110076883.4A Pending CN113568824A (zh) | 2021-01-20 | 2021-01-20 | 通知服务测试方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113568824A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101192284A (zh) * | 2006-11-28 | 2008-06-04 | 北京握奇数据系统有限公司 | 基于移动设备签名的远程支付方法和系统 |
CN109828924A (zh) * | 2019-01-25 | 2019-05-31 | 网联清算有限公司 | 测试方法、装置和计算设备及介质 |
CN110489343A (zh) * | 2019-07-31 | 2019-11-22 | 广州微算互联信息技术有限公司 | 一种会话服务测试方法、系统、装置及存储介质 |
CN110765024A (zh) * | 2019-10-29 | 2020-02-07 | 百度在线网络技术(北京)有限公司 | 模拟测试方法、装置、电子设备和计算机可读存储介质 |
CN110888800A (zh) * | 2019-10-18 | 2020-03-17 | 平安普惠企业管理有限公司 | 服务交互功能的测试方法、装置、存储介质及测试系统 |
CN111159053A (zh) * | 2020-01-02 | 2020-05-15 | 中国银行股份有限公司 | 一种测试方法、装置及存储介质 |
CN112015660A (zh) * | 2020-09-07 | 2020-12-01 | 北京高途云集教育科技有限公司 | 一种服务测试方法、装置、电子设备及存储介质 |
-
2021
- 2021-01-20 CN CN202110076883.4A patent/CN113568824A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101192284A (zh) * | 2006-11-28 | 2008-06-04 | 北京握奇数据系统有限公司 | 基于移动设备签名的远程支付方法和系统 |
CN109828924A (zh) * | 2019-01-25 | 2019-05-31 | 网联清算有限公司 | 测试方法、装置和计算设备及介质 |
CN110489343A (zh) * | 2019-07-31 | 2019-11-22 | 广州微算互联信息技术有限公司 | 一种会话服务测试方法、系统、装置及存储介质 |
CN110888800A (zh) * | 2019-10-18 | 2020-03-17 | 平安普惠企业管理有限公司 | 服务交互功能的测试方法、装置、存储介质及测试系统 |
CN110765024A (zh) * | 2019-10-29 | 2020-02-07 | 百度在线网络技术(北京)有限公司 | 模拟测试方法、装置、电子设备和计算机可读存储介质 |
CN111159053A (zh) * | 2020-01-02 | 2020-05-15 | 中国银行股份有限公司 | 一种测试方法、装置及存储介质 |
CN112015660A (zh) * | 2020-09-07 | 2020-12-01 | 北京高途云集教育科技有限公司 | 一种服务测试方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2019101613A4 (en) | Method and apparatus for processing transaction requests | |
CN109981679B (zh) | 在区块链网络中执行事务的方法和装置 | |
CN111767578B (zh) | 一种数据检验方法、装置及设备 | |
US9173050B2 (en) | Application store system and development method using the application store system | |
CN109299015B (zh) | 一种软件测试方法、装置及系统 | |
CN112200585B (zh) | 业务处理方法、装置、设备及系统 | |
US11057219B2 (en) | Timestamped license data structure | |
US10656939B2 (en) | Modeling lifetime of hybrid software application using application manifest | |
WO2019141124A1 (zh) | 一种签约方法和装置 | |
CN111639308A (zh) | 一种基于区块链的软件序列号分发验证方法和装置 | |
US11409847B2 (en) | Source-based authentication for a license of a license data structure | |
CN110445768B (zh) | 一种登录方法、装置及电子设备 | |
CN111431908A (zh) | 一种访问处理方法、装置及可读存储介质 | |
CN111079095A (zh) | 一种id生成方法及系统 | |
CN112181599B (zh) | 模型训练方法、装置及存储介质 | |
CN114266680A (zh) | 基于区块链的电子合同签约方法、装置及系统 | |
CN112215593B (zh) | 一种支付方法、装置、服务器及存储介质 | |
US11244031B2 (en) | License data structure including license aggregation | |
CN113542405A (zh) | 基于区块链的网络通信系统、方法、设备及存储介质 | |
CN112291321A (zh) | 业务处理方法、装置及系统 | |
CN108710658B (zh) | 一种数据记录的存储方法及装置 | |
CN113568824A (zh) | 通知服务测试方法、装置、电子设备及存储介质 | |
WO2021121030A1 (zh) | 一种资源转移的方法及结账终端、服务器节点 | |
CN112434347B (zh) | 租赁业务的处理方法、装置、设备及系统 | |
CN113761496A (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 |