CN115525568A - 代码覆盖率的巡检方法、装置、计算机设备及存储介质 - Google Patents

代码覆盖率的巡检方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN115525568A
CN115525568A CN202211318670.9A CN202211318670A CN115525568A CN 115525568 A CN115525568 A CN 115525568A CN 202211318670 A CN202211318670 A CN 202211318670A CN 115525568 A CN115525568 A CN 115525568A
Authority
CN
China
Prior art keywords
application
code coverage
collection
task
coverage rate
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
Application number
CN202211318670.9A
Other languages
English (en)
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.)
Ping An Bank Co Ltd
Original Assignee
Ping An Bank 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 Ping An Bank Co Ltd filed Critical Ping An Bank Co Ltd
Priority to CN202211318670.9A priority Critical patent/CN115525568A/zh
Publication of CN115525568A publication Critical patent/CN115525568A/zh
Pending legal-status Critical Current

Links

Images

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/3676Test management for coverage analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues

Landscapes

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

Abstract

本发明实施例公开了一种代码覆盖率的巡检方法、装置、计算机设备及存储介质,所述巡检方法包括:获取应用的部署信息;当所述应用处于发布阶段,根据所述部署信息,创建代码覆盖率的收集任务和巡检任务;在所述应用处于运行阶段,根据所述巡检任务,检查所述代码覆盖率的收集任务的创建状态;响应于所述收集任务的不同创建状态,设置所述应用对应的收集状态。本发明实施例通过自动创建代码覆盖率的巡检任务,并根据巡检任务自动检查所述代码覆盖率的收集任务的创建状态,从而根据不同的创建状态实时调整收集状态,节省了人力成本,提高了巡检效率。

Description

