CN111897737A - 微服务系统程序测试的遗漏检测方法及装置 - Google Patents

微服务系统程序测试的遗漏检测方法及装置 Download PDF

Info

Publication number
CN111897737A
CN111897737A CN202010848117.0A CN202010848117A CN111897737A CN 111897737 A CN111897737 A CN 111897737A CN 202010848117 A CN202010848117 A CN 202010848117A CN 111897737 A CN111897737 A CN 111897737A
Authority
CN
China
Prior art keywords
program
test
coverage
data
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.)
Granted
Application number
CN202010848117.0A
Other languages
English (en)
Other versions
CN111897737B (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.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
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 Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202010848117.0A priority Critical patent/CN111897737B/zh
Publication of CN111897737A publication Critical patent/CN111897737A/zh
Application granted granted Critical
Publication of CN111897737B publication Critical patent/CN111897737B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3692Test management for test results 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

Landscapes

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

Abstract

本发明提供的一种微服务系统程序测试的遗漏检测方法及装置,通过在不同时间点分别采集微服务系统程序测试过程中的测试覆盖率数据和属性标签;然后根据采集的时间点数据、所述属性标签以及所述测试覆盖率数据,生成按照所述版本标识、所述程序以及服务标识分类的行覆盖率结果;最后根据所述行覆盖率结果确定程序遗漏检测明细,进而实现累积程序覆盖率收集,能够实现整个系统的遗漏测试提醒,弥补人工以及自动化测试的不足,此外,本发明利用不同时间点采集的测试覆盖率数据,能够实现单个程序的多次覆盖结果合并。

Description

微服务系统程序测试的遗漏检测方法及装置
技术领域
本发明涉及程序技术领域,尤其涉及一种微服务系统程序测试的遗漏检测方法及装置。
背景技术
本部分旨在为权利要求书中陈述的本发明实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
在现阶段,无论是自动化测试还是手工测试,其执行的依据都是测试用例,而测试用例还是依赖人工的设计。但是系统、业务的复杂程度,测试人员对需求的理解,测试人员对改造影响范围评估的准确性,甚至是测试人员在设计和执行用例时的生理和心理状态,都会影响到测试用例的质量与测试的准确性,从而可能会导致测试遗漏。在复杂的系统环境下,需要有一种装置能准确展示测试人员测的测试结果,如何进行测试结果即覆盖率数据的汇总展示从而发现测试遗漏是一个亟待解决的问题。
发明内容
为了解决上述问题的至少一个,本发明实施例提供了一种微服务系统程序测试的遗漏检测方法,包括:
在不同时间点分别采集微服务系统程序测试过程中的测试覆盖率数据和属性标签;所述属性标签包括版本标识、程序标识以及服务标识;
根据采集的时间点数据、所述属性标签以及所述测试覆盖率数据,生成按照所述版本标识、所述程序以及服务标识分类的行覆盖率结果;
根据所述行覆盖率结果确定程序遗漏检测明细。
在某些实施例中,根据采集的时间点数据、所述属性标签以及所述测试覆盖率数据,生成按照所述版本标识、所述程序以及服务标识分类的行覆盖率结果,包括:
按照所述属性标签对所述测试覆盖率数据进行分类,生成以所述版本标识、所述程序以及服务标识分类的实例覆盖率数据;
针对不同时间点对应的同一实例覆盖率数据,查找不同时间点各自的覆盖状态,若在该不同时间点之间的程序未发生变化,则对该不同时间点的同一实例覆盖率数据进行逻辑或处理;
针对同一所述版本标识的程序的不同实例,若所述程序的行未发生变化,则对所述该程序下不同实例时的行覆盖率数据进行逻辑或处理。
在某些实施例中,所述在不同时间点分别采集微服务系统程序测试过程中的测试覆盖率数据,包括:
获取微服务系统中各程序的源代码路径以及编译后代码路径;
基于所述源代码路径以及编译后代码路径,通过jacoco agent收集微服务系统程序运行设定时长内的程序覆盖信息;
根据所述程序覆盖信息生成所述测试覆盖率数据。
在某些实施例中,所述在不同时间点分别采集微服务系统程序测试过程中的测试覆盖率数据和属性标签,包括:
每隔设定时长定时采集微服务系统程序测试过程中的测试覆盖率数据和属性标签。
本发明的另一方面,一种微服务系统程序测试的遗漏检测装置,包括:
采集模块,在不同时间点分别采集微服务系统程序测试过程中的测试覆盖率数据和属性标签;所述属性标签包括版本标识、程序标识以及服务标识;
生成模块,根据采集的时间点数据、所述属性标签以及所述测试覆盖率数据,生成按照所述版本标识、所述程序以及服务标识分类的行覆盖率结果;
明细确定模块,根据所述行覆盖率结果确定程序遗漏检测明细。
在某些实施例中,所述生成模块,包括:
按照所述属性标签对所述测试覆盖率数据进行分类,生成以所述版本标识、所述程序以及服务标识分类的实例覆盖率数据;
针对不同时间点对应的同一实例覆盖率数据,查找不同时间点各自的覆盖状态,若在该不同时间点之间的程序未发生变化,则对该不同时间点的同一实例覆盖率数据进行逻辑或处理;
针对同一所述版本标识的程序的不同实例,若所述程序的行未发生变化,则对所述该程序下不同实例时的行覆盖率数据进行逻辑或处理。
在某些实施例中,所述在不同时间点分别采集微服务系统程序测试过程中的测试覆盖率数据,包括:
获取微服务系统中各程序的源代码路径以及编译后代码路径;
基于所述源代码路径以及编译后代码路径,通过jacoco agent收集微服务系统程序运行设定时长内的程序覆盖信息;
根据所述程序覆盖信息生成所述测试覆盖率数据。
在某些实施例中,所述在不同时间点分别采集微服务系统程序测试过程中的测试覆盖率数据和属性标签,包括:
每隔设定时长定时采集微服务系统程序测试过程中的测试覆盖率数据和属性标签。
本发明实施例提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面任一所述方法。
本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述第一方面任一所述方法的计算机程序。
综上所述,本发明提供的一种微服务系统程序测试的遗漏检测方法及装置,通过在不同时间点分别采集微服务系统程序测试过程中的测试覆盖率数据和属性标签;然后根据采集的时间点数据、所述属性标签以及所述测试覆盖率数据,生成按照所述版本标识、所述程序以及服务标识分类的行覆盖率结果;最后根据所述行覆盖率结果确定程序遗漏检测明细,进而实现累积程序覆盖率收集,能够实现整个系统的遗漏测试提醒,弥补人工以及自动化测试的不足,此外,本发明利用不同时间点采集的测试覆盖率数据,能够实现单个程序的多次覆盖结果合并。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1为本发明实施例中提供的一种微服务系统程序测试的遗漏检测方法流程示意图;
图2为本发明实施例中提供的一种微服务系统程序测试的遗漏检测装置框图。
图3为适用于实现本发明中的微服务系统程序测试的遗漏检测方法的计算机设备结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面参考本发明的若干代表性实施方式,详细阐释本发明的原理和精神。
虽然本发明提供了如下述实施例或附图所示的方法操作步骤或装置结构,但基于常规或者无需创造性的劳动在所述方法或装置中可以包括更多或者更少的操作步骤或模块单元。在逻辑性上不存在必要因果关系的步骤或结构中,这些步骤的执行顺序或装置的模块结构不限于本发明实施例或附图所示的执行顺序或模块结构。所述的方法或模块结构的在实际中的装置或终端产品应用时,可以按照实施例或者附图所示的方法或模块结构进行顺序执行或者并行执行。
需要说明的是,本发明可用于信息安全技术领域,当然也可用于其他技术领域,例如数据处理技术领域等,本发明对此不作限制。
图1示出了本发明实施例中一种微服务系统程序测试的遗漏检测方法的流程示意图,包括:
S1:在不同时间点分别采集微服务系统程序测试过程中的测试覆盖率数据和属性标签;所述属性标签包括版本标识、程序标识以及服务标识;
S2:根据采集的时间点数据、所述属性标签以及所述测试覆盖率数据,生成按照所述版本标识、所述程序以及服务标识分类的行覆盖率结果;
S3:根据所述行覆盖率结果确定程序遗漏检测明细。
本发明提供的一种微服务系统程序测试的遗漏检测方法,本发明提供的一种微服务系统程序测试的遗漏检测方法及装置,通过在不同时间点分别采集微服务系统程序测试过程中的测试覆盖率数据和属性标签;然后根据采集的时间点数据、所述属性标签以及所述测试覆盖率数据,生成按照所述版本标识、所述程序以及服务标识分类的行覆盖率结果;最后根据所述行覆盖率结果确定程序遗漏检测明细,进而实现累积程序覆盖率收集,能够实现整个系统的遗漏测试提醒,弥补人工以及自动化测试的不足,此外,本发明利用不同时间点采集的测试覆盖率数据,能够实现单个程序的多次覆盖结果合并。
在一些实施例中,步骤S2具体包括:
S21:按照所述属性标签对所述测试覆盖率数据进行分类,生成以所述版本标识、所述程序以及服务标识分类的实例覆盖率数据;
S22:针对不同时间点对应的同一实例覆盖率数据,查找不同时间点各自的覆盖状态,若在该不同时间点之间的程序未发生变化,则对该不同时间点的同一实例覆盖率数据进行逻辑或处理;
S23:针对同一所述版本标识的程序的不同实例,若所述程序的行未发生变化,则对所述该程序下不同实例时的行覆盖率数据进行逻辑或处理。
该实施例中,对于空间融合,分两种情况考虑,1,同一个微服务系统id,同一个版本,不同的微服务id,报告直接相加2,同一个微服务系统id,同一个版本,相同的微服务id,不同的微服实例,需要深度融合,具体到每一个程序的每一行,对相同程序的同一行是否覆盖分别标记0或1,不同的报告之间做逻辑或操作,以此融合报告,最终形成一个微服务系统的行覆盖率报告。
对于时间融合,输入数据是本次空间融合的结果,简称报告A,以及环境中保留的上次时间融合之后的报告,简称报告B。分两种情况考虑,1,两个时间节点间程序没有发生变化,则可以直接融合,进行逻辑或操作。2,两个时间节点间程序发生了变化,则需比对发生变化的行,如果行发生变化,则该行B报告中的覆盖记录作废,采用A报告中的结果。如果行未发生变化,则把A B两份报告数据进行逻辑或操作。
在一些实施例中,步骤S1具体包括:
S11:获取微服务系统中各程序的源代码路径以及编译后代码路径;
S12:基于所述源代码路径以及编译后代码路径,通过jacoco agent收集微服务系统程序运行设定时长内的程序覆盖信息;
S13:根据所述程序覆盖信息生成所述测试覆盖率数据。
进一步的,在本发明中,可以定时采集上述测试覆盖率数据,即每隔设定时长定时采集微服务系统程序测试过程中的测试覆盖率数据和属性标签。该实施例中,可以保证遗漏测试的实时性。
在一些实施例中,可以利用jacoco开源覆盖率工具,收集全量程序、方法、分支、行的具体信息,并入库保存,同时记录程序、方法、分支以及行的覆盖情况也一并入库保存。利用git库方法识别程序变更清单、方法变更清单、分支变更、行变更,与上文数据库中信息进行匹配,标记变更。
利用git库方法获取到程序变更清单、方法变更清单、分支变更、行变更,结合了当期项目的变动程序情况。直接从覆盖率工具中提取到的覆盖率检测信息是对整个被测试应用整体的覆盖情况,而实际项目开发过程中,通常是以一个固定周期,比如一个月,作为项目周期,只需关注项目周期内变化的程序。本发明的覆盖程序展示突出变更,通过源码比对的手段,可以准确标识出项目周期内待测试的方法,分支,以及行。
本发明应用于功能测试领域,相比较单个程序的程序质量监管,本发明可适用于测试人员进行组合程序验证时使用,测试人员进行全流程或者单个功能测试时,起到遗漏提醒的作用。
数据来源上,功能测试人员在前台手工或者调度自动化测试任务来产生数据,并在功能测试环境部署程序定时读取覆盖率数据。
进一步的,在一些实施例中,可以为了方便展示(可视化),可以对是否覆盖以标志0或1展示,或者采用颜色来进行标识,例如颜色为绿色,则覆盖标记为1表示已完全覆盖。
可以知晓,本发明利用技术手段实现累积程序覆盖率收集,能够实现整个系统的遗漏测试提醒,弥补人工以及自动化测试的不足。
基于相同的发明构思,本发明实施例进一步提供一种微服务系统程序测试的遗漏检测装置,如图2所示,包括:
采集模块1,在不同时间点分别采集微服务系统程序测试过程中的测试覆盖率数据和属性标签;所述属性标签包括版本标识、程序标识以及服务标识;
生成模块2,根据采集的时间点数据、所述属性标签以及所述测试覆盖率数据,生成按照所述版本标识、所述程序以及服务标识分类的行覆盖率结果;
明细确定模块3,根据所述行覆盖率结果确定程序遗漏检测明细。
本发明提供的一种微服务系统程序测试的遗漏检测装置,通过在不同时间点分别采集微服务系统程序测试过程中的测试覆盖率数据和属性标签;然后根据采集的时间点数据、所述属性标签以及所述测试覆盖率数据,生成按照所述版本标识、所述程序以及服务标识分类的行覆盖率结果;最后根据所述行覆盖率结果确定程序遗漏检测明细,进而实现累积程序覆盖率收集,能够实现整个系统的遗漏测试提醒,弥补人工以及自动化测试的不足,此外,本发明利用不同时间点采集的测试覆盖率数据,能够实现单个程序的多次覆盖结果合并。
在某些实施例中,所述生成模块,包括:
按照所述属性标签对所述测试覆盖率数据进行分类,生成以所述版本标识、所述程序以及服务标识分类的实例覆盖率数据;
针对不同时间点对应的同一实例覆盖率数据,查找不同时间点各自的覆盖状态,若在该不同时间点之间的程序未发生变化,则对该不同时间点的同一实例覆盖率数据进行逻辑或处理;
针对同一所述版本标识的程序的不同实例,若所述程序的行未发生变化,则对所述该程序下不同实例时的行覆盖率数据进行逻辑或处理。
在某些实施例中,所述在不同时间点分别采集微服务系统程序测试过程中的测试覆盖率数据,包括:
获取微服务系统中各程序的源代码路径以及编译后代码路径;
基于所述源代码路径以及编译后代码路径,通过jacoco agent收集微服务系统程序运行设定时长内的程序覆盖信息;
根据所述程序覆盖信息生成所述测试覆盖率数据。
在某些实施例中,所述在不同时间点分别采集微服务系统程序测试过程中的测试覆盖率数据和属性标签,包括:
每隔设定时长定时采集微服务系统程序测试过程中的测试覆盖率数据和属性标签。
从硬件层面来说,为了本发明提供一种用于实现所述微服务系统程序测试的遗漏检测方法中的全部或部分内容的电子设备的实施例,所述电子设备具体包含有如下内容:
处理器(processor)、存储器(memory)、通信接口(Communications Interface)和总线;其中,所述处理器、存储器、通信接口通过所述总线完成相互间的通信;所述通信接口用于实现服务器、装置、分布式消息中间件集群装置、各类数据库以及用户终端等相关设备之间的信息传输;该电子设备可以是台式计算机、平板电脑及移动终端等,本实施例不限于此。在本实施例中,该电子设备可以参照实施例中的微服务系统程序测试的遗漏检测方法的实施例,以及,微服务系统程序测试的遗漏检测方法装置的实施例进行实施,其内容被合并于此,重复之处不再赘述。
图3为本发明实施例的电子设备9600的系统构成的示意框图。如图3所示,该电子设备9600可以包括中央处理器9100和存储器9140;存储器9140耦合到中央处理器9100。值得注意的是,该图3是示例性的;还可以使用其他类型的结构,来补充或代替该结构,以实现电信功能或其他功能。
一实施例中,微服务系统程序测试的遗漏检测方法功能可以被集成到中央处理器9100中。例如,中央处理器9100可以被配置为进行如下控制:
S1:在不同时间点分别采集微服务系统程序测试过程中的测试覆盖率数据和属性标签;所述属性标签包括版本标识、程序标识以及服务标识;
S2:根据采集的时间点数据、所述属性标签以及所述测试覆盖率数据,生成按照所述版本标识、所述程序以及服务标识分类的行覆盖率结果;
S3:根据所述行覆盖率结果确定程序遗漏检测明细。
从上述描述可知,本发明的实施例提供的电子设备,通过在不同时间点分别采集微服务系统程序测试过程中的测试覆盖率数据和属性标签;然后根据采集的时间点数据、所述属性标签以及所述测试覆盖率数据,生成按照所述版本标识、所述程序以及服务标识分类的行覆盖率结果;最后根据所述行覆盖率结果确定程序遗漏检测明细,进而实现累积程序覆盖率收集,能够实现整个系统的遗漏测试提醒,弥补人工以及自动化测试的不足,此外,本发明利用不同时间点采集的测试覆盖率数据,能够实现单个程序的多次覆盖结果合并。
在另一个实施方式中,微服务系统程序测试的遗漏检测方法装置可以与中央处理器9100分开配置,例如可以将微服务系统程序测试的遗漏检测方法配置为与中央处理器9100连接的芯片,通过中央处理器的控制来实现微服务系统程序测试的遗漏检测方法功能。
如图3所示,该电子设备9600还可以包括:通信模块9110、输入单元9120、音频处理器9130、显示器9160、电源9170。值得注意的是,电子设备9600也并不是必须要包括图3中所示的所有部件;此外,电子设备9600还可以包括图3中没有示出的部件,可以参考现有技术。
如图3所示,中央处理器9100有时也称为控制器或操作控件,可以包括微处理器或其他处理器装置和/或逻辑装置,该中央处理器9100接收输入并控制电子设备9600的各个部件的操作。
其中,存储器9140,例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种。可储存上述与失败有关的信息,此外还可存储执行有关信息的程序。并且中央处理器9100可执行该存储器9140存储的该程序,以实现信息存储或处理等。
输入单元9120向中央处理器9100提供输入。该输入单元9120例如为按键或触摸输入装置。电源9170用于向电子设备9600提供电力。显示器9160用于进行图像和文字等显示对象的显示。该显示器例如可为LCD显示器,但并不限于此。
该存储器9140可以是固态存储器,例如,只读存储器(ROM)、随机存取存储器(RAM)、SIM卡等。还可以是这样的存储器,其即使在断电时也保存信息,可被选择性地擦除且设有更多数据,该存储器的示例有时被称为EPROM等。存储器9140还可以是某种其它类型的装置。存储器9140包括缓冲存储器9141(有时被称为缓冲器)。存储器9140可以包括应用/功能存储部9142,该应用/功能存储部9142用于存储应用程序和功能程序或用于通过中央处理器9100执行电子设备9600的操作的流程。
存储器9140还可以包括数据存储部9143,该数据存储部9143用于存储数据,例如联系人、数字数据、图片、声音和/或任何其他由电子设备使用的数据。存储器9140的驱动程序存储部9144可以包括电子设备的用于通信功能和/或用于执行电子设备的其他功能(如消息传送应用、通讯录应用等)的各种驱动程序。
通信模块9110即为经由天线9111发送和接收信号的发送机/接收机9110。通信模块(发送机/接收机)9110耦合到中央处理器9100,以提供输入信号和接收输出信号,这可以和常规移动通信终端的情况相同。
基于不同的通信技术,在同一电子设备中,可以设置有多个通信模块9110,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机)9110还经由音频处理器9130耦合到扬声器9131和麦克风9132,以经由扬声器9131提供音频输出,并接收来自麦克风9132的音频输入,从而实现通常的电信功能。音频处理器9130可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器9130还耦合到中央处理器9100,从而使得可以通过麦克风9132能够在本机上录音,且使得可以通过扬声器9131来播放本机上存储的声音。
本发明的实施例还提供能够实现上述实施例中的执行主体可以为服务器的微服务系统程序测试的遗漏检测方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的微服务系统程序测试的遗漏检测方法的全部步骤。
从上述描述可知,本发明的实施例提供的计算机可读存储介质,通过在不同时间点分别采集微服务系统程序测试过程中的测试覆盖率数据和属性标签;然后根据采集的时间点数据、所述属性标签以及所述测试覆盖率数据,生成按照所述版本标识、所述程序以及服务标识分类的行覆盖率结果;最后根据所述行覆盖率结果确定程序遗漏检测明细,进而实现累积程序覆盖率收集,能够实现整个系统的遗漏测试提醒,弥补人工以及自动化测试的不足,此外,本发明利用不同时间点采集的测试覆盖率数据,能够实现单个程序的多次覆盖结果合并。
本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(装置)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种微服务系统程序测试的遗漏检测方法,其特征在于,包括:
在不同时间点分别采集微服务系统程序测试过程中的测试覆盖率数据和属性标签;所述属性标签包括版本标识、程序标识以及服务标识;
根据采集的时间点数据、所述属性标签以及所述测试覆盖率数据,生成按照所述版本标识、所述程序以及服务标识分类的行覆盖率结果;
根据所述行覆盖率结果确定程序遗漏检测明细。
2.根据权利要求1所述的遗漏检测方法,其特征在于,根据采集的时间点数据、所述属性标签以及所述测试覆盖率数据,生成按照所述版本标识、所述程序以及服务标识分类的行覆盖率结果,包括:
按照所述属性标签对所述测试覆盖率数据进行分类,生成以所述版本标识、所述程序以及服务标识分类的实例覆盖率数据;
针对不同时间点对应的同一实例覆盖率数据,查找不同时间点各自的覆盖状态,若在该不同时间点之间的程序未发生变化,则对该不同时间点的同一实例覆盖率数据进行逻辑或处理;
针对同一所述版本标识的程序的不同实例,若所述程序的行未发生变化,则对该程序下不同实例时的行覆盖率数据进行逻辑或处理。
3.根据权利要求1所述的遗漏检测方法,其特征在于,所述在不同时间点分别采集微服务系统程序测试过程中的测试覆盖率数据,包括:
获取微服务系统中各程序的源代码路径以及编译后代码路径;
基于所述源代码路径以及编译后代码路径,通过jacoco agent收集微服务系统程序运行设定时长内的程序覆盖信息;
根据所述程序覆盖信息生成所述测试覆盖率数据。
4.根据权利要求1所述的遗漏检测方法,其特征在于,所述在不同时间点分别采集微服务系统程序测试过程中的测试覆盖率数据和属性标签,包括:
每隔设定时长定时采集微服务系统程序测试过程中的测试覆盖率数据和属性标签。
5.一种微服务系统程序测试的遗漏检测装置,其特征在于,包括:
采集模块,在不同时间点分别采集微服务系统程序测试过程中的测试覆盖率数据和属性标签;所述属性标签包括版本标识、程序标识以及服务标识;
生成模块,根据采集的时间点数据、所述属性标签以及所述测试覆盖率数据,生成按照所述版本标识、所述程序以及服务标识分类的行覆盖率结果;
明细确定模块,根据所述行覆盖率结果确定程序遗漏检测明细。
6.根据权利要求5所述的遗漏检测装置,其特征在于,所述生成模块,包括:
按照所述属性标签对所述测试覆盖率数据进行分类,生成以所述版本标识、所述程序以及服务标识分类的实例覆盖率数据;
针对不同时间点对应的同一实例覆盖率数据,查找不同时间点各自的覆盖状态,若在该不同时间点之间的程序未发生变化,则对该不同时间点的同一实例覆盖率数据进行逻辑或处理;
针对同一所述版本标识的程序的不同实例,若所述程序的行未发生变化,则对该程序下不同实例时的行覆盖率数据进行逻辑或处理。
7.根据权利要求5所述的遗漏检测装置,其特征在于,所述在不同时间点分别采集微服务系统程序测试过程中的测试覆盖率数据,包括:
获取微服务系统中各程序的源代码路径以及编译后代码路径;
基于所述源代码路径以及编译后代码路径,通过jacoco agent收集微服务系统程序运行设定时长内的程序覆盖信息;
根据所述程序覆盖信息生成所述测试覆盖率数据。
8.根据权利要求5所述的遗漏检测装置,其特征在于,所述在不同时间点分别采集微服务系统程序测试过程中的测试覆盖率数据和属性标签,包括:
每隔设定时长定时采集微服务系统程序测试过程中的测试覆盖率数据和属性标签。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至4任一所述方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有执行权利要求1至4任一所述方法的计算机程序。
CN202010848117.0A 2020-08-21 2020-08-21 微服务系统程序测试的遗漏检测方法及装置 Active CN111897737B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010848117.0A CN111897737B (zh) 2020-08-21 2020-08-21 微服务系统程序测试的遗漏检测方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010848117.0A CN111897737B (zh) 2020-08-21 2020-08-21 微服务系统程序测试的遗漏检测方法及装置

