CN110908910B - 一种基于区块链的测试监控方法、装置及可读存储介质 - Google Patents

一种基于区块链的测试监控方法、装置及可读存储介质 Download PDF

Info

Publication number
CN110908910B
CN110908910B CN201911166580.0A CN201911166580A CN110908910B CN 110908910 B CN110908910 B CN 110908910B CN 201911166580 A CN201911166580 A CN 201911166580A CN 110908910 B CN110908910 B CN 110908910B
Authority
CN
China
Prior art keywords
test
service
test script
result
monitoring
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.)
Active
Application number
CN201911166580.0A
Other languages
English (en)
Other versions
CN110908910A (zh
Inventor
刘超
鲁四喜
陈金龙
黄桂鸿
王乐庆
阮泽鑫
钟嘉栋
罗慧
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201911166580.0A priority Critical patent/CN110908910B/zh
Publication of CN110908910A publication Critical patent/CN110908910A/zh
Application granted granted Critical
Publication of CN110908910B publication Critical patent/CN110908910B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3051Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请公开了一种基于区块链的测试监控方法、装置以及计算机可读存储介质,该方法包括:确定存证业务对应的测试脚本集,所述测试脚本集包括所述存证业务的所有操作的测试脚本,所述存证业务的信息存储在区块链系统中,所述区块链系统包括N条区块链,所述N条区块链之间存在通信连接,所述N为大于或等于1的整数;按照所述存证业务的操作流程执行所述测试脚本集中的测试脚本,得到测试结果;采集所述测试脚本执行过程中所需数据和执行状态,得到监控数据;根据所述监控数据和所述测试结果确定监控结果。采用本申请,可提高针对存证业务进行监控的效率和时效性。

Description

一种基于区块链的测试监控方法、装置及可读存储介质
技术领域
本发明涉及互联网技术领域,具体涉及一种基于区块链的测试监控方法、装置以及一种计算机存储介质。
背景技术
随着区块链技术的发展,由于其具有不可篡改和可追溯的特性,近年来,通过区块链网络进行电子数据存证的模式逐渐兴起。区块链网络可以实现对电子数据的链上保护,从而可以达到保存电子证据的目的。例如,用户为了保护自己的版权可以将自己的作品提交给区块链网络用于存证。
目前,在实际使用过程中,用户很难发现存证业务是否正常可用。为了解决上述问题,业界引入了对存证业务的监控。目前,采用的监控技术为:通过监控网络质量或者业务进程来实现对存证业务的监控。但是,由于存证业务的程序可能存在故障,无法对外部请求做出及时的响应。此外,由于只有在用户使用存证业务的时候才能监控到存证业务的数据,以致无法及时地监测存证业务。因此,监控效率较低。
发明内容
本申请实施例提供了一种基于区块链的测试监控方法、装置及介质,可以提高监控基于区块链的存证服务的效率。
第一方面,本申请实施例提供了一种基于区块链的测试监控方法,所述监控方法包括:
确定存证业务对应的测试脚本集,所述测试脚本集包括所述存证业务的所有操作的测试脚本,所述存证业务的信息存储在区块链系统中,所述区块链系统包括N条区块链,所述N条区块链之间存在通信连接,所述N为大于或等于1的整数;
按照所述存证业务的操作流程执行所述测试脚本集中的测试脚本,得到测试结果;
采集所述测试脚本执行过程中所需数据和执行状态,得到监控数据;
根据所述监控数据和所述测试结果确定监控结果。
在一种可能的实现方式中,在所述N大于1的情况下,所述测试脚本包括单链测试脚本和多链测试脚本,所述单链测试脚本用于测试一条区块链中操作的脚本,所述多链测试脚本为用于测试多条区块链中的操作的脚本。
在一种可能的实现方式中,所述按照所述存证业务的操作流程执行所述测试脚本集中的测试脚本,得到测试结果包括:
获取第一区块链中区块高度最大的区块的头数据,所述第一区块链为所述区块链系统中的任一区块链;
根据所述头数据获取默克尔树根的哈希值;
在监测到第二区块链查询所述哈希值时,获取查询结果,所述第二区块链为所述区块链系统中除所述第一区块链以外的任一区块链;
将所述查询结果确定为所述多链测试脚本的测试结果。
在一种可能的实现方式中,所述单链测试脚本包括用于查询所述存证业务对应的信息的查询测试脚本,所述查询测试脚本从数据库查询,所述数据库存储有所述区块链系统中区块高度最大的区块包括的数据。
在一种可能的实现方式中,所述按照所述存证业务的操作流程执行所述测试脚本集中的测试脚本,得到测试结果,包括:
在第一测试脚本测试第一操作失败的情况下,获取存储的所述第一操作测试成功时对应的第一测试结果,所述第一操作为所述存证业务的操作流程中除最后一个操作之外的操作中的任一操作;
根据所述第一测试结果执行所述操作流程中与所述第一操作相邻的下一个操作对应的测试脚本,得到第二测试结果。
在一种可能的实现方式中,所述方法还包括:
根据操作重要程度与阈值的对应关系获取第二操作对应的第一阈值;
在第二测试脚本在预设时间段内执行结果为失败的次数大于所述第一阈值的情况下,输出用于提示用户所述第二操作对应的存证业务存在问题的提示信息,所述第二操作为所述存证业务的操作流程中的任一操作,所述第二测试脚本为所述第二操作对应的测试脚本;或者
在第三操作对应的测试脚本执行结果为失败,且所述第三操作对应的业务为特定业务的情况下,输出用于提示用户所述第三操作对应的存证业务存在问题的提示信息,所述第三操作为所述存证业务的操作流程中的任一操作;或者
在第四操作对应的测试脚本执行结果为失败,且所述第四操作对应的失败原因为特定原因的情况下,输出用于提示用户所述第四操作对应的存证业务存在问题的提示信息,所述第四操作为所述存证业务的操作流程中的任一操作;或者
在第一业务包括的操作对应的测试脚本的总执行时间大于第二阈值的情况下,输出用于提示用户所述第一业务对应的存证业务存在问题的提示信息,所述第一业务为所述存证业务的中的任一业务。
在一种可能的实现方式中,所述监控结果包括所述测试脚本集多次执行的监控结果,所述方法还包括:
根据所述监控结果生成监控报告;
输出所述监控报告。
第二方面,本申请实施例提供了一种基于区块链的监控测试装置,所述装置包括:
第一确定单元,用于确定存证业务对应的测试脚本集,所述测试脚本集包括所述存证业务的所有操作的测试脚本,所述存证业务的信息存储在区块链系统中,所述区块链系统包括N条区块链,所述N条区块链之间存在通信连接,所述N为大于或等于1的整数;
执行单元,用于按照所述存证业务的操作流程执行所述测试脚本集中的测试脚本,得到测试结果;
采集单元,用于采集所述测试脚本执行过程中所需数据和执行状态,得到监控数据;
第二确定单元,用于根据所述监控数据和所述测试结果确定监控结果。
在一种可能的实现方式中,在所述N大于1的情况下,所述测试脚本包括单链测试脚本和多链测试脚本,所述单链测试脚本用于测试一条区块链中操作的脚本,所述多链测试脚本为用于测试多条区块链中的操作的脚本。
在一种可能的实现方式中,所述执行单元,具体用于:
获取第一区块链中区块高度最大的区块的头数据,所述第一区块链为所述区块链系统中的任一区块链;
根据所述头数据获取默克尔树根的哈希值;
在监测到第二区块链查询所述哈希值时,获取查询结果,所述第二区块链为所述区块链系统中除所述第一区块链以外的任一区块链;
将所述查询结果确定为所述多链测试脚本的测试结果。
在一种可能的实现方式中,所述单链测试脚本包括用于查询所述存证业务对应的信息的查询测试脚本,所述查询测试脚本从数据库查询,所述数据库存储有所述区块链系统中区块高度最大的区块包括的数据。
在一种可能的实现方式中,所述执行单元,具体用于:
在第一测试脚本测试第一操作失败的情况下,获取存储的所述第一操作测试成功时对应的第一测试结果,所述第一操作为所述存证业务的操作流程中除最后一个操作之外的操作中的任一操作;
根据所述第一测试结果执行所述操作流程中与所述第一操作相邻的下一个操作对应的测试脚本,得到第二测试结果。
在一种可能的实现方式中,所述装置还包括:
获取单元,用于根据操作重要程度与阈值的对应关系获取第二操作对应的第一阈值;
第一输出单元,用于在第二测试脚本在预设时间段内执行结果为失败的次数大于所述第一阈值的情况下,输出用于提示用户所述第二操作对应的存证业务存在问题的提示信息,所述第二操作为所述存证业务的操作流程中的任一操作,所述第二测试脚本为所述第二操作对应的测试脚本;或者
在第三操作对应的测试脚本执行结果为失败,且所述第三操作对应的业务为特定业务的情况下,输出用于提示用户所述第三操作对应的存证业务存在问题的提示信息,所述第三操作为所述存证业务的操作流程中的任一操作;或者
在第四操作对应的测试脚本执行结果为失败,且所述第四操作对应的失败原因为特定原因的情况下,输出用于提示用户所述第四操作对应的存证业务存在问题的提示信息,所述第四操作为所述存证业务的操作流程中的任一操作;或者
在第一业务包括的操作对应的测试脚本的总执行时间大于第二阈值的情况下,输出用于提示用户所述第一业务对应的存证业务存在问题的提示信息,所述第一业务为所述存证业务的中的任一业务。
在一种可能的实现方式中,所述监控结果包括所述测试脚本集多次执行的监控结果,所述装置还包括:
生成单元,用于根据所述监控结果生成监控报告;
第二输出单元,用于输出所述监控报告。
第三方面,本申请实施例提供了一种电子设备,该电子设备包括输出设备、输入设备、处理器、存储器和收发器,该输出设备、输入设备、处理器、存储器和收发器相互连接。该收发器用于接收来自该装置之外的其它装置的信息,以及向该装置之外的其它装置输出信息。该存储器用于存储支持该终端设备执行上述第一方面和/或第一方面任一种可能的实现方式提供的方法的计算机程序,该计算机程序包括程序指令,该处理器被配置用于调用上述程序指令,执行上述第一方面和/或第一方面任一种可能的实施方式所提供的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序包括程序指令,该程序指令当被处理器执行时使该处理器执行上述第一方面和/或第一方面任一种可能的实施方式所提供的方法。
在本申请实施例中,基于区块链的测试监控的电子设备可以确定基于区块链技术的存证业务对应的测试脚本集,其中,存证业务中的存证信息存储在区块链系统中,区块链系统为包含一条或多条区块链的系统,其中若是多条区块链的话,这多条区块链之间存在通信连接,按照用户在使用存证业务的时的操作流程执行测试脚本集中的测试脚本,分别得到多个测试脚本执行的结果,并且通过采集测试脚本在执行过程中的数据以及执行状态的方式,得到监控数据,将根据测试结果和监控数据两方面的数据确定监控结果。由此可见,电子设备确定存证业务对应的测试脚本集是包括存证业务所有操作的测试脚本,可以覆盖存证业务的全路径,并且在业务稀疏的情况下,该方案也能很好的对存证业务进行监控,同时,执行测试脚本不依赖于用户规模,并且,使用本申请中的测试脚本,不会依赖用户触发存证业务才能被动收集到监控数据,从而可以保证监控的时效性以及效率。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种基于区块链的测试监控方法的网络架构图;
图2是本申请实施例提供的一种基于区块链的测试监控方法的流程的示意图;
图3是本申请实施例提供的一种监控通知/告警的场景示意图;
图4是本申请实施例提供的一种监控结果报告的场景示意图;
图5是本申请实施例提供的一种执行单链测试脚本的示意图;
图6是本申请实施例提供的一种执行多链测试脚本的流程示意图;
图7是本申请实施例提供的一种执行多链测试脚本的示意图;
图8是本申请实施例提供的一种基于区块链的测试监控装置的结构示意图;
图9是本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请中的附图,对本申请中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了更好地理解本申请实施例提供的一种监控方法、电子设备及计算机可读存储介质,下面先对本申请实施例使用的网络架构进行描述。请参见图1,是本申请提供的一种网络架构示意图。如图1所示,该网络架构可以包括电子设备、区块链系统以及业务人员对应的终端、用户对应的终端。其中,电子设备与区块链系统通过网络进行数据传输,上述区块链系统中包括一条或多条区块链,在该区块链系统中的区块链两两之间存在通信连接,业务人员在电子设备上部署了监控服务,即实时监控区块链系统能不能正常为用户提供存证业务。其中,基于区块链存证是利用区块链去中心化及分布式存储的特点将电子数据存储在可信的区块链上,保证上链数据不可篡改,真实有效。这里的电子设备可以是与区块链系统独立存在的电子设备,如服务器等,也可以是在上述区块链系统中的节点设备,由一个或多个电子设备(如服务器等)构成,可以将上述测试脚本集写入智能合约中,通过区块链系统中的节点设备调用执行上述测试监控的测试脚本。
用户通过取证将获取到的存证的信息(即证据)存储在区块链系统中。需要知道的是,存证业务的操作存在一个操作流程,用户在当前操作失败的情况下是不能进行下一个操作。主要包括以下几个操作:用户注册、用户登录、证书上传、存证记链、单链查询以及多链互备查询。在用户登录成功后,可以上传自己的公钥证书,绑定自己的公钥证书,待区块链节点设备返回操作结果。其中,每个用户在将存证信息上链之前,需要进行登录,若没有账号则需要先注册后登录,在登录成功之后,用户可以将存证业务的信息(即存证信息)上传至区块链系统中,由该区块链系统进行存储,即存证记链,可以理解的是,在上传的过程中,需要用户注册的账号进行签名,以及等待节点设备返回存证结果,当返回的存证结果为存证成功的情况下,用户才能在该区块链系统中查询上传的存证信息。其中,查询分为单链查询和多链互备查询,这里单链查询是指从链上查到上传的存证信息即为查询成功,否则为查询失败,而多链互备查询为在该系统中的一条链中获取到该存证信息的数据并且在另一条链上也能查询到该信息则为查询成功,否则为查询失败。在实际的应用中,用户可以为了保护自己的版权信息,将自己的作品上传至区块链系统进行存证,当需要出证的时候,公证处或司法鉴定中心可以对存储的数据进行出证,利用区块链的特性,验证证据的真实性和完整性,从而保护了自己的版权。
业务人员可以为该整个存证和查证的业务流程设计监控的服务和测试脚本,其中测试脚本包括但不限于上述用户注册、用户登录、证书上传、存证记链、单链查询以及多链互备查询的测试脚本,可以是一个操作对应一个测试脚本,也可以是整个操作流程对应一个测试脚本,本申请实施例中以一个操作对应一个测试脚本为例进行讲解,并且监控的区块链系统可以是一个区块链系统的存证业务也可以是多个区块链系统的存证业务,这里不做限定,本申请实施例以监控一个区块链系统的存证业务是否正常可用为例进行讲解。通过电子设备执行测试脚本来实现对存证业务的监控,其中,业务人员可通过电子设备部署监控服务,可以设计测试脚本的执行方式,可以理解的是,测试脚本是按照用户在该存证业务上操作的顺序进行执行的。其中,部署监控服务可以是部署每隔一定时间执行一次测试脚本,也可以是当测试脚本集中的测试脚本执行完一次后接着执行第二次测试脚本。在每一次测试脚本执行完毕后,都得到一个测试结果,并且电子设备在执行测试脚本的过程中可以采集执行的测试脚本的数据以及执行状态,得到监控数据,根据测试结果和监控数据得到监控结果,并且可以根据测试结果或监控数据以及二者的结果通知业务人员或者输出告警。
请参见图2,是本申请提供的一种监控方法的流程示意图,如图2所示,上述方法可以包括:
201、确定存证业务对应的测试脚本集。
具体地,业务人员在设计监控服务和测试脚本时,可以根据存证业务的操作流程进行设计,其中测试脚本包括但不限于上述用户注册、用户登录、证书上传、存证记链、单链查询以及多链互备查询的测试脚本,可以是一个操作对应一个测试脚本,也可以是整个操作流程对应一个测试脚本,本申请实施例中以一个操作对应一个测试脚本为例进行讲解。需要说明的是,该区块链系统中包含N条区块链,N为大于或等于1的整数,当N=1的时候,没有多链测试脚本,当大于1的时候,既包括单链测试脚本也包括多链测试脚本,如单链查询测试脚本以及多链互备查询测试脚本。
其中,业务人员可以将测试脚本集存储在电子设备中,也可以由电子设备从数据库或者定义的接口中获取测试脚本集,可以在当前测试脚本执行完毕后,获取该存证业务流程中的下一个测试脚本,也可以获取到一个测试脚本集,按照操作的流程依次执行该测试脚本集中的测试脚本。
202、按照上述存证业务的操作流程执行上述测试脚本集中的测试脚本,得到测试结果。
具体地,将上述获取到的测试脚本按照业务的操作流程依次执行,得到测试结果,可以理解的是,一个测试脚本对应一个测试结果,以一个操作对应一个脚本为例,则一个操作就可以得到一个测试结果,以便于业务人员对故障的排查和实施监控。需要说明的是,存证业务中的操作流程是固定的,只能按照流程的顺序进行执行,而当前一个测试脚本执行失败的情况下,使用备用数据执行后一个操作对应的测试脚本,其中备用数据可以是前一个操作对应的测试脚本执行成功时的测试结果,也可以是预先存储在电子设备中的备用数据,使用备用数据执行测试脚本,得到测试结果。当测试脚本集中包含有先后关系的第一测试脚本和第二测试脚本时,第一测试脚本在先执行,第二测试脚本在后执行,在第一测试脚本测试的第一操作失败的情况下,获取存储的该第一操作测试成功时对应的测试结果,该测试结果用于测试与 该第一操作相邻的后一个操作对应的测试脚本,得到第二测试结果。例如,在测试用户登录操作的测试脚本执行失败的情况下,可能是该账号不存在等问题,则可以从电子设备中获取执行登录操作成功的测试脚本的测试结果,即该登录成功的测试账号,执行证书上传的测试脚本。由此看来,本申请实施例提供的方法可以避免因为流程先后存在依赖关系而导致测试结果不准确,从而提高监控的效率和准确性。
203、采集上述测试脚本执行过程中所需数据和执行状态,得到监控数据。
具体地,在测试脚本的执行过程中,电子设备还采集每个测试脚本在执行过程中的所需的数据和执行状态数据,其中,所需的数据可以包括但不限于每次执行的脚本名,区块链系统标识(一个电子设备监控多个区块链系统的情况)等;该执行状态数据可以但不限于包括测试耗时等,监控数据主要是采集并记录下能够反映该系统上存证业务可用性的数据指标,例如,监控数据可以是上一次输出通知的时间信息,也可以是上一次输出告警的时间信息,还可以是从上一次通知到当前时刻测试脚本运行的次数、每两次触发并输出通知期间监控运行的次数等等。其中,采集后记录可以以日志、文件、数据等形式进行记录,这里不做限定。
204、根据上述监控数据和上述测试结果确定监控结果。
具体地,测试结果包括一个或多个测试脚本的测试成功或者失败的结果,当测试脚本执行失败时,测试结果还包括失败对应的错误码,可以将执行一个操作流程对应的多个测试脚本的测试结果和采集到的上述操作流程的监控数据整合成一次测试结果,即得到一个操作流程的监控结果,其中监控结果可以但不限于包括一个操作流程对应的多个测试脚本的测试结果,以及采集到的上述流程对应的每一个测试脚本的监控数据还有根据这两方面的数据计算出的性能指标数据作为监控结果,如,可以根据在一个操作流程中的采集到的每个测试脚本的执行时间计算出整个操作流程的总耗时,也可以根据在该操作流程中的执行的每一个测试脚本的时间比较出测试脚本耗时最长的操作,还可以根据多次监控中执行的测试脚本得到每个脚本执行的成功率,以及通过执行测试脚本执行的结果得到的失败码,其中,失败码可以用于查表或者从存储的数据中搜索得到失败的原因以便于在通知或者告警的时候输出等等。
进一步地,在得到监控结果之后,可以向业务人员输出通知或者告警,请一并参阅图3,图3为本申请实施例提供的一种监控通知/告警的场景示意图,其中,包括电子设备监控区块链系统得到的监控数据,包括执行测试脚本集得到的测试结果以及监控执行测试脚本的监控数据,电子设备可以将这两部分的数据存储在数据库中,并且根据这两部分的数据输出通知和告警。其中,输出通知以及输出告警的提示信息方式可以是通过应用程序的通知服务,如微信的推送通知、企业微信的信息通知,以及通过调用应用程序中的程序进行通知,如通过企业微信的机器人进行通知,还可以通过手机端、手机语音电话等方式进行通知,这里仅仅是举例,对通知的方式不做限定。业务人员可以根据职责如图3所示的向业务人员A发送通知,而向业务人员B发送告警。
进一步地,业务人员可以设计通知和告警机制,可以是根据业务的实际需要,每次测试脚本执行完毕后就发送结果通知或者在有测试脚本执行失败的时候才发送通知,通知的内容可以是当前测试脚本的执行状态,也可以是当前测试脚本的执行失败代码,失败的详细信息,还可以是距离上次通知发起后执行测试脚本通过测试结果和监控数据计算出的数据,如在预设时间段内测试脚本A执行的平均时间、测试脚本A执行的通过率,测试脚本A执行失败的时间信息、失败代码等等。对于告警的策略设计,业务人员可以根据整个流程中操作的重要程度进行设计,业务人员设置操作的重要程度,即关键程度,可以设计在预设时间段之内执行该操作对应的测试脚本的失败告警策略,即可以是设计在预设时间段内该测试脚本的出现失败次数阈值,也可以是连续失败次数阈值,重要程度很高的操作对应测试脚本可以是一出现错误的时候就告警,还可以是执行该测试脚本的耗时大于预设的时间阈值;时报告警策略还可以是根据当前操作对应的业务是否是特定的业务,例如,该区块链系统存储了一个或多个存证业务的存证信息,在运行的时候可以分别一个业务对应一个测试脚本集,在预设的特定的测试脚本集中任一操作对应的测试脚本执行失败时,输出告警的提示信息;其中,还可以通过测试脚本的总耗时或者总执行时间来设计告警策略,当耗时大于预设的时间阈值可以是当前存证业务中的任一操作对应的测试脚本的响应时间过程或者出现间断的时间过长,则输出告警的提示信息,其中,可以按照测试脚本来输出,也可以按照业务来输出。进一步地,在测试脚本执行失败之后,输出当前测试脚本的失败码类型,判断失败码对应的失败原因是否属于特定原因的类型,如接口无响应等严重错误的情况,当出现严重错误的情况,则直接输出告警的提示信息。具体地,输出的告警信息,可以包括当前测试脚本的执行信息:响应时间、执行失败的失败码、通过上述失败码查询到的错误类型,进而确定出现错误的原因,进一步可以查询对应失败码的解决方案。电子设备可以根据操作的重要程度与阈值的对应关系获取到第二操作对应的失败次数阈值,在第二测试脚本在预设时间段内执行结果为失败的次数大于上述阈值的情况下,输出通知或者告警的提示信息。需要知道的是,上述告警机制可以是配置的,通过读取配置文件共享内存中的,也可以是动态或者静态的配置告警机制。例如,当业务人员设置操作B是重要程度为“非常重要”的操作,并设置预设的响应时间阈值为10分钟,并且设置出现失败就告警的告警策略,则电子设备在执行测试脚本B时,获取当前测试脚本B对应的通知策略或者告警策略,即获取到失败阈值为1,当测试脚本B在执行失败后,电子设备向业务人员B输出告警信息,其中告警信息可以包括“测试脚本B响应时间”、“返回错误码”、“测试脚本B执行的过程信息”,以及同期执行的其他脚本的信息。
进一步地,电子设备还可以根据预设的一段时间内的测试脚本的监控结果生成监控报告输出给业务人员,其中,监控报告可以包括数据、文字、曲线、表格、图表等等中的一种或多种,监控报告可以是由存储在设备中或者获取到的报告模板文件生成的报告,也可以是由业务人员设置报告的样式以及可以包含的信息,如为了更好的输出给业务人员阅读,可以对重要程度高的操作对应的测试脚本显示在预设时间段内的每一项监控数据和测试结果数据,对重要程度低的操作对应的测试脚本显示在预设时间段内执行的简略几个数据,可以以展开的方式显示所有数据,也可以在失败的情况下显示所有详细的执行失败的数据。如图4所示,该存证业务的监控报告可以包括统计的时间段、统计的各个脚本的测试结果以及监控数据,该监控报告还可以包括统计的数据,例如,一段时间内测试脚本C执行失败的错误码汇总等。其中,业务人员可以设置输出的报表的内容,可以根据测试脚本的执行情况,通过绘制变化曲线或者图表的形式更直观的展现给业务人员,例如,可以绘制测试脚本C在预设时间段内通过率,以及通过率对应的曲线一并展现给业务人员,也可以生成实时报告,如通过实时采集的监控数据或者整个监控的执行过程绘制实时的测试用例集的通过率曲线,将数据与曲线一并输出在监控报告中,还可以绘制测试用例集中的各个测试脚本执行时间曲线或者以柱状图的形式输出,可选地,各个测试脚本的执行时间数据可以汇总以表格、曲线、图表的形式输出,以便于业务人员进行分析。
在本申请实施例中,基于区块链的测试监控的电子设备可以确定基于区块链技术的存证业务对应的测试脚本集,其中,存证业务中的存证信息存储在区块链系统中,区块链系统为包含一条或多条区块链的系统,其中若是多条区块链的话,这多条区块链之间存在通信连接,按照用户在使用存证业务的时的操作流程执行测试脚本集中的测试脚本,分别得到多个测试脚本执行的结果,并且通过采集测试脚本在执行过程中的数据以及执行状态的方式,得到监控数据,将根据测试结果和监控数据两方面的数据确定监控结果。由此可见,电子设备确定存证业务对应的测试脚本集是包括存证业务所有操作的测试脚本,可以覆盖存证业务的全路径,并且在业务稀疏的情况下,该方案也能很好的对存证业务进行监控,同时,执行测试脚本不依赖于用户规模,并且,使用本申请中的测试脚本,不会依赖用户触发存证业务才能被动收集到监控数据,从而可以保证监控的时效性以及效率。
请参阅图5,图5为本申请实施例提供的一种执行单链测试脚本的示意图。如图5所示,包括电子设备、数据库以及区块链系统。其中,电子设备可以通过两种方式执行单链查询的测试脚本。
第一种查询方式,电子设备可以通过遍历该区块链系统中的每一区块链中存储的哈希值,即将根据测试流程执行的上一个测试脚本的存证上链的存证信息对应的哈希值查询出来。而查询结果就作为当前单链测试脚本的执行结果。当电子设备查询到上述存证信息对应的哈希值时,则表示该单链测试脚本执行成功,反之,执行失败。
第二种查询方式,电子设备可以通过区块链浏览器提供的服务进行查询,也可以自行从数据库中查询,其中,数据库可以定期获取该区块链系统中新增的区块,即区块高度最高(区块高度最大)的区块中获取新增的信息,对数据库进行增量的更新,其中,查询方式就将上一个操作对应的测试脚本存证记链的存证信息对应的哈希值在该数据库中查询出来。
进一步地,业务人员可以通过客户端接收电子设备输出的测试结果和监控数据,这里不再赘述。
在本申请实施例中,基于区块链的测试监控的电子设备可以确定基于区块链技术的存证业务对应的测试脚本集,其中,存证业务中的存证信息存储在区块链系统中,区块链系统为包含一条或多条区块链的系统,其中若是多条区块链的话,这多条区块链之间存在通信连接,按照用户在使用存证业务的时的操作流程执行测试脚本集中的测试脚本,分别得到多个测试脚本执行的结果,并且通过采集测试脚本在执行过程中的数据以及执行状态的方式,得到监控数据,将根据测试结果和监控数据两方面的数据确定监控结果。由此可见,电子设备确定存证业务对应的测试脚本集是包括存证业务所有操作的测试脚本,可以覆盖存证业务的全路径,并且在业务稀疏的情况下,该方案也能很好的对存证业务进行监控,同时,执行测试脚本不依赖于用户规模,并且,使用本申请中的测试脚本,不会依赖用户触发存证业务才能被动收集到监控数据,从而可以保证监控的时效性以及效率。
请参阅图6,图6是本申请实施例提供的一种执行多链测试脚本的流程示意图,如图6所示,多链测试脚本的执行可以包括:
601、获取第一区块链中区块高度最大的区块的头数据,上述第一区块链为上述区块链系统中的任一区块链。
具体地,请一并参阅图7,获取第一区块链中区块高度最大的区块的头数据,即是获取最新产生的区块的头数据,其中,一个区块的区块头数据包括:版本号、前区块哈希值(父区块的哈希值)、默克尔树根(merkle tree,MT)、时间戳、难度目标等。而区块体包括了存储的存证数据以及其他链的默克尔树根的值,需要知道的是,在本申请中的区块链系统包含多条区块链,该区块链系统中的区块链之间存在两两可以相互通信的联系,在第一区块链中可以存储由存证上链的测试脚本存储的测试存证信息,而在第二区块链中可以将该区块的默克尔树根的哈希值当做存证信息进行存储。
602、根据上述头数据获取默克尔树根的哈希值。
可以从上述区块的头数据获取默克尔树根的值,计算得到该值对应的哈希值。其中,默克尔树是一个二叉树的结构,由一个根节点、一组中间节点和一组叶节点组成。叶节点包含存储数据或其哈希值,中间节点是它的两个孩子节点内容的哈希值,根节点也是由它的两个子节点内容的哈希值组成。默克尔树根的值为根据该区块中每个哈希值之间的排列顺序,依次计算区块中每两个相邻的哈希值对应的哈希值(可以理解的是,两个相邻的哈希值可以进行拼接,对拼接之后的哈希值再进行哈希值的运算,得到该相邻的两个哈希值所对应的哈希值),通过计算结果,可以进一步地计算得到区块对应的默克尔树根的哈希值,该默克尔树根的哈希值是通过区块中的所有哈希值计算得到的一个哈希值。可以理解的是,区块中存储的任意一个数据发生变化,则默克尔树根的值都会发生变化,则该树根的值和对应的哈希值则保证了对存证信息验证的完整性和真实性。
603、在监测到第二区块链查询上述哈希值时,获取查询结果,上述第二区块链为上述区块链系统中除上述第一区块链以外的任一区块链。
具体地,如图7所示,本申请以该区块链系统中包括两条区块链为例进行讲解(如图中的区块链A和区块链B),在该区块链系统中的第一区块链(区块链A)获取默克尔树根的值并计算得到哈希值,并且在第二区块链(区块链B)中查询该哈希值,其中查询方法与上述图5对应的单链查询测试脚本的执行方式一致,只是在查询的过程中,查询的是第二区块链(区块链B)上存储的数据,并且查询的不直接是存证信息而是上述默克尔树根对应的哈希值。第一区块链和第二区块链为该区块链系统上不同的两条区块链。可以理解的是,若该系统包含的区块链大于2条,则在其中一条区块链上都还存储有其他区块链存证信息对应的默克尔树根值对应的哈希值。
604、将上述查询结果确定为上述多链测试脚本的测试结果。
具体地,当在第二区块链中查询到该默克尔树根的哈希值时,则确定该测试脚本执行成功,反之,则执行失败。则可以根据该测试脚本的测试结果和在执行过程中的监控数据进行通知和告警,这里不再赘述。
在本申请实施例中,基于区块链的测试监控的电子设备可以确定基于区块链技术的存证业务对应的测试脚本集,其中,存证业务中的存证信息存储在区块链系统中,区块链系统为包含一条或多条区块链的系统,其中若是多条区块链的话,这多条区块链之间存在通信连接,按照用户在使用存证业务的时的操作流程执行测试脚本集中的测试脚本,分别得到多个测试脚本执行的结果,并且通过采集测试脚本在执行过程中的数据以及执行状态的方式,得到监控数据,将根据测试结果和监控数据两方面的数据确定监控结果。由此可见,电子设备确定存证业务对应的测试脚本集是包括存证业务所有操作的测试脚本,可以覆盖存证业务的全路径,并且在业务稀疏的情况下,该方案也能很好的对存证业务进行监控,同时,执行测试脚本不依赖于用户规模,并且,使用本申请中的测试脚本,不会依赖用户触发存证业务才能被动收集到监控数据,从而可以保证监控的时效性以及效率。
请参见图8,图8是本发明实施例提供的一种电子设备8000的结构示意图。本发明实施例提供的电子设备8000包括:
第一确定单元801,用于确定存证业务对应的测试脚本集,上述测试脚本集包括上述存证业务的所有操作的测试脚本,上述存证业务的信息存储在区块链系统中,上述区块链系统包括N条区块链,上述N条区块链之间存在通信连接,上述N为大于或等于1的整数;
执行单元802,用于按照上述存证业务的操作流程执行上述测试脚本集中的测试脚本,得到测试结果;
采集单元803,用于采集上述测试脚本执行过程中所需数据和执行状态,得到监控数据;
第二确定单元804,用于根据上述监控数据和上述测试结果确定监控结果。
在一种可能的实现方式中,在上述N大于1的情况下,上述测试脚本包括单链测试脚本和多链测试脚本,上述单链测试脚本用于测试一条区块链中操作的脚本,上述多链测试脚本为用于测试多条区块链中的操作的脚本。
在一种可能的实现方式中,上述执行单元802,具体用于:
获取第一区块链中区块高度最大的区块的头数据,上述第一区块链为上述区块链系统中的任一区块链;
根据上述头数据获取默克尔树根的哈希值;
在监测到第二区块链查询上述哈希值时,获取查询结果,上述第二区块链为上述区块链系统中除上述第一区块链以外的任一区块链;
将上述查询结果确定为上述多链测试脚本的测试结果。
在一种可能的实现方式中,上述单链测试脚本包括用于查询上述存证业务对应的信息的查询测试脚本,上述查询测试脚本从数据库查询,上述数据库存储有上述区块链系统中区块高度最大的区块包括的数据。
在一种可能的实现方式中,上述执行单元802,具体用于:
在第一测试脚本测试第一操作失败的情况下,获取存储的上述第一操作测试成功时对应的第一测试结果,上述第一操作为上述存证业务的操作流程中除最后一个操作之外的操作中的任一操作;
根据上述第一测试结果执行上述操作流程中与上述第一操作相邻的下一个操作对应的测试脚本,得到第二测试结果。
在一种可能的实现方式中,上述电子设备8000还包括:
获取单元805,用于根据操作重要程度与阈值的对应关系获取第二操作对应的第一阈值;
第一输出单元806,用于在第二测试脚本在预设时间段内执行结果为失败的次数大于上述阈值的情况下,输出用于提示用户上述第二操作对应的存证业务存在问题的提示信息,上述第二操作为上述存证业务的操作流程中的任一操作,上述第二测试脚本为上述第二操作对应的测试脚本;或者
在第三操作对应的测试脚本执行结果为失败,且上述第三操作对应的业务为特定业务的情况下,输出用于提示用户上述第三操作对应的存证业务存在问题的提示信息,上述第三操作为上述存证业务的操作流程中的任一操作;或者
在第四操作对应的测试脚本执行结果为失败,且上述第四操作对应的失败原因为特定原因的情况下,输出用于提示用户上述第四操作对应的存证业务存在问题的提示信息,上述第四操作为上述存证业务的操作流程中的任一操作;或者
在第一业务包括的操作对应的测试脚本的总执行时间大于第二阈值的情况下,输出用于提示用户上述第一业务对应的存证业务存在问题的提示信息,上述第一业务为上述存证业务的中的任一业务。
在一种可能的实现方式中,上述监控结果包括上述测试脚本集多次执行的监控结果,上述电子设备还包括:
生成单元,用于根据上述监控结果生成监控报告;
第二输出单元,用于输出上述监控报告。在一种可能的实现方式中,上述监控结果包括上述测试脚本集多次执行的监控结果,上述电子设备还包括:
生成单元807,用于根据上述监控结果生成监控报告;
第二输出单元808,用于输出上述监控报告。
有关上述第一确定单元801、执行单元802、采集单元803、第二确定单元804、获取单元805、第一输出单元806、生成单元807以及第二输出单元808详细的描述可以直接参考上述图2至图7所示的方法实施例中的相关描述直接得到,这里不加赘述。
在本申请实施例中,基于区块链的测试监控的电子设备可以确定基于区块链技术的存证业务对应的测试脚本集,其中,存证业务中的存证信息存储在区块链系统中,区块链系统为包含一条或多条区块链的系统,其中若是多条区块链的话,这多条区块链之间存在通信连接,按照用户在使用存证业务的时的操作流程执行测试脚本集中的测试脚本,分别得到多个测试脚本执行的结果,并且通过采集测试脚本在执行过程中的数据以及执行状态的方式,得到监控数据,将根据测试结果和监控数据两方面的数据确定监控结果。由此可见,电子设备确定存证业务对应的测试脚本集是包括存证业务所有操作的测试脚本,可以覆盖存证业务的全路径,并且在业务稀疏的情况下,该方案也能很好的对存证业务进行监控,同时,执行测试脚本不依赖于用户规模,并且,使用本申请中的测试脚本,不会依赖用户触发存证业务才能被动收集到监控数据,从而可以保证监控的时效性以及效率。
请参阅图9,图9是本发明实施例提供的一种电子设备的结构示意图。如图9所示,该电子设备9000可以包括:
一个或多个处理器901、输入设备902、输出设备903、存储器904、收发器905。上述处理器901、输入设备902、输出设备903、存储器904、收发器905通过总线连接。其中,输入设备902可以包括触控屏、键盘、麦克风等,输出设备903可以包括显示屏、音响等,收发器905用于接收和发送数据。存储器904用于存储计算机程序,该计算机程序包括程序指令,处理器901用于执行存储器904存储的程序指令,其中,处理器901被配置用于调用程序指令执行以下步骤:
确定存证业务对应的测试脚本集,上述测试脚本集包括上述存证业务的所有操作的测试脚本,上述存证业务的信息存储在区块链系统中,上述区块链系统包括N条区块链,上述N条区块链之间存在通信连接,上述N为大于或等于1的整数;
按照上述存证业务的操作流程执行上述测试脚本集中的测试脚本,得到测试结果;
采集上述测试脚本执行过程中所需数据和执行状态,得到监控数据;
根据上述监控数据和上述测试结果确定监控结果。
在一种可能的实现方式中,在上述N大于1的情况下,上述测试脚本包括单链测试脚本和多链测试脚本,上述单链测试脚本用于测试一条区块链中操作的脚本,上述多链测试脚本为用于测试多条区块链中的操作的脚本。
在一种可能的实现方式中,上述处理器901按照上述存证业务的操作流程执行上述测试脚本集中的测试脚本,得到测试结果包括:
获取第一区块链中区块高度最大的区块的头数据,上述第一区块链为上述区块链系统中的任一区块链;
根据上述头数据获取默克尔树根的哈希值;
在监测到第二区块链查询上述哈希值时,获取查询结果,上述第二区块链为上述区块链系统中除上述第一区块链以外的任一区块链;
将上述查询结果确定为上述多链测试脚本的测试结果。
在一种可能的实现方式中,上述单链测试脚本包括用于查询上述存证业务对应的信息的查询测试脚本,上述查询测试脚本从数据库查询,上述数据库存储有上述区块链系统中区块高度最大的区块包括的数据。
在一种可能的实现方式中,上述处理器901按照上述存证业务的操作流程执行上述测试脚本集中的测试脚本,得到测试结果,包括:
在第一测试脚本测试第一操作失败的情况下,获取存储的上述第一操作测试成功时对应的第一测试结果,上述第一操作为上述存证业务的操作流程中除最后一个操作之外的操作中的任一操作;
根据上述第一测试结果执行上述操作流程中与上述第一操作相邻的下一个操作对应的测试脚本,得到第二测试结果。
在一种可能的实现方式中,上述处理器901还被调用执行如下步骤:
根据操作重要程度与阈值的对应关系获取第二操作对应的第一阈值;
在第二测试脚本在预设时间段内执行结果为失败的次数大于上述第一阈值的情况下,输出用于提示用户上述第二操作对应的存证业务存在问题的提示信息,上述第二操作为上述存证业务的操作流程中的任一操作,上述第二测试脚本为上述第二操作对应的测试脚本;或者
在第三操作对应的测试脚本执行结果为失败,且上述第三操作对应的业务为特定业务的情况下,输出用于提示用户上述第三操作对应的存证业务存在问题的提示信息,上述第三操作为上述存证业务的操作流程中的任一操作;或者
在第四操作对应的测试脚本执行结果为失败,且上述第四操作对应的失败原因为特定原因的情况下,输出用于提示用户上述第四操作对应的存证业务存在问题的提示信息,上述第四操作为上述存证业务的操作流程中的任一操作;或者
在第一业务包括的操作对应的测试脚本的总执行时间大于第二阈值的情况下,输出用于提示用户上述第一业务对应的存证业务存在问题的提示信息,上述第一业务为上述存证业务的中的任一业务。
在一种可能的实现方式中,上述监控结果包括上述测试脚本集多次执行的监控结果,上述处理器901还被调用执行如下步骤:
根据上述监控结果生成监控报告;
输出上述监控报告。
应当理解,在一些可行的实施方式中,上述处理器901可以是中央处理单元(central processing unit,CPU),该处理器901还可以是其他通用处理器、数字信号处理器 (digital signal processor,DSP)、专用集成电路 (application specificintegrated circuit,ASIC)、现成可编程门阵列 (field-programmable gate array,FPGA) 或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
该存储器904可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器904的一部分还可以包括非易失性随机存取存储器。
具体实现中,上述电子设备9000可通过其内置的各个功能模块执行如上述图1至图7中各个步骤所提供的实现方式,具体可参见上述各个步骤所提供的实现方式,在此不再赘述。
在本申请实施例中,基于区块链的测试监控的电子设备可以确定基于区块链技术的存证业务对应的测试脚本集,其中,存证业务中的存证信息存储在区块链系统中,区块链系统为包含一条或多条区块链的系统,其中若是多条区块链的话,这多条区块链之间存在通信连接,按照用户在使用存证业务的时的操作流程执行测试脚本集中的测试脚本,分别得到多个测试脚本执行的结果,并且通过采集测试脚本在执行过程中的数据以及执行状态的方式,得到监控数据,将根据测试结果和监控数据两方面的数据确定监控结果。由此可见,电子设备确定存证业务对应的测试脚本集是包括存证业务所有操作的测试脚本,可以覆盖存证业务的全路径,并且在业务稀疏的情况下,该方案也能很好的对存证业务进行监控,同时,执行测试脚本不依赖于用户规模,并且,使用本申请中的测试脚本,不会依赖用户触发存证业务才能被动收集到监控数据,从而可以保证监控的时效性以及效率。
此外,这里需要指出的是:本申请还提供了一种计算机可读存储介质,且上述计算机可读存储介质中存储有前文提及的电子设备所执行的计算机程序,且上述计算机程序包括程序指令,当上述处理器执行上述程序指令时,能够执行前文图2所对应实施例中对上述数据验证方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。
本申请的权利要求书和说明书及附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置展示该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。在本发明说明书和所附权利要求书中使用的术语“和/ 或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
需要说明的是,本申请权利要求书和说明书及附图中相关监控数据的收集处理在实例应用时应该严格根据相关国家法律法规的要求,获取个人信息主体的知情同意或单独同意或具备相关合法性基础,并在法律法规及个人信息主体的授权范围内,开展后续数据使用及处理行为。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

Claims (9)

1.一种基于区块链的测试监控方法,其特征在于,包括:
确定存证业务对应的测试脚本集,所述测试脚本集包括所述存证业务的所有操作的测试脚本,所述存证业务的信息存储在区块链系统中,所述区块链系统包括N条区块链,所述N条区块链之间存在通信连接,所述N为大于或等于1的整数;
按照所述存证业务的操作流程执行所述测试脚本集中的测试脚本,得到测试结果;
采集所述测试脚本执行过程中所需数据和执行状态,得到监控数据;
根据所述监控数据和所述测试结果确定监控结果;
根据操作重要程度与阈值的对应关系获取第二操作对应的第一阈值;
在第二测试脚本在预设时间段内执行结果为失败的次数大于所述第一阈值的情况下,输出用于提示用户所述第二操作对应的存证业务存在问题的提示信息,所述第二操作为所述存证业务的操作流程中的任一操作,所述第二测试脚本为所述第二操作对应的测试脚本;或者
在第三操作对应的测试脚本执行结果为失败,且所述第三操作对应的业务为特定业务的情况下,输出用于提示用户所述第三操作对应的存证业务存在问题的提示信息,所述第三操作为所述存证业务的操作流程中的任一操作;或者
在第四操作对应的测试脚本执行结果为失败,且所述第四操作对应的失败原因为特定原因的情况下,输出用于提示用户所述第四操作对应的存证业务存在问题的提示信息,所述第四操作为所述存证业务的操作流程中的任一操作;或者
在第一业务包括的操作对应的测试脚本的总执行时间大于第二阈值的情况下,输出用于提示用户所述第一业务对应的存证业务存在问题的提示信息,所述第一业务为所述存证业务的中的任一业务。
2.根据权利要求1所述的方法,其特征在于,在所述N大于1的情况下,所述测试脚本包括单链测试脚本和多链测试脚本,所述单链测试脚本用于测试一条区块链中操作的脚本,所述多链测试脚本为用于测试多条区块链中的操作的脚本。
3.根据权利要求2所述的方法,其特征在于,所述按照所述存证业务的操作流程执行所述测试脚本集中的测试脚本,得到测试结果包括:
获取第一区块链中区块高度最大的区块的头数据,所述第一区块链为所述区块链系统中的任一区块链;
根据所述头数据获取默克尔树根的哈希值;
在监测到第二区块链查询所述哈希值时,获取查询结果,所述第二区块链为所述区块链系统中除所述第一区块链以外的任一区块链;
将所述查询结果确定为所述多链测试脚本的测试结果。
4.根据权利要求2所述的方法,其特征在于,所述单链测试脚本包括查询测试脚本,所述查询测试脚本用于从数据库查询所述存证业务对应的信息,所述数据库存储有所述区块链系统中区块高度最大的区块包括的数据。
5.根据权利要求1所述的方法,其特征在于,所述按照所述存证业务的操作流程执行所述测试脚本集中的测试脚本,得到测试结果,包括:
在第一测试脚本测试第一操作失败的情况下,获取存储的所述第一操作测试成功时对应的第一测试结果,所述第一操作为所述存证业务的操作流程中除最后一个操作之外的操作中的任一操作;
根据所述第一测试结果执行所述操作流程中与所述第一操作相邻的下一个操作对应的测试脚本,得到第二测试结果。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述监控结果包括所述测试脚本集多次执行的监控结果,所述方法还包括:
根据所述监控结果生成监控报告;
输出所述监控报告。
7.一种基于区块链的测试监控装置,其特征在于,包括:
第一确定单元,用于确定存证业务对应的测试脚本集,所述测试脚本集包括所述存证业务的所有操作的测试脚本,所述存证业务的信息存储在区块链系统中,所述区块链系统包括N条区块链,所述N条区块链之间存在通信连接,所述N为大于或等于1的整数;
执行单元,用于按照所述存证业务的操作流程执行所述测试脚本集中的测试脚本,得到测试结果;
采集单元,用于采集所述测试脚本执行过程中所需数据和执行状态,得到监控数据;
第二确定单元,用于根据所述监控数据和所述测试结果确定监控结果;
获取单元,用于根据操作重要程度与阈值的对应关系获取第二操作对应的第一阈值;
第一输出单元,用于在第二测试脚本在预设时间段内执行结果为失败的次数大于所述第一阈值的情况下,输出用于提示用户所述第二操作对应的存证业务存在问题的提示信息,所述第二操作为所述存证业务的操作流程中的任一操作,所述第二测试脚本为所述第二操作对应的测试脚本;或者
在第三操作对应的测试脚本执行结果为失败,且所述第三操作对应的业务为特定业务的情况下,输出用于提示用户所述第三操作对应的存证业务存在问题的提示信息,所述第三操作为所述存证业务的操作流程中的任一操作;或者
在第四操作对应的测试脚本执行结果为失败,且所述第四操作对应的失败原因为特定原因的情况下,输出用于提示用户所述第四操作对应的存证业务存在问题的提示信息,所述第四操作为所述存证业务的操作流程中的任一操作;或者
在第一业务包括的操作对应的测试脚本的总执行时间大于第二阈值的情况下,输出用于提示用户所述第一业务对应的存证业务存在问题的提示信息,所述第一业务为所述存证业务的中的任一业务。
8.一种电子设备,其特征在于,包括:处理器和存储器;
所述处理器和存储器相连,其中,所述存储器用于存储程序代码,所述处理器用于调用所述程序代码,以执行如权利要求1-6任一项所述的方法。
9.一种计算机可读存储介质,其特征在于,所述计算机存储介质存储有一条或多条第一指令,所述一条或多条第一指令适于由处理器加载并执行如权利要求1-6任一项所述的方法。
CN201911166580.0A 2019-11-25 2019-11-25 一种基于区块链的测试监控方法、装置及可读存储介质 Active CN110908910B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911166580.0A CN110908910B (zh) 2019-11-25 2019-11-25 一种基于区块链的测试监控方法、装置及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911166580.0A CN110908910B (zh) 2019-11-25 2019-11-25 一种基于区块链的测试监控方法、装置及可读存储介质

Publications (2)

Publication Number Publication Date
CN110908910A CN110908910A (zh) 2020-03-24
CN110908910B true CN110908910B (zh) 2024-04-09

Family

ID=69819281

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911166580.0A Active CN110908910B (zh) 2019-11-25 2019-11-25 一种基于区块链的测试监控方法、装置及可读存储介质

Country Status (1)

Country Link
CN (1) CN110908910B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112395158A (zh) * 2020-11-17 2021-02-23 北京乐我无限科技有限责任公司 一种信息处理方法、装置及计算机可读存储介质
CN112434831A (zh) * 2020-12-08 2021-03-02 中国建设银行股份有限公司 故障排查方法、装置、存储介质及计算机设备
CN114143011A (zh) * 2021-11-26 2022-03-04 中国联合网络通信集团有限公司 测试报告处理方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9934138B1 (en) * 2016-12-07 2018-04-03 International Business Machines Corporation Application testing on a blockchain
CN109191144A (zh) * 2018-08-03 2019-01-11 食品安全与营养(贵州)信息科技有限公司 一种基于区块链的实验室信息业务管理系统及工作方法
CN109753433A (zh) * 2018-12-26 2019-05-14 中链科技有限公司 基于区块链的自动化测试方法、装置及电子设备
CN109753434A (zh) * 2018-12-26 2019-05-14 中链科技有限公司 基于区块链的性能测试方法、装置、电子设备及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190132350A1 (en) * 2017-10-30 2019-05-02 Pricewaterhousecoopers Llp System and method for validation of distributed data storage systems

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9934138B1 (en) * 2016-12-07 2018-04-03 International Business Machines Corporation Application testing on a blockchain
CN109191144A (zh) * 2018-08-03 2019-01-11 食品安全与营养(贵州)信息科技有限公司 一种基于区块链的实验室信息业务管理系统及工作方法
CN109753433A (zh) * 2018-12-26 2019-05-14 中链科技有限公司 基于区块链的自动化测试方法、装置及电子设备
CN109753434A (zh) * 2018-12-26 2019-05-14 中链科技有限公司 基于区块链的性能测试方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN110908910A (zh) 2020-03-24

Similar Documents

Publication Publication Date Title
US9672137B1 (en) Shadow test replay service
CN110908910B (zh) 一种基于区块链的测试监控方法、装置及可读存储介质
EP2871574B1 (en) Analytics for application programming interfaces
Falkenberg et al. A new approach towards DoS penetration testing on web services
CN110062926B (zh) 设备驱动器遥测
CN112395156A (zh) 故障的告警方法和装置、存储介质和电子设备
JP2012150805A (ja) システムアプリケーション処理に関連する詐欺を検出するシステムおよび方法
JP2014102661A (ja) 適用判定プログラム、障害検出装置および適用判定方法
US20190215262A1 (en) System and method for dynamically testing networked target systems
WO2021174870A1 (zh) 网络安全风险检测方法、系统、计算机设备和存储介质
CN112559285A (zh) 基于分布式服务架构的微服务监控方法及相关装置
CN110941632A (zh) 一种数据库审计方法、装置及设备
CN105825641A (zh) 一种业务报警方法和装置
CN108111328B (zh) 一种异常处理方法及装置
US20160050101A1 (en) Real-Time Network Monitoring and Alerting
CN111176567B (zh) 分布式云存储的存储供应量验证方法及装置
CN112804066A (zh) 一种基于中继设备跨链中转消息的方法和装置
US10467082B2 (en) Device driver verification
US10296967B1 (en) System, method, and computer program for aggregating fallouts in an ordering system
CN111475400A (zh) 一种业务平台的验证方法及相关设备
CN113778800B (zh) 一种报错信息处理方法、装置、系统、设备及存储介质
Ramakrishna et al. A platform for end-to-end mobile application infrastructure analytics using system log correlation
CN117632858B (zh) 基于分布式网络的文件格式校验方法、系统、设备和介质
Stankovic et al. A survey on online monitoring approaches of computer-based systems
CN118158086A (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
GR01 Patent grant
GR01 Patent grant