项目测试结果管理方法、装置、计算机设备和存储介质与流程

文档序号:20186434发布日期:2020-03-27 19:07阅读:140来源:国知局
项目测试结果管理方法、装置、计算机设备和存储介质与流程

本申请涉及计算机技术领域,特别是涉及一种项目测试结果管理方法、装置、计算机设备和存储介质。



背景技术:

随着计算机技术的发展,应用程序在手机、个人电脑等终端上面得到了广泛的应用,编程技术也成为了当今热门技术之一;在开发工作完成之后通常会接入测试工具对项目中的编程单元进行测试,单元测试是在项目级代码开发完成后的一种基本的验证程序代码健壮性的方式,好的单元测试能够大大减少项目提测之后研发和测试人员的工作量。健壮性是指软件对于规范要求以外的输入情况的处理能力,健壮的系统对于规范要求以外的输入能够判断出不符合规范要求,并能有合理的处理方式。

传统地,对于每个项目中众多单元的测试结果的管理,是通过jacoco等开源工具来查看单元测试的各种指标达标的百分比来确定单元测试工作的完成情况;然而,发明人意识到,对于项目数量众多的互联网相关企业,对于不同项目中的单元测试情况,需要技术人员分别去不同的终端获取测试结果,管理效率较低。



技术实现要素:

基于此,有必要针对上述技术问题,提供一种能够高效管理每一项目的单元测试结果的项目测试结果管理方法、装置、计算机设备和存储介质。

一种项目测试结果管理方法,所述方法包括:

获取上传指令,,所述上传指令为用于上传目标单元的测试结果的指令;

从存储测试报告的预设位置读取与所述目标单元对应的目标测试报告;

根据设定好的报告解析规则从所述目标测试报告中解析得到目标指标信息;

将所述目标指标信息上传到管理平台的指标接口,所述指标接口是所述管理平台用于接收上传的指标信息的接口;

将所述目标测试报告上传到所述管理平台的报告接口,所述报告接口是所述管理平台用于接收上传的测试报告的接口。

在其中一个实施例中,所述获取上传指令之前,还包括:

当接收到对所述目标单元进行编译的指令或接收到所述目标单元的代码提交指令时,生成所述上传指令。

在其中一个实施例中,所述获取上传指令之后,还包括:

从代码仓库获取所述目标单元的补充信息,所述代码仓库是基于项目管理单元代码的仓库;

所述从存储测试报告的预设位置读取与所述目标单元对应的目标测试报告之后,还包括:

将所述补充信息添加到所述目标测试报告中。

在其中一个实施例中,所述从存储测试报告的预设位置读取与所述目标单元对应的目标测试报告之前,还包括:

对所述目标单元进行测试,得到与所述目标单元对应的所述目标测试报告;

将所述目标测试报告存储到所述预设位置。

在其中一个实施例中,所述得到与所述目标单元对应的所述目标测试报告之后,还包括:

对所述目标测试报告进行压缩;

所述将所述目标测试报告存储到所述预设位置,包括:

将压缩后的所述目标测试报告保存到所述预设位置;

所述将所述目标测试报告上传到所述管理平台的报告接口,包括:

将压缩后的所述目标测试报告上传到所述管理平台的报告接口,以使所述管理平台对压缩后的所述目标测试报告后解压缩。

在其中一个实施例中,所述将所述目标指标信息上传到管理平台的指标接口之后,还包括:

接收所述管理平台返回的与所述目标指标信息对应的目标标识;

所述将所述目标测试报告上传到所述管理平台的报告接口之后,还包括:

根据所述目标标识记录所述目标测试报告的存储位置。

一种项目测试结果管理装置,所述装置包括:

上传指令获取模块,用于获取上传指令,所述上传指令为用于上传目标单元的测试结果的指令;

报告读取模块,用于从存储测试报告的预设位置读取与所述目标单元对应的目标测试报告;

指标信息提取模块,用于根据设定好的报告解析规则从所述目标测试报告中解析得到目标指标信息;

指标上传模块,用于将所述目标指标信息上传到管理平台的指标接口,所述指标接口是所述管理平台用于接收上传的指标信息的接口;

报告上传模块,用于将所述目标测试报告上传到所述管理平台的报告接口,所述报告接口是所述管理平台用于接收上传的测试报告的接口。

在其中一个实施例中,所述项目测试结果管理装置还包括:

上传指令生成模块,用于当接收到对所述目标单元进行编译的指令或接收到所述目标单元的代码提交指令时,生成所述上传指令。