代码覆盖率的巡检方法、装置、计算机设备及存储介质
技术领域
本发明涉及应用测试技术领域,尤其涉及一种代码覆盖率的巡检方法、装置、计算机设备及存储介质。
背景技术
在目前的软件应用中,在开发出软件后,通常需要对软件代码进行测试,测试项目多种多样,其中包括覆盖率测试,通过代码覆盖率能够了解测试的结果,发现测试的死角,从而有利于开发人员了解到还有多少代码处于未测试状态。而现有技术中,代码覆盖率的收集情况和收集状态依赖于人工进行检查,不仅耗时耗力,而且效率低下。因此,如何对代码覆盖率的收集情况进行智能化巡检是亟待解决的技术问题。
发明内容
针对于现有技术存在的问题,本发明提供一种可用于金融科技或其他相关领域的代码覆盖率的巡检方法、装置、计算机设备及存储介质。
为了实现上述目的,本发明实施例采用的技术方案如下:
第一方面,本发明实施例提供了一种代码覆盖率的巡检方法,所述巡检方法包括:
获取应用的部署信息;
当所述应用处于发布阶段,根据所述部署信息,创建代码覆盖率的收集任务和巡检任务,其中,所述收集任务用于收集代码覆盖率;
当所述应用处于运行阶段,根据所述巡检任务,检查所述代码覆盖率的收集任务的创建状态;
响应于所述收集任务的不同创建状态,设置所述应用对应的收集状态。
在一种实施例中,所述部署信息包括所述应用的版本信息和测试环境的环境信息,所述获取应用的部署信息之前,包括:
基于第一预设平台,对所述应用的版本进行打包,得到所述版本信息;
将所述应用部署到对应的测试环境,得到所述环境信息;
将所述版本信息和所述环境信息存储于消息队列。
在一种实施例中,所述获取应用的部署信息,包括:
基于第二预设平台,从所述消息队列中获取所述版本信息和所述环境信息。
在一种实施例中,所述版本信息包括应用ID、应用版本、发版日期和服务器IP地址,所述环境信息包括硬件环境信息和软件环境信息。
在一种实施例中,所述响应于所述收集任务的不同创建状态,设置所述应用对应的收集状态,包括:
若所述创建状态为已创建,则判断所述收集状态是否满足预设活跃条件,若不满足,则将所述收集状态设置为活跃;
若所述创建状态为未创建,则为所述应用重新创建代码覆盖率的收集任务,并将所述收集状态设置为活跃。
在一种实施例中,所述若所述创建状态为已创建,判断所述收集状态是否满足预设活跃条件,还包括:
若满足所述预设活跃条件,则统计所述应用对应的代码覆盖率,并根据所述代码覆盖率确定所述应用的代码冗余程度。
在一种实施例中,所述巡检方法还包括:
在所述代码覆盖率的巡检任务的执行过程中,将对应的应用的信息和所述收集任务的信息进行关联展示,以及展示所述应用的不同版本在运行阶段对应的代码覆盖率。
第二方面,本发明实施例提供了一种代码覆盖率的巡检装置,所述巡检装置包括:
获取模块,用于获取应用的部署信息;
创建模块,用于当所述应用处于发布阶段,根据所述部署信息,创建代码覆盖率的收集任务和巡检任务,其中,所述收集任务用于收集代码覆盖率;
检查模块,用于当所述应用处于运行阶段,根据所述巡检任务,检查所述代码覆盖率的收集任务的创建状态;
响应模块,用于响应于不同的所述创建状态,设置所述应用对应的收集状态。
第三方面,本发明实施例提供了一种计算机设备,包括:处理器和存储器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序以使所述计算机设备执行所述的代码覆盖率的巡检方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行所述的代码覆盖率的巡检方法。
本发明实施例公开了一种代码覆盖率的巡检方法、装置、计算机设备及存储介质,所述巡检方法包括:获取应用的部署信息;当所述应用处于发布阶段,根据所述部署信息,创建代码覆盖率的收集任务和巡检任务;当所述应用处于运行过程,根据所述巡检任务,检查所述代码覆盖率的收集任务的创建状态;响应于所述收集任务的不同创建状态,设置所述应用对应的收集状态。与现有技术相比,本发明实施例通过自动创建代码覆盖率的巡检任务,并根据巡检任务自动检查所述代码覆盖率的收集任务的创建状态,从而根据不同的创建状态实时调整收集状态,节省了人力成本,提高了巡检效率。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对本发明保护范围的限定。在各个附图中,类似的构成部分采用类似的编号。
图1示出了本发明实施例中的一种代码覆盖率的巡检方法的流程示意图;
图2示出了本发明实施例中的获取应用的部署信息之前的流程示意图;
图3示出了本发明实施例中的设置应用的收集状态的流程示意图;
图4示出了本发明实施例中的一种代码覆盖率的巡检装置的结构框图。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
在下文中,可在本发明的各种实施例中使用的术语“包括”、“具有”及其同源词仅意在表示特定特征、数字、步骤、操作、元件、组件或前述项的组合,并且不应被理解为首先排除一个或更多个其它特征、数字、步骤、操作、元件、组件或前述项的组合的存在或增加一个或更多个特征、数字、步骤、操作、元件、组件或前述项的组合的可能性。
此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
除非另有限定,否则在这里使用的所有术语(包括技术术语和科学术语)具有与本发明的各种实施例所属领域普通技术人员通常理解的含义相同的含义。所述术语(诸如在一般使用的词典中限定的术语)将被解释为具有与在相关技术领域中的语境含义相同的含义并且将不被解释为具有理想化的含义或过于正式的含义,除非在本发明的各种实施例中被清楚地限定。
实施例1
请参照图1,图1为本发明实施例提供的一种代码覆盖率的巡检方法的流程示意图。所述巡检方法包括:
步骤S110:获取应用的部署信息。
可以理解的是,所述部署信息包含了待部署到测试环境的应用,还包括了应用部署到测试环境过程中,能够表示测试环境的相关配置信息。进一步地,将待部署的应用发送至服务器以及服务器的测试环境进行配置。不同类型的应用需部署在相应类型的测试环境中,服务器接收到应用后即可根据应用的类型对目标服务器的测试环境进行配置,配置成功后,便能够获取对应的部署信息。
进而,请参照图2,所述部署信息包括所述应用的版本信息和测试环境的环境信息,所述步骤S110之前,包括:
步骤S101:基于第一预设平台,对所述应用的版本进行打包,得到所述版本信息;
步骤S102:将所述应用部署到对应的测试环境,得到所述环境信息;
步骤S103:将所述版本信息和所述环境信息存储于消息队列。
具体地,所述第一预设平台可以是Starlink平台,其中,Starlink平台是通过DevOps标准的开发运维一体化平台,所述第一预设平台也可以是其他能够对应用的版本进行管理和发布的平台,具体平台的使用视实际情况而定,这里不做限定。
进一步地,对所述应用所需打包的版本进行打包,能够得到应用软件包,并得到对应的版本信息;可选的,每个应用可以包含一个或多个版本,例如,版本包括但不限于:2016版本、2017版本、2019版本和2022版本等。而版本信息是指所述应用所对应版本的相关描述,从所述相关描述能够得知具体是打包哪一个版本的应用。
可以理解的是,不同应用需要的测试环境存在差异,因此,需要将所述应用软件包部署到对应的测试环境中,在所述测试环境下才能够实现对所述软件包进行代码覆盖率的测试,并且在测试通过后,所述第一预设平台能够发布对应版本的应用。具体地,将所述应用部署到对应的测试环境,得到所述测试环境对应的环境信息,进而,将所述版本信息和所述环境信息存储于MQ(Message Queue,消息队列)中。其中,MQ消息队列是用于保存消息或数据的容器,并且具有先进先出的特性,其中,所述MQ产品包括但不限于RabbitMQ、ActiveMQ、RocketMQ、ZeroMQ、Kafka、IBM WebSphere等。
通过使用MQ消息队列来存储所述版本信息和所述环境信息,以便后续在需要使用所述版本信息和所述环境信息时,能够进行自主获取,从而使得所述第一预设平台能够减少代码维护的工作量。
在一种实施例中,所述步骤S110具体包括:
基于第二预设平台,从所述消息队列中获取所述版本信息和所述环境信息。
具体地,所述第二预设平台可以是基于Libra-Platform微服务平台,也可以是基于Super-Jacoco平台,所述第二预设平台具体的使用可以视情况而定,这里不做限定。进一步地,通过MQ消息队列,第二预设平台能够主动从MQ消息队列中获取应用对应的所述版本信息和所述环境信息进行测试代码覆盖率,并且采用MQ消息队列的方式,能够降低整个系统中所述第一预设平台和所述第二预设平台的耦合性,提高了整个系统的性能。
在一种实施例中,所述版本信息包括应用ID(Identity document,身份标识号)、应用版本、发版日期和服务器IP地址等,所述环境信息包括硬件环境信息和软件环境信息。
具体地,所述应用ID是指所述应用对应不同接口时的唯一标识,也就是说,不同使用所述应用的接口对应的ID各不相同。所述应用版本可以是应用版本号,例如,打包的是2022版本的应用,那么,应用版本为2022。发版日期是指所述对应版本的发布日期,发布日期是指所述应用版本开发完后能够正式发布并投入使用的日期,比如,发行日期为2022-09-19,那么发版日期为2022年09月19日。所述服务器IP地址是指所述应用部署在某一服务器上,该服务器的IP地址,可以理解的是,服务器IP地址是用于标识服务器身份的地址。具体地,所述版本信息还可以包括版本改进信息和版本说明信息等,需要的版本信息可以视情况而定,这里不做限定。
可以理解的是,测试环境通常都是单独搭建的,以使在测试环境中方便重现开发环境无法重现的漏洞。具体的测试环境搭建能够根据实际情况而定,这里不做限定。具体地,测试环境的环境信息分为两个方面,一方面是软件信息,所述软件信息包括但不限于被测软件运行时的操作系统和数据库等;另一方面是硬件信息,所述硬件信息包括但不限于测试必需的服务器、客户端、网络连接设备以及打印机、扫描仪等辅助硬件设备。
步骤S120:当所述应用处于发布阶段,根据所述部署信息,创建代码覆盖率的收集任务和巡检任务,其中,所述收集任务用于收集代码覆盖率。
具体地,应用对应的发布流水线可以包含若干发布阶段,可以理解的是,所述发布阶段是指程序构建阶段获取软件包,能够供用户或客户使用的阶段。针对至少一个发布阶段创建代码覆盖率的收集任务和巡检任务,其中,所述收集任务用于收集代码覆盖率,也就是说,执行所述收集任务能够收集执行的代码占所有代码的比例,进一步地,所述巡检任务用于检查所述收集任务的状态。
进一步地,根据所述版本信息和环境信息,创建所述应用的代码覆盖率的巡检任务。不同的应用的版本在同一环境中,也会对应创建不同版本的应用的代码覆盖率的收集任务以及对应的巡检任务,从而能够更加全面地创建每一应用不同版本进行代码覆盖率的收集任务和巡检任务,节省了人工反复创建的时间,提高了效率。
步骤S130:当所述应用处于运行过程阶段,根据所述巡检任务,检查所述代码覆盖率的收集任务的创建状态。
具体地,所述巡检任务用于自动检查所述代码覆盖率的收集任务的创建状态,其中创建状态可分为已创建和未创建。可以理解的是,发布阶段是指准备阶段,运行阶段是指准备完成后的运行过程,因此,本实施例中的运行阶段是指相应的发布阶段运行过程,在所述运行阶段能够根据所述巡检任务,检查所述代码覆盖率的收集任务的创建状态。
可选的,本发明实施例的巡检任务还可以通过RPA(Robotic ProcessAutomation,机器人流程自动化)机器人来实现,其中,RPA机器人是一款新型工作流程自动化办公机器人,通过模拟人工操作进行自动流程执行处理。通过使用RPA机器人来,可以将办公人员从每日的重复工作中解放出来,提高生产效率。
步骤S140:响应于所述收集任务的不同创建状态,设置所述应用对应的收集状态。
可以理解的是,所述收集任务的创建状态不同,那么需要对应设置所述应用对应的收集状态,则首先需要明确收集任务的创建状态,进一步再根据创建状态设置收集状态。因此,通过响应不同创建状态,进而设置好收集任务对应的收集状态,能够多方位地自动检查代码覆盖率收集任务,有效地降低了人力成本,提高了处理效率。
在一种实施例中,请参照图3,所述步骤S140包括:
步骤S141:若所述创建状态为已创建,则判断所述收集状态是否满足预设活跃条件,若不满足,则将所述收集状态设置为活跃;
步骤S142:若所述创建状态为未创建,则为所述应用重新创建代码覆盖率的收集任务,并将所述收集状态设置为活跃。
具体地,预设活跃条件可以设置为在一定时间周期内,收集状态的活跃度必须高于预设活跃度,可以理解的是,当收集状态的活跃度高于预设活跃度,则表示收集状态为活跃;当收集状态的活跃度等于或低于预设活跃度,则表示收集状态为活跃。其中,所述活跃度是指在一定时间周期内,代码覆盖率收集的进度。示范性地,将时间周期设置为1s,此时如果代码覆盖率收集的进度为2%,那么在1s内,所述收集状态的活跃度为2%。预设可以设置为2%,进而,预设活跃条件可以设置为在1s内,收集状态的活跃度必须高于2%。具体的时间周期和预设活跃度均可以根据实际情况进行设置,这里不做限定。
进一步地,若是检查到所述创建状态为已创建,则表示该应用已经创建了代码覆盖率的收集任务,那么,则进一步判断所述收集状态是否满足预设活跃条件,若是不满足,则表示所述收集状态不活跃,因此,将所述收集状态设置为活跃即可。可选的,若是检查到所述创建状态为未创建,则表示该应用没有成功创建了代码覆盖率的收集任务,则为所述应用重新创建代码覆盖率的收集任务,并同时将所述收集状态设置为活跃。
通过响应所述收集任务的不同创建状态,从而能够更加有针对性地设置所述应用对应的收集状态,提高了处理效率。
进而,步骤S141具体还包括:若满足上述预设活跃条件,则统计所述应用对应的代码覆盖率,并根据所述代码覆盖率确定所述应用的代码冗余程度。
具体地,若所述收集状态满足预设活跃条件,表示所述应用不仅创建了收集任务,并且收集状态正处于活跃,那么,则统计所述应用对应的代码覆盖率,可以理解的是,代码覆盖率是软件测试中的一种度量,所述代码覆盖率用来描述应用程序中源代码被测试的比例,进而,可以基于在程序中寻找没有被测试用例测试过的地方,进一步创建新的测试用例来增加覆盖率。可以理解的是,代码覆盖率越高,那么,发生未检测到的漏洞或错误的概率就越低。
进一步地,能够通过统计所述应用对应的代码覆盖率来确定未覆盖的代码和无效代码,其中无效代码包括无用代码和冗余代码,进而,根据冗余代码在整个代码中的占比,确定所述应用的代码冗余程度。
通过统计所述应用对应的代码覆盖率,从而确定所述应用的代码冗余程度,能够更加全面地衡量所述应用的代码的测试好坏,进而保证测试质量的同时还能潜在地保护应用的产品,以使能够准确了解代码覆盖率收集任务的执行情况,便于及时发现问题和调整。
在一种实施例中,所述巡检方法还包括:
在所述代码覆盖率的巡检任务的执行过程中,将对应的应用的信息和所述收集任务的信息进行关联展示,以及展示所述应用的不同版本在运行阶段对应的代码覆盖率。
具体地,当所述代码覆盖率的巡检任务处于执行的状态时,应用对应处于所述运行阶段,因此,在所述运行阶段,将应用的信息和所述收集任务的信息进行关联展示。其中,所述应用的信息包括应用的版本信息、创建时间和内存大小等,所述收集任务的信息包括收集状态和代码覆盖率的值等。通过将应用的信息和收集任务的信息进行关联展示,能够更加简洁直接地展示同一应用不同版本的收集状态,并且还能展示同一应用不同版本的对应的代码覆盖率。
与现有技术相比,本发明实施例中提供的一种代码覆盖率的巡检方法包括:获取应用的部署信息;当所述应用处于发布阶段内,根据所述部署信息,创建代码覆盖率的巡检任务;当所述应用在运行过程中,根据所述巡检任务,检查所述代码覆盖率的收集任务的创建状态;响应于所述收集任务的不同创建状态,设置所述应用对应的收集状态。本发明实施例通过自动创建代码覆盖率的巡检任务,并根据巡检任务自动检查所述代码覆盖率的收集任务的创建状态,从而根据不同的创建状态实时调整收集状态,节省了人力成本,提高了巡检效率。
实施例2
与上述方法实施例相对应,请参照图4,图4为本发明实施例提供的一种代码覆盖率的巡检装置的结构框图。所述巡检装置100包括:获取模块110,创建模块120,检查模块130和响应模块140。
其中,获取模块110,用于获取应用的部署信息。
创建模块120,用于当所述应用处于发布阶段,根据所述部署信息,创建代码覆盖率的收集任务和巡检任务,其中,所述收集任务用于收集代码覆盖率。
检查模块130,用于当所述应用处于运行阶段,根据所述巡检任务,检查所述代码覆盖率的收集任务的创建状态。
响应模块140,用于响应于不同的所述创建状态,设置所述应用对应的收集状态。
可选的,所述巡检装置100包括:
打包模块,用于基于第一预设平台,对所述应用的版本进行打包,得到所述版本信息;
部署模块,用于将所述应用部署到对应的测试环境,得到所述环境信息;
存储模块,用于将所述版本信息和所述环境信息存储于消息队列。
可选的,获取模块110具体还用于基于第二预设平台,从所述消息队列中获取所述版本信息和所述环境信息。
可选的,所述响应模块140,包括:
第一响应子模块,用于若所述创建状态为已创建,则判断所述收集状态是否满足预设活跃条件,若不满足,则将所述收集状态设置为活跃;
第二响应子模块,用于若所述创建状态为未创建,则为所述应用重新创建代码覆盖率的收集任务,并将所述收集状态设置为活跃。
可选的,所述第一响应子模块具体还用于若满足所述预设活跃条件,则统计所述应用对应的代码覆盖率,并根据所述代码覆盖率确定所述应用的代码冗余程度。
可选的,所述巡检装置100具体还用于在所述代码覆盖率的巡检任务的执行过程中,将对应的应用的信息和所述收集任务的信息进行关联展示,以及展示所述应用的不同版本在运行阶段对应的代码覆盖率。
本申请实施例提供的代码覆盖率的巡检装置对应于上述实施例1中代码覆盖率的巡检方法的各个步骤,上述实施例1中的可选项同样适用于本实施例,故这里不再赘述。
本发明实施例还提供了一种计算机设备,所述计算机设备包括存储器及处理器,所述存储器存储有计算机程序,所述计算机程序在所述处理器执行时,实现如实施例1所述的代码覆盖率的巡检方法。
在一种实施例中,计算机设备是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。计算机设备至少包括但不限于:可通过系统总线相互通信链接存储器、处理器、网络接口。其中:存储器至少包括一种类型的计算机可读存储介质,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。但是应理解的是,并不要求实施所有示出的部件,可以替代的实施更多或者更少的部件。
在本实施例中,存储于存储器中的数据处理方法可以被分割为一个或者多个程序模块,并由一个或多个处理器所执行,以完成本发明。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,实现如实施例1所述的代码覆盖率的巡检方法。
在一种实施例中,计算机可读存储介质可以是计算机设备的内部存储单元,例如该计算机设备的硬盘或内存。
在另一些实施例中,计算机可读存储介质也可以是计算机设备的外部存储设备。当然,计算机可读存储介质还可以既包括计算机设备的内部存储单元也包括其外部存储设备。需要理解的是,计算机可读存储介质通常用于存储安装于计算机设备的操作系统和各类应用软件。此外,计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的各类数据。在这里示出和描述的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制,因此,示例性实施例的其他示例可以具有不同的值。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和结构图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,结构图和/或流程图中的每个方框、以及结构图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块或单元可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或更多个模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是智能手机、个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。