Publications (2)

Publication Number Publication Date
CN111897737A true CN111897737A (zh) 2020-11-06
CN111897737B CN111897737B (zh) 2024-03-26

Family

ID=73230490

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010848117.0A Active CN111897737B (zh) 2020-08-21 2020-08-21 微服务系统程序测试的遗漏检测方法及装置

Country Status (1)

Country Link
CN (1) CN111897737B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112667515A (zh) * 2021-01-06 2021-04-16 杭州当虹科技股份有限公司 一种实现针对逻辑语句代码覆盖率的测试方法
CN113032281A (zh) * 2021-04-29 2021-06-25 中国工商银行股份有限公司 一种代码覆盖率实时获取方法及装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103095518A (zh) * 2011-11-08 2013-05-08 阿里巴巴集团控股有限公司 覆盖率测试处理方法、装置、覆盖率测试服务器及系统
US20150363295A1 (en) * 2014-06-12 2015-12-17 Synopsys, Inc. Command coverage analyzer
CN106681912A (zh) * 2016-12-08 2017-05-17 武汉斗鱼网络科技有限公司 用于Android系统的代码覆盖率的自动化测试方法及装置
CN107480066A (zh) * 2017-08-18 2017-12-15 网易(杭州)网络有限公司 代码覆盖率统计方法、装置、存储介质、处理器和终端
CN110245073A (zh) * 2019-05-21 2019-09-17 北京字节跳动网络技术有限公司 终端代码覆盖率监测方法、系统、介质和电子设备
CN110399287A (zh) * 2018-04-24 2019-11-01 阿里巴巴集团控股有限公司 应用测试的覆盖率收集方法及装置
CN110888811A (zh) * 2019-11-21 2020-03-17 望海康信(北京)科技股份公司 代码覆盖率信息处理方法、装置、电子设备及介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103095518A (zh) * 2011-11-08 2013-05-08 阿里巴巴集团控股有限公司 覆盖率测试处理方法、装置、覆盖率测试服务器及系统
US20150363295A1 (en) * 2014-06-12 2015-12-17 Synopsys, Inc. Command coverage analyzer
CN106681912A (zh) * 2016-12-08 2017-05-17 武汉斗鱼网络科技有限公司 用于Android系统的代码覆盖率的自动化测试方法及装置
CN107480066A (zh) * 2017-08-18 2017-12-15 网易(杭州)网络有限公司 代码覆盖率统计方法、装置、存储介质、处理器和终端
CN110399287A (zh) * 2018-04-24 2019-11-01 阿里巴巴集团控股有限公司 应用测试的覆盖率收集方法及装置
CN110245073A (zh) * 2019-05-21 2019-09-17 北京字节跳动网络技术有限公司 终端代码覆盖率监测方法、系统、介质和电子设备
CN110888811A (zh) * 2019-11-21 2020-03-17 望海康信(北京)科技股份公司 代码覆盖率信息处理方法、装置、电子设备及介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112667515A (zh) * 2021-01-06 2021-04-16 杭州当虹科技股份有限公司 一种实现针对逻辑语句代码覆盖率的测试方法
CN113032281A (zh) * 2021-04-29 2021-06-25 中国工商银行股份有限公司 一种代码覆盖率实时获取方法及装置
CN113032281B (zh) * 2021-04-29 2024-04-19 中国工商银行股份有限公司 一种代码覆盖率实时获取方法及装置