一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。

上述项目测试结果管理方法、装置、计算机设备和存储介质,每一终端在进行单元测试后,将测试结果存储到预设位置,终端可以从预设位置获取测试报告,上传到管理所有终端的单元测试结果的管理平台,终端上传到管理平台的单元测试结果包括解析出的有代表性的目标数据,以及终端进行单元测试后得到的测试报告原件。上述方法,通过一个管理平台管理所有连接的终端上传的项目测试结果,并将项目测试结果的目标数据和测试报告原件分开管理,若需获取某一项目中包含的单元的测试情况,则可直接通过管理平台进行查询获得,能够高效管理每一项目的单元测试结果。

附图说明

图1为一个实施例中项目测试结果管理方法的应用场景图;

图2为一个实施例中项目测试结果管理方法的流程示意图;

图3为一个实施例中覆盖率测试结果管理方法的流程示意图;

图4为一个实施例中项目测试结果管理装置的结构框图;

图5为一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

本申请提供的项目测试结果管理方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104通过网络进行通信。在终端102上安装实现本申请中的项目测试结果管理方法的插件,通过此程序实现将终端102的目标测试报告进行解析得到目标指标信息,并将目标指标信息和目标测试报告分别上传到服务器104上架构的管理平台的不同接口。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。

在一个实施例中,如图2所示,提供了一种项目测试结果管理方法,以该方法应用于图1中的终端102为例进行说明,包括以下步骤:

步骤s202,获取上传指令,上传指令为用于上传目标单元的测试结果的指令。

其中,上传指令是触发上传目标单元的测试结果的指令,此测试结果即为目标单元的测试报告和指标信息。上传指令可以从其他设备获取,也可以由终端根据预设的触发条件生成指令。例如,当终端接收到用户的启动命令或者当某一单元被编译或者提交时,终端生成上传指令,启动下述的步骤s204至s208。

当终端获取触发指令时,启动获取目标单元的测试报告和指标信息,并将获取的测试报告和指标信息发送至管理平台的操作。

s204,从存储测试报告的预设位置读取与目标单元对应的目标测试报告。

其中,预设位置是终端用于存储对各单元进行对应的测试后得到的测试报告的位置,预设位置可以为终端上某一磁盘中的固定位置,也可以是设置于终端之外的一个存储区域,例如终端外接的磁盘数据库等等。

测试报告是对一个单元的测试结果进行数据分析、数据处理后,生成的用于表征此单元测试情况的报告;此测试报告中应包含此单元的信息,如单元名称等;此单元所属的项目的信息,如项目名称或项目代码等等;单元的测试项和测试结果等信息。单元测试是对软件中的最小可测试单元进行检查和验证,是在软件开发过程中要进行的最低级别的测试活动,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试。其中,单元是人为规定的最小被测功能模块。可编写测试用例对单元执行对应的测试项,测试用例是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。

另外,若对一个项目中的多个单元执行了相同的测试,则可对所有的测试结果进行汇总后,获取此项目的综合测试结果。例如,单元的测试报告可以是指通过jacoco工具(一款开源的单元测试覆盖率统计工具)生成的此单元测试覆盖率统计报告。目标测试报告是本次需要上传到服务器端架构的管理平台上的报告。

具体地,终端要上传某一项目对应的测试报告至管理平台时,从存储测试报告的预设位置获取上传指令对应的目标单元的目标测试报告,按照下述步骤执行上传操作。

s206,根据设定好的报告解析规则从目标测试报告中解析得到目标指标信息。

设定好的报告解析规则是用于从测试报告中提取出具体代表性的指标信息的规则;可以是根据测试报告的结构、或者测试报告中包含的关键词来制定的规则;例如,对于jacoco工具生成的项目的代码覆盖率报告中,对于某一单元的检测结果为:

单元名称:a代码覆盖率(coverage):a%

单元名称:b代码覆盖率(coverage):b%

上述监测结果中,单元名称代表的是本项目中被测试的单元,a和b为具体的测试单元的名称;代码覆盖率为对单元执行的测试项目,而a%和b%则是代码覆盖率测试出的具体数值;每个单元的代码覆盖率测试结果单独占用一行;因此,可以将:单独一行中包含固定数据形式的单元名称以及百分比形式的代码覆盖率(也可以是分数等形式)等等特性设置成报告解析规则,当终端识别到符合这一规则的数据时,即将这一行数据获取出来作为目标指标信息;目标指标信息即为终端跟据设定好的报告解析规则对目标测试报告解析后得到的指标信息。