Claims (10)

1.一种代码覆盖率的巡检方法,其特征在于,所述方法包括:
获取应用的部署信息;
当所述应用处于发布阶段,根据所述部署信息,创建代码覆盖率的收集任务和巡检任务,其中,所述收集任务用于收集代码覆盖率;
当所述应用处于运行阶段,根据所述巡检任务,检查所述代码覆盖率的收集任务的创建状态;
响应于所述收集任务的不同创建状态,设置所述应用对应的收集状态。
2.根据权利要求1所述的代码覆盖率的巡检方法,其特征在于,所述部署信息包括所述应用的版本信息和测试环境的环境信息,所述获取应用的部署信息之前,包括:
基于第一预设平台,对所述应用的版本进行打包,得到所述版本信息;
将所述应用部署到对应的测试环境,得到所述环境信息;
将所述版本信息和所述环境信息存储于消息队列。
3.根据权利要求2所述的代码覆盖率的巡检方法,其特征在于,所述获取应用的部署信息,包括:
基于第二预设平台,从所述消息队列中获取所述版本信息和所述环境信息。
4.根据权利要求2或3所述的代码覆盖率的巡检方法,其特征在于,所述版本信息包括应用ID、应用版本、发版日期和服务器IP地址,所述环境信息包括硬件环境信息和软件环境信息。
5.根据权利要求1所述的代码覆盖率的巡检方法,其特征在于,所述响应于所述收集任务的不同创建状态,设置所述应用对应的收集状态,包括:
若所述创建状态为已创建,则判断所述收集状态是否满足预设活跃条件,若不满足,则将所述收集状态设置为活跃;
若所述创建状态为未创建,则为所述应用重新创建代码覆盖率的收集任务,并将所述收集状态设置为活跃。
6.根据权利要求5所述的代码覆盖率的巡检方法,其特征在于,所述若所述创建状态为已创建,判断所述收集状态是否满足预设活跃条件,还包括:
若满足所述预设活跃条件,则统计所述应用对应的代码覆盖率,并根据所述代码覆盖率确定所述应用的代码冗余程度。
7.根据权利要求1所述的代码覆盖率的巡检方法,其特征在于,所述方法还包括:
在所述代码覆盖率的巡检任务的执行过程中,将对应的应用的信息和所述收集任务的信息进行关联展示,以及展示所述应用的不同版本在运行阶段对应的代码覆盖率。
8.一种代码覆盖率的巡检装置,其特征在于,所述装置包括:
获取模块,用于获取应用的部署信息;
创建模块,用于当所述应用处于发布阶段,根据所述部署信息,创建代码覆盖率的收集任务和巡检任务,其中,所述收集任务用于收集代码覆盖率;
检查模块,用于当所述应用处于运行阶段,根据所述巡检任务,检查所述代码覆盖率的收集任务的创建状态;
响应模块,用于响应于不同的所述创建状态,设置所述应用对应的收集状态。
9.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器用于存储计算机程序,所述计算机程序在所述处理器上运行时执行权利要求1至7任一项所述的代码覆盖率的巡检方法。
10.一种计算机可读存储介质,其特征在于,包括:其存储有计算机程序,所述计算机程序在处理器上运行时执行权利要求1至7任一项所述的代码覆盖率的巡检方法。
CN202211318670.9A 2022-10-26 2022-10-26 代码覆盖率的巡检方法、装置、计算机设备及存储介质 Pending CN115525568A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211318670.9A CN115525568A (zh) 2022-10-26 2022-10-26 代码覆盖率的巡检方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211318670.9A CN115525568A (zh) 2022-10-26 2022-10-26 代码覆盖率的巡检方法、装置、计算机设备及存储介质