Also Published As

Publication number Publication date
CN111897737B (zh) 2024-03-26

Similar Documents

Publication Publication Date Title
CN108984418B (zh) 软件测试管理方法、装置、电子设备及存储介质
CN108959059B (zh) 一种测试方法以及测试平台
CN113138973B (zh) 数据管理系统及工作方法
CN111897737B (zh) 微服务系统程序测试的遗漏检测方法及装置
CN111897740A (zh) 用户界面的测试方法、装置、电子设备及计算机可读介质
CN114003451B (zh) 一种接口测试方法、装置、系统及介质
CN111782556A (zh) 一种自动测试方法及装置
CN111290951A (zh) 测试方法、终端、服务器、系统及存储介质
CN113377637A (zh) 性能容量诊断方法及装置
CN113568833A (zh) 测试用例确定方法、装置、计算机设备及可读存储介质
CN111767218B (zh) 一种用于持续集成的自动化测试方法、设备及存储介质
CN110688173B (zh) 一种跨平台界面框架中组件的定位方法、装置及电子设备
CN111708712A (zh) 用户行为测试用例的生成方法、流量回放方法及电子设备
CN112162908A (zh) 基于字节码注入技术的程序调用链路监控实现方法及装置
CN111143724A (zh) 一种数据处理方法、装置、设备及介质
CN113238901B (zh) 多设备的自动化测试方法及装置、存储介质、计算机设备
CN115392802A (zh) 工业产品的缺陷检测方法、系统、介质及设备
CN115576834A (zh) 支撑故障还原的软件测试复用方法、系统、终端及介质
CN105391602B (zh) 一种数据采集测试方法和装置
CN115237889A (zh) 数据库切换方法及装置、存储介质、计算机设备
CN103914377A (zh) 接口测试方法及装置
CN113935572A (zh) 通用型线上产品异音智能检测系统及设备
CN114064510A (zh) 功能测试方法、装置、电子设备和存储介质
CN112035365A (zh) 支持多测试环境的版本部署方法及装置
CN111858315B (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