s208,将目标指标信息上传到管理平台的指标接口,指标接口是管理平台用于接收上传的指标信息的接口。

管理平台是一个用于管理与其连接的所有终端上传的项目测试结果的平台,此管理平台中包含两个对接终端上传的数据的接收接口:第一,用于接收终端上传的从测试报告解析的指标信息的指标接口;第二,用于接收上传的测试报告的报告接口。两个接收接口可以对应不同的接口编号或接口地址,终端可以根据接口编号或接口地址将解析的数据或者获取的测试报告上传到管理平台对应的接收接口。

管理平台接收到终端上传的从测试报告中解析出的指标信息或者测试报告后,需要将指标信息或者报告进行保存等操作,对于不同的接收接口,可建立不同的操作逻辑;例如,在指标接口处,管理平台可设置一套落表的逻辑,将终端上传的解析得到的零散的指标信息,按照其对应的项目名称、单元名称等规则落表;对于数据量级较大的测试结果,可以将解析得到的指标信息存到指定的数据库,并通过项目名称和单元名称建立数据库索引。而在报告接口处,则可以建立一套保存逻辑,即将终端上传的测试报告都存储到服务器的固定位置,或者可以存储到外接数据库等等;在管理平台存储测试报告时,也可以根据此测试报告上传的终端,或者其对应的项目名称等等建立对应索引,管理平台可以根据索引从存储测试报告的位置来获取报告,进行后续分析。

具体地,终端当完成对目标测试报告中目标数据的解析后,获取管理平台的指标接口的接口编码或者接口地址,将目标数据按照此接口编码或者接口地址上传到管理平台的指标接口。

s210,将目标测试报告上传到管理平台的报告接口,报告接口是管理平台用于接收上传的测试报告的接口。

具体地,终端还需要将目标测试报告上传到管理平台,终端获取管理平台的报告接口的接口编码或者接口地址,将目标测试报告按照此接口编码或者接口地址上传到管理平台的报告接口。管理平台当无法从终端解析后的数据中提取需要的信息时,可以获取解析数据对应的源测试报告来进行信息提取。

上述项目测试结果管理方法,每一终端在进行单元测试后,将测试结果存储到预设位置,终端可以从预设位置获取测试报告,上传到管理所有终端的单元测试结果的管理平台,终端上传到管理平台的单元测试结果包括解析出的有代表性的目标指标信息,以及终端进行单元测试后得到的测试报告原件。上述方法,通过一个管理平台管理所有连接的终端的单元测试结果,并将项目测试结果的指标信息和测试报告原件分开管理,若需获取某一项目的单元测试情况,则可直接通过管理平台进行查询获得,能够高效管理每一项目的单元测试结果。

在一个实施例中,图2中的步骤s202获取上传指令之前,还可以包括:当接收到对目标单元进行编译的指令或接收到目标单元的代码提交指令时,生成上传指令。

具体地,上传指令可以是由终端根据触发条件生成的,此触发条件可以是当终端对目标单元执行编译操作,即终端接收到对目标单元的编译的指令;触发条件也可以是终端将目标单元的代码上传至代码仓库的操作,即接收到目标单元的提交指令。

本实施例中,在目标单元完成开发,终端接收到对目标单元进行编译的指令或接收到目标单元的代码提交指令时,生成上传指令,触发终端将目标单元的目标指标信息和目标测试报告上传至管理平台;无需另外向终端下达上传指令,避免了测试报告上传中由于人为未操作造成的数据遗漏。

在一个实施例中,图2中的步骤s202获取上传指令之后,还可以包括:从代码仓库获取目标单元的补充信息,代码仓库是基于项目管理单元代码的仓库。步骤s204从存储测试报告的预设位置读取与目标单元对应的目标测试报告之后,还可以包括:将补充信息添加到目标测试报告中。

项目的每一开发负责人在完成某一项目或者项目中一个或多个单元的代码的开发工作后,将代码按照单元以及单元的所属项目、单元在项目中的功能等分类上传到代码仓库中,代码仓库根据这些分类管理各终端上传的代码。代码仓库可以利用gitlab(一个用于仓库管理系统的开源项目)实现。

补充信息是与目标单元相关的信息,可以为项目相关的信息等等;由于每一单元的测试项目不同,且在测试过程中生成的测试报告未必包含单元所属的项目的信息,故在终端向管理平台上传目标测试报告时,可先从代码仓库获取目标测试报告对应的目标单元的补充信息,以保证目标测试报告中信息的完整性。