Publications (1)

Publication Number Publication Date
CN115525568A true CN115525568A (zh) 2022-12-27

Family

ID=84703418

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211318670.9A Pending CN115525568A (zh) 2022-10-26 2022-10-26 代码覆盖率的巡检方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN115525568A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115909533A (zh) * 2023-02-02 2023-04-04 北京神州光大科技有限公司 系统安全巡检方法及相关装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115909533A (zh) * 2023-02-02 2023-04-04 北京神州光大科技有限公司 系统安全巡检方法及相关装置

Similar Documents

Publication Publication Date Title
CN112486629B (zh) 微服务状态检测方法、装置、电子设备和存储介质
CN108038039B (zh) 记录日志的方法及微服务系统
CN111324423B (zh) 容器内进程的监控方法、装置、存储介质和计算机设备
US20160274997A1 (en) End user monitoring to automate issue tracking
CN111008105A (zh) 一种分布式系统调用关系可视化方法及装置
CN115525568A (zh) 代码覆盖率的巡检方法、装置、计算机设备及存储介质
CN110990289B (zh) 一种自动提交bug的方法、装置、电子设备及存储介质
CN112162761A (zh) 自动化部署项目至公有云容器化平台的方法、系统及设备
CN116089220A (zh) 基于操作系统的指标巡检方法及其装置、电子设备
CN115016820A (zh) 一种应用程序更新方法、装置、设备及存储介质
CN109558272A (zh) 服务器的故障恢复方法和装置
CN112558982B (zh) 代码检测方法、装置及计算机设备
CN110874311A (zh) 数据库检测方法、装置、计算机设备和存储介质
CN116194894A (zh) 原生云应用程序的故障定位
CN114500249B (zh) 一种根因定位方法和装置
CN116382697A (zh) 版本一致性检查方法、项目构建方法、设备及介质
CN111367796B (zh) 应用程序调试方法及装置
CN110362362A (zh) 任务调度方法及装置、存储介质、电子装置
CN112015436A (zh) 短信平台部署方法及装置、计算设备、计算机存储介质
CN112596750B (zh) 应用测试方法、装置、电子设备及计算机可读存储介质
CN115499493A (zh) 异步事务处理方法、装置、存储介质及计算机设备
CN110618943B (zh) 安防服务测试方法、装置、电子设备及可读存储介质
CN111400245B (zh) 美术资源迁移方法及装置
CN113656003A (zh) 一种软件包管理方法及相关设备
CN112181443B (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