在一个实施例中,图2中的步骤s204从存储测试报告的预设位置读取与目标单元对应的目标测试报告之前,还可以包括:对目标单元进行测试,得到与目标单元对应的目标测试报告;将目标测试报告存储到预设位置。

具体地,终端进行数据解析并上传到管理平台的测试报告,是终端对项目中的单元执行对应的测试后得到的。待测试单元为一个项目中包含的、某一需要进行测试的代码单元,终端对不同的代码单元进行的测试类型可以不同,终端对待测试单元进行测试后,将生成的测试报告保存到预设位置中,方便终端后续查询测试结果。

在实现项目开发过程中,可将项目划分为若干个代码单元,将各代码单元分派给不同的开发主体进行开发,对开发后的代码单元进行测试。可选地,每一开发主体可将代码单元汇总到一个测试终端统一测试,也可以由不同执行主体开发后分别对其开发的代码单元进行测试,最终将一个项目所有代码单元的测试报告都保存在一个统一的预设位置。在上述的代码覆盖率测试中,可直接基于jacoco插件测试代码单元中的覆盖率。

本实施例中,测试报告是对一个项目中的代码单元进行测试得到、且保存到预设位置的。

在一个实施例中,上述得到与目标单元对应的目标测试报告之后,还可以包括:对目标测试报告进行压缩。则步骤将目标测试报告存储到预设位置,可以包括:将压缩后的目标测试报告保存到预设位置。图2中的步骤s210将目标测试报告上传到管理平台的报告接口,可以包括:将压缩后的目标测试报告上传到管理平台的报告接口,以使管理平台对压缩后的目标测试报告后解压缩。

其中,在通过上一实施例中对单元进行对应测试,得到对应的测试报告之后,可对测试报告进行压缩后再进行保存。终端可直接从预设位置获取压缩后的目标测试报告,将其上传到管理平台的报告接口,管理平台接收到上传的压缩后的目标测试报告后,对其进行解压缩,得到目标测试报告。

例如,在覆盖率测试中,获取的覆盖率报告jacocoreportfactory的builtreport方法压缩报告,并将报告压缩包保存在预设位置。终端在获取压缩后的覆盖率报告时,可通过jacoco的剖析器(jacocoparser)工具完成对报告的解析,得到目标测试报告中的目标指标信息。

本实施例中,在得到目标测试报告后,可对其进行压缩,终端上传目标测试报告时直接将压缩后的目标测试报告上传至管理平台,由管理平台统一对上传的测试报告进行解压缩。从而有效节约了个终端存储测试报告的空间,并减少了终端向管理终端上传测试报告时的数据量。

在一个实施例中,图2中的步骤s208中将目标指标信息上传到管理平台的指标接口之后,还可以包括:接收管理平台返回的与目标指标信息对应的目标标识;图2中的步骤s210中将目标测试报告上传到管理平台的报告接口之后,还可以包括:根据目标标识记录目标测试报告的存储位置。

管理平台接收到终端上传的目标指标信息后,生成一个用于管理此目标指标信息的唯一标识,即目标标识。此目标标识可以为一个存储地址(id)等形式。管理平台可将此目标标识返回至目标指标信息的上传终端,使得其上传终端可通过此目标标识访问管理平台上存储的目标指标信息。对应地,管理平台在接收到目标指标信息对应目标测试报告后,生成目标标识和目标测试报告在管理终端地存储位置之间的关联关系;管理平台可根据目标标识访问其存储的目标指标信息和目标测试报告;各终端也可根据目标标识从管理平台上读取存储的目标指标信息和目标测试报告。

本实施例中,管理平台根据目标标识,管理存储的目标指标信息和目标测试报告,并将这一目标标识返回至终端。

请参见图3,图3提供了一实施例中覆盖率测试结果管理方法的流程图;本基于maven(项目对象模型,可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件)中(一款开源的单元测试覆盖率统计工具,可以嵌入到maven中,通过插件的形式生成单元测试覆盖率统计报告)架构。

现有的技术方案中,单元测试通常在本地进行,通过jacoco-maven-plugin插件对单元进行覆盖率测试,生成的覆盖率报告仅有开发工作者本身可以查看或通过某种手动提交的方式进行统一提交统计,收集报告的方式十分繁琐。覆盖率测试结果管理方法包括覆盖率测试结果上传步骤和平台管理步骤:

覆盖率测试结果上传步骤:项目在通过各终端提交或本地编译的时候触发单元测试覆盖率统计(cover-maven-plugin)插件,以压缩文件的形式上传覆盖率测试报告至管理平台(cover-center)。插件在终端上的运行流程具体包括:单元在执行本地编译或提交代码到gitlab时触发单测插件;单测插件根据项目默认路径/用户自定义路径获取到jacoco生成的单元测试覆盖率统计报告;单测插件解析覆盖率报告,获取到不同的覆盖率指标;单测插件将覆盖率报告打包成压缩文件;单测插件通过http接口上传报告到管理平台的指定接口,可为覆盖率指标和覆盖率报告指定不同的管理平台接口。

单元测试覆盖率统计插件的代码执行步骤包括:coverreportmojo获取项目路径、名称等信息,提交给gitrespository生成git信息报告;coverreportmojo使用selectfactory方法选取合适的工具工厂类,在本实施例中指jacoco类;coverreportmojo调用jacocoreportfactory的builtreport方法压缩报告并将报告压缩包暂存在默认(或用户自定义)的路径下,再由jacocoparser完成报告的解析,最终将解析后的覆盖率信息和压缩包地址一并回传;coverreportmojo调用coverclient的submit方法提交报告基本信息到管理平台,生成报告对应的唯一标识(id)并返回;coverreportmojo调用coverclient的upload方法提交报告压缩文件到管理平台,并根据之前返回的唯一标识记录下压缩文件地址。

平台管理步骤:管理平台(cover-center)调用文件存储服务(httpstorageservice)保存覆盖率统计报告。管理平台备份报告文件以防数据丢失。解析报告文件的数据如项目名称、报告存储地址、项目gitlab存储地址等信息并保存到数据库(db)。使用前端页面(cover-ui)对管理平台中保存的覆盖率报告进行所有项目单元测试覆盖率情况的统一查看。

基于maven的单元测试覆盖率统计插件(以下简称单测插件)可以通过本地编译的形式或配置yaml(一种直观的能够被电脑识别的数据序列化格式)脚本在推送代码到gitlab的时候触发,将单元测试覆盖率报告压缩之后统一上传到指定管理平台,在管理平台进行解压后展示在前端页面。

本实施例中,不再需要开发人员手动触发生成、统计单元测试覆盖率报告,只需要进行一些简单的配置,即可在提交代码时生成单元测试覆盖率报告并在管理平台给出的页面上进行查看。

应该理解的是,虽然图2-3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-3中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,如图4所示,提供了一种项目测试结果管理装置,包括:上传指令获取模块100、报告读取模块200、指标信息提取模块300、指标上传模块400和报告上传模块500,其中:

上传指令获取模块100,用于获取上传指令,上传指令为用于上传目标单元的测试结果的指令。

报告读取模块200,用于从存储测试报告的预设位置读取与目标单元对应的目标测试报告。

指标信息提取模块300,用于根据设定好的报告解析规则从目标测试报告中解析得到目标指标信息。

指标上传模块400,用于将目标指标信息上传到管理平台的指标接口,指标接口是管理平台用于接收上传的指标信息的接口。

报告上传模块500,用于将目标测试报告上传到管理平台的报告接口,报告接口是管理平台用于接收上传的测试报告的接口。

在一个实施例中,上述项目测试结果管理装置还可以包括:

上传指令生成模块,用于当接收到对目标单元进行编译的指令或接收到目标单元的代码提交指令时,生成上传指令。

在一个实施例中,上述项目测试结果管理装置还包括:

补充信息获取模块,用于从代码仓库获取目标单元的补充信息,代码仓库是基于项目管理单元代码的仓库。

信息补充模块,用于将补充信息添加到目标测试报告中。

在一个实施例中,上述项目测试结果管理装置还包括:

测试模块,用于对目标单元进行测试,得到与目标单元对应的目标测试报告。

报告保存模块,用于将目标测试报告存储到预设位置。

在一个实施例中,上述项目测试结果管理装置还包括:

报告压缩模块,用于对目标测试报告进行压缩。

上述报告保存模块,还用于将压缩后的目标测试报告保存到预设位置。

图4中的报告上传模块500,还用于将压缩后的目标测试报告上传到管理平台的报告接口,以使管理平台对压缩后的目标测试报告后解压缩。

在一个实施例中,上述项目测试结果管理装置还包括:

标识接收模块,用于接收管理平台返回的与目标指标信息对应的目标标识。

位置关联模块,用于根据目标标识记录目标测试报告的存储位置。

关于项目测试结果管理装置的具体限定可以参见上文中对于项目测试结果管理方法的限定,在此不再赘述。上述项目测试结果管理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图5所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种项目测试结果管理方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。

本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行计算机程序时实现以下步骤:获取上传指令,上传指令为用于上传目标单元的测试结果的指令;从存储测试报告的预设位置读取与目标单元对应的目标测试报告;根据设定好的报告解析规则从目标测试报告中解析得到目标指标信息;将目标指标信息上传到管理平台的指标接口,指标接口是管理平台用于接收上传的指标信息的接口;将目标测试报告上传到管理平台的报告接口,报告接口是管理平台用于接收上传的测试报告的接口。

在一个实施例中,处理器执行计算机程序时实现的获取上传指令之前,还包括:当接收到对目标单元进行编译的指令或接收到对目标单元的代码提交指令时,生成上传指令。

在一个实施例中,处理器执行计算机程序时实现的获取上传指令之后,还包括:从代码仓库获取目标单元的补充信息,代码仓库是基于项目管理单元代码的仓库;处理器执行计算机程序时实现的从存储测试报告的预设位置读取与目标单元对应的目标测试报告之后,还包括:将补充信息添加到目标测试报告中。

在一个实施例中,处理器执行计算机程序时实现的从存储测试报告的预设位置读取与目标单元对应的目标测试报告之前,还包括:对目标单元进行测试,得到与目标单元对应的目标测试报告;将目标测试报告存储到预设位置。

在一个实施例中,处理器执行计算机程序时实现的得到与目标单元对应的目标测试报告之后,还包括:对目标测试报告进行压缩;处理器执行计算机程序时实现的将目标测试报告存储到预设位置,包括:将压缩后的目标测试报告保存到预设位置;处理器执行计算机程序时实现的将目标测试报告上传到管理平台的报告接口,包括:将压缩后的目标测试报告上传到管理平台的报告接口,以使管理平台对压缩后的目标测试报告后解压缩。

在一个实施例中,处理器执行计算机程序时实现的将目标指标信息上传到管理平台的指标接口之后,还包括:接收管理平台返回的与目标指标信息对应的目标标识;处理器执行计算机程序时实现的将目标测试报告上传到管理平台的报告接口之后,还包括:根据目标标识记录目标测试报告的存储位置。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:获取上传指令,上传指令为用于上传目标单元的测试结果的指令;从存储测试报告的预设位置读取与目标单元对应的目标测试报告;根据设定好的报告解析规则从目标测试报告中解析得到目标指标信息;将目标指标信息上传到管理平台的指标接口,指标接口是管理平台用于接收上传的指标信息的接口;将目标测试报告上传到管理平台的报告接口,报告接口是管理平台用于接收上传的测试报告的接口。

在一个实施例中,计算机程序被处理器执行时实现的获取上传指令之前,还包括:当接收到对目标单元进行编译的指令或接收到对目标单元的代码提交指令时,生成上传指令。

在一个实施例中,计算机程序被处理器执行时实现的获取上传指令之后,还包括:从代码仓库获取目标单元的补充信息,代码仓库是基于项目管理单元代码的仓库;计算机程序被处理器执行时实现的从存储测试报告的预设位置读取与目标单元对应的目标测试报告之后,还包括:将补充信息添加到目标测试报告中。

在一个实施例中,计算机程序被处理器执行时实现的从存储测试报告的预设位置读取与目标单元对应的目标测试报告之前,还包括:对目标单元进行测试,得到与目标单元对应的目标测试报告;将目标测试报告存储到预设位置。

在一个实施例中,计算机程序被处理器执行时实现的得到与目标单元对应的目标测试报告之后,还包括:对目标测试报告进行压缩;计算机程序被处理器执行时实现的将目标测试报告存储到预设位置,包括:将压缩后的目标测试报告保存到预设位置;计算机程序被处理器执行时实现的将目标测试报告上传到管理平台的报告接口,包括:将压缩后的目标测试报告上传到管理平台的报告接口,以使管理平台对压缩后的目标测试报告后解压缩。

在一个实施例中,计算机程序被处理器执行时实现的将目标指标信息上传到管理平台的指标接口之后,还包括:接收管理平台返回的与目标指标信息对应的目标标识;计算机程序被处理器执行时实现的将目标测试报告上传到管理平台的报告接口之后,还包括:根据目标标识记录目标测试报告的存储位置。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1