项目开发过程质量的确定方法、装置、计算机设备与流程

文档序号:21592393发布日期:2020-07-24 16:40阅读:191来源:国知局
项目开发过程质量的确定方法、装置、计算机设备与流程

本申请涉及计算机技术领域,特别是涉及一种项目开发过程质量的确定方法、装置、计算机设备和存储介质。



背景技术:

随着计算机技术的发展,软件项目的开发模式发生了很多变化,敏捷开发模式逐渐普及;它以用户需求为目标导向,通过迭代的方式对软件项目进行循序渐进地开发。

项目开发过程的质量是项目开发团队有效产出的保障,但目前多是以项目对应产品的质量或代码的质量作为对项目整体质量的评价,这种质量确定方法缺少对于项目开发过程的考量,质量确定的效果过于片面且效果较差。



技术实现要素:

基于此,有必要针对上述技术问题,提供一种能够较为全面确定项目开发过程质量的项目开发过程质量的确定方法、装置、计算机设备和存储介质。

一种项目开发过程质量的确定方法,所述方法包括:

获取待检测项目;所述待检测项目包括所述待检测项目的代码、所述待检测项目的项目构建信息、所述待检测项目的产品信息以及所述待检测项目的数据库运行信息;

根据所述待检测项目的代码、所述项目构建信息、所述产品信息以及所述数据库运行信息,分别获取所述待检测项目的代码检测信息、项目构建检测信息、产品运行检测信息以及数据库运行检测信息;

获取与所述待检测项目对应的质量检测配置文件;

根据所述质量检测配置文件,分别对所述代码检测信息、所述项目构建检测信息、所述产品运行检测信息以及所述数据库检测运行信息进行质量识别,得到多个质量识别结果;

根据预设的权重值,对所述多个质量识别结果进行加权处理,得到所述待检测项目开发过程质量的识别结果。

在其中一个实施例中,所述获取所述待检测项目的代码检测信息,包括:

根据预设的代码规范文件对所述待检测项目的代码进行检测,得到代码违规信息和代码红线信息;

根据预设的安全检测工具对所述待检测项目的代码进行安全漏洞检测,得到所述代码安全检测信息;

将所述代码违规信息、代码红线信息以及所述代码安全检测信息作为所述待检测项目的代码检测信息。

在其中一个实施例中,所述根据预设的安全检测工具对所述待检测项目的代码进行安全漏洞检测,得到所述代码安全检测信息,包括:

调用所述预设的安全检测工具;

根据所述预设的安全检测工具对所述待检测项目的代码进行安全漏洞检测,确定检测到的安全漏洞的位置以及所述安全漏洞的名称;

根据所述安全漏洞的位置以及所述安全漏洞的名称生成所述代码安全检测信息。

在其中一个实施例中,所述获取所述待检测项目的产品运行检测信息,包括:

获取与所述待检测项目对应的产品的埋点数据;

根据所述埋点数据对所述产品的运行状态进行检测,得到所述待检测项目的产品运行检测信息;所述产品运行检测信息包括所述产品的故障信息以及所述产品的测试缺陷信息。

在其中一个实施例中,在所述根据所述质量检测配置文件,分别对所述代码检测信息、所述项目构建检测信息、所述产品运行检测信息以及所述数据库检测运行信息进行质量识别,得到多个质量识别结果之后,还包括:

根据预设的预警参数分别对所述多个质量识别结果进行检测;

若检测到所述质量识别结果达到与所述预警参数对应的预警条件时,则根据所述质量识别结果生成对应的预警信息,并发送至目标终端。

在其中一个实施例中,在所述根据预设的权重值,对所述多个质量识别结果进行加权处理,得到所述待检测项目开发过程质量的识别结果之前,还包括:

分别获取所述待检测项目的代码、所述项目构建信息、所述产品信息以及所述数据库运行信息对于所述待检测项目的影响因子;

根据所述影响因子确定预设的权重值。

在其中一个实施例中,在所述根据预设的权重值,对所述多个质量识别结果进行加权处理,得到所述待检测项目开发过程质量的识别结果之后,还包括:

从数据库中获取所述待检测项目开发过程质量的历史识别结果;

将所述识别结果与所述历史识别结果进行对比,生成所述待检测项目开发过程质量的发展趋势图。

一种项目开发过程质量的确定装置,所述装置包括:

待检测项目确定模块,用于获取待检测项目;所述待检测项目包括所述待检测项目的代码、所述待检测项目的项目构建信息、所述待检测项目的产品信息以及所述待检测项目的数据库运行信息;

检测信息获取模块,用于根据所述待检测项目的代码、所述项目构建信息、所述产品信息以及所述数据库运行信息,分别获取所述待检测项目的代码检测信息、项目构建检测信息、产品运行检测信息以及数据库运行检测信息;

配置文件获取模块,用于获取与所述待检测项目对应的质量检测配置文件;

第一质量识别模块,用于根据所述质量检测配置文件,分别对所述代码检测信息、所述项目构建检测信息、所述产品运行检测信息以及所述数据库检测运行信息进行质量识别,得到多个质量识别结果;

第二质量识别模块,用于根据预设的权重值,对所述多个质量识别结果进行加权处理,得到所述待检测项目开发过程质量的识别结果。

一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

获取待检测项目;所述待检测项目包括所述待检测项目的代码、所述待检测项目的项目构建信息、所述待检测项目的产品信息以及所述待检测项目的数据库运行信息;

根据所述待检测项目的代码、所述项目构建信息、所述产品信息以及所述数据库运行信息,分别获取所述待检测项目的代码检测信息、项目构建检测信息、产品运行检测信息以及数据库运行检测信息;

获取与所述待检测项目对应的质量检测配置文件;

根据所述质量检测配置文件,分别对所述代码检测信息、所述项目构建检测信息、所述产品运行检测信息以及所述数据库检测运行信息进行质量识别,得到多个质量识别结果;

根据预设的权重值,对所述多个质量识别结果进行加权处理,得到所述待检测项目开发过程质量的识别结果。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:

获取待检测项目;所述待检测项目包括所述待检测项目的代码、所述待检测项目的项目构建信息、所述待检测项目的产品信息以及所述待检测项目的数据库运行信息;

根据所述待检测项目的代码、所述项目构建信息、所述产品信息以及所述数据库运行信息,分别获取所述待检测项目的代码检测信息、项目构建检测信息、产品运行检测信息以及数据库运行检测信息;

获取与所述待检测项目对应的质量检测配置文件;

根据所述质量检测配置文件,分别对所述代码检测信息、所述项目构建检测信息、所述产品运行检测信息以及所述数据库检测运行信息进行质量识别,得到多个质量识别结果;

根据预设的权重值,对所述多个质量识别结果进行加权处理,得到所述待检测项目开发过程质量的识别结果。

上述项目开发过程质量的确定方法、装置、计算机设备和存储介质,包括:获取待检测项目;待检测项目包括待检测项目的代码、待检测项目的项目构建信息、待检测项目的产品信息以及待检测项目的数据库运行信息;根据待检测项目的代码、项目构建信息、产品信息以及数据库运行信息,分别获取待检测项目的代码检测信息、项目构建检测信息、产品运行检测信息以及数据库运行检测信息;获取与待检测项目对应的质量检测配置文件;根据质量检测配置文件,分别对代码检测信息、项目构建检测信息、产品运行检测信息以及数据库检测运行信息进行质量识别,得到多个质量识别结果;根据预设的权重值,对多个质量识别结果进行加权处理,得到待检测项目开发过程质量的识别结果。本方法通过对待检测项目进行代码、项目构建信息、产品信息以及数据库运行信息多个方面的检测,得到多个质量识别结果,再根据预设的权重值确定待检测项目开发过程质量的识别结果,从项目的代码到项目对应的产品都纳入对项目开发过程质量确定的考量,提高了项目开发过程质量的确定效果。

附图说明

图1为一个实施例中项目开发过程质量的确定方法的应用环境图;

图2为一个实施例中项目开发过程质量的确定方法的流程示意图;

图3为一个实施例中获取待检测项目的代码检测信息步骤的流程示意图;

图4为一个实施例中获取待检测项目的产品运行检测信息方法的流程示意图;

图5为一个实施例中项目开发过程质量的确定装置的结构框图;

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

具体实施方式

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

本申请提供的项目开发过程质量的确定方法,可以应用于如图1所示的应用环境中。其中,服务器11与终端12通过网络进行通信。服务器11可以从终端12处获取待检测项目;服务器11根据待检测项目的代码、项目构建信息、产品信息以及数据库运行信息,分别获取待检测项目的代码检测信息、项目构建检测信息、产品运行检测信息以及数据库运行检测信息;服务器11获取与待检测项目对应的质量检测配置文件;服务器11根据质量检测配置文件,分别对代码检测信息、项目构建检测信息、产品运行检测信息以及数据库检测运行信息进行质量识别,得到多个质量识别结果;服务器11根据预设的权重值,对多个质量识别结果进行加权处理,得到待检测项目开发过程质量的识别结果。其中,终端12可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,也可以是存储有待检测项目的数据库、服务器、服务器集群等;服务器11可以用独立的服务器或者是多个服务器组成的服务器集群来实现,例如应用在一个质量管理平台的服务器。

在一个实施例中,如图2所示,提供了一种项目开发过程质量的确定方法,以该方法应用于图1中的服务器11为例进行说明,包括以下步骤:

步骤21,获取待检测项目;待检测项目包括待检测项目的代码、待检测项目的项目构建信息、待检测项目的产品信息以及待检测项目的数据库运行信息。

具体地,服务器根据待检测项目确定待检测项目的存放位置或待检测项目各个模块数据的存放位置;根据存放位置获取待检测项目的相应文件;例如待检测项目z包括5个模块,其中a模块在服务器a,b模块在服务器b中,以此类推直到服务器e;服务器接到项目检测指令后,根据指令确定待检测项目z,并进一步确定待检测项目z涉及的各个模块存放的服务器路径a-e;之后服务器分别从a-e服务器上获取待检测项目z的各个模块的数据,全部获取之后即完成对待检测项目的获取工作。

待检测项目的代码可以通过在开发人员的ide(integrateddevelopmentenvironment,集成开发环境)上的相应插件进行获取,实时将开发人员编写的代码上传至服务器;也可以在开发人员提交代码至数据库或代码仓库后,从中获取待检测项目的代码;服务器能够每日定时对项目进行自动构建,并记录自动构建过程中的数据日志信息,得到待检测项目的项目构建信息;待检测项目的产品信息可以从产品服务器直接获取,产品信息可以是客户的使用情况、客户的投诉情况、客户端的运行情况等;待检测项目的数据库运行信息可以从根据数据库服务器的运行情况得到,包括数据库的运行错误日志、数据库语句错误、被读取次数等。

本步骤服务器根据待检测项目的特点,分别获取待检测项目涉及到的多方面数据,能够对待检测项目进行代码、项目构建信息、产品信息以及数据库运行信息多个方面的检测,提高了项目开发过程质量的确定效果。

步骤22,根据待检测项目的代码、项目构建信息、产品信息以及数据库运行信息,分别获取待检测项目的代码检测信息、项目构建检测信息、产品运行检测信息以及数据库运行检测信息。

具体地,服务器获取到的代码、项目构建信息、产品信息以及数据库运行信息后,分别对上述获取到的数据进行检测,得到代码检测信息、项目构建检测信息、产品运行检测信息以及数据库运行检测信息。例如,服务器通过ide(integrateddevelopmentenvironment,集成开发环境)上的规约插件获取到开发人员所编写的代码,服务器利用规约插件可以对代码进行违约检查,并记录下违规项、违规代码、时间等详细信息等作为待检测项目的代码检测信息。

本步骤通过对待检测项目进行获取,再分别对获取的数据进行检测得到多个方面的检测信息,完成了对待检测项目中具体数据的检测,为后续项目开发过程质量的确定提供了数据支撑,项目的代码到项目对应的产品都纳入对项目开发过程质量确定的考量,提高了项目开发过程质量的确定效果。

步骤23,获取与待检测项目对应的质量检测配置文件。

其中,不同的待检测项目对应不同的质量检测配置文件;质量检测配置文件可以是对待检测项目进行分数评价的规则集合文件,也可以是趋势评价的规则集合文件;例如,质量检测配置文件是针对待检测项目进行分数评价的规则配置文件,其中代码编写问题一个扣0.5分,代码注释问题一个扣0.2分,若该待检测项目中存在10个代码编写问题和20个代码注释问题,则根据上述质量配置文件计算得出该待检测项目的扣分额为9分。

具体地,服务器根据待检测项目携带的项目类型标识以及待检测项目包括的具体内容,从数据库中选择与待检测项目对应的质量检测配置文件;服务器还可以直接接受指定的质量检测配置文件对待检测项目进行检测。

本步骤服务器通过获取质量检测配置文件确定对待检测项目的检测方式,不同的项目对应不同的质量检测配置文件,实现了对待检测项目的差异化质量检测,提高了项目开发过程质量的确定效果。

步骤24,根据质量检测配置文件,分别对代码检测信息、项目构建检测信息、产品运行检测信息以及数据库检测运行信息进行质量识别,得到多个质量识别结果。

具体地,服务器根据待检测项目中不同种类的检测信息,分别从质量检测配置文件提取相应的配置文件,对代码检测信息、项目构建检测信息、产品运行检测信息以及数据库检测运行信息进行质量识别依次进行质量识别,一个检测信息对应一个识别结果。例如,代码检测信息中存在20个代码编写问题,每个问题扣0.5分,则服务器对于代码检测信息的质量识别结果为-10分。

本步骤通过质量检测配置文件对待检测项目中不同种类的检测信息进行质量识别,得到多个质量识别结果,再根据预设的权重值确定待检测项目开发过程质量的识别结果,从项目的代码到项目对应的产品都纳入对项目开发过程质量确定的考量,提高了项目开发过程质量的确定效果。

步骤25,根据预设的权重值,对多个质量识别结果进行加权处理,得到待检测项目开发过程质量的识别结果。

其中,由于待检测项目中每个模块对项目的影响程度都不同,因此根据影响程度的不同设置了不同的权重值。例如,代码模块对于待检测项目的整体影响较大,则代码对应的权重值较高。

具体地,服务器根据待检测项目确定与待检测项目对应的权重值文件,根据权重值文件中记录的每个模块的权重对质量识别结果进行加权计算,然后将加权后的多个质量识别结果进行整合得到待检测项目开发过程质量的识别结果。例如,代码检测信息对应的权重值为0.5,项目构建检测信息对应的权重值为0.2,产品运行检测信息对应的权重值为0.15,数据库检测运行信息对应的权重值为0.15,若上述各个检测信息的质量识别结果均为100分,经过加权计算后质量识别结果分别为50、20、15、15,得到的待检测项目开发过程质量的识别结果也为100分。

本步骤根据待检测项目的代码、项目构建信息、产品信息以及数据库运行信息对于待检测项目重要性的不同,设置了不同的权重,在进行项目开发过程质量的确定过程中,能够更好的体现项目开发过程质量的确定效果。

上述项目开发过程质量的确定方法,包括:获取待检测项目;待检测项目包括待检测项目的代码、待检测项目的项目构建信息、待检测项目的产品信息以及待检测项目的数据库运行信息;根据待检测项目的代码、项目构建信息、产品信息以及数据库运行信息,分别获取待检测项目的代码检测信息、项目构建检测信息、产品运行检测信息以及数据库运行检测信息;获取与待检测项目对应的质量检测配置文件;根据质量检测配置文件,分别对代码检测信息、项目构建检测信息、产品运行检测信息以及数据库检测运行信息进行质量识别,得到多个质量识别结果;根据预设的权重值,对多个质量识别结果进行加权处理,得到待检测项目开发过程质量的识别结果。本方法通过对待检测项目进行代码、项目构建信息、产品信息以及数据库运行信息多个方面的检测,得到多个质量识别结果,再根据预设的权重值确定待检测项目开发过程质量的识别结果,从项目的代码到项目对应的产品都纳入对项目开发过程质量确定的考量,提高了项目开发过程质量的确定效果。

在一个实施例中,如图3所示,步骤22,获取待检测项目的代码检测信息,包括:

步骤31,根据预设的代码规范文件对待检测项目的代码进行检测,得到代码违规信息和代码红线信息;

步骤32,根据预设的安全检测工具对待检测项目的代码进行安全漏洞检测,得到代码安全检测信息;

步骤33,将代码违规信息、代码红线信息以及代码安全检测信息作为待检测项目的代码检测信息。

其中,代码规范文件即包含了大量编程规约,能够对获取到的代码进行检查的文件,例如命名规范检查、包名规范、类和接口名规范、常量定义、空格、换行和缩进规范等。代码违规信息是代码违反代码规范文件的具体内容,包括违规项、违规代码、时间等;代码红线信息主要分为两类,分别为阻断(blocker)、严重(critical)。其中阻断问题是指会导致程序运行中断的问题,如:空指针问题(nullpointerexception)、线程死锁问题等;代码安全检测信息是服务器对代码进行漏洞检测后生成的记录信息。

具体地,服务器将获取到的代码数据结合代码规范文件进行一一检测,将检测出的不符合代码规范文件的代码语句一一记录,同时记录违规代码的具体内容、违规项、违规时间并生成代码违规信息。同理,服务器结合代码规范文件对代码数据进行一一检测,将出现代码红线的代码语句记录在代码红线信息中。在对代码的规范进行检测后,服务器调用预设的安全检测工具,对代码进行安全漏洞扫描;例如,通过在svn或git代码仓库中部署python脚本,服务器可爬取到每个代码仓库的每日代码提交记录,然后每日定时对所有的增量文件分别进行安全漏洞扫描,并记录下所有的安全漏洞问题作为代码安全检测信息。最后,服务器将代码违规信息、代码红线信息以及代码安全检测信息进行整合,作为待检测项目的代码检测信息。需要说明的是,根据预设的代码规范文件对待检测项目的代码进行检测,可以是在编程人员实时编辑之后即刻得出检测结果,也可以是在固定周期内对编程人员提交的代码进行检测。

本步骤通过对代码进行规范检测以及安全漏洞检测,在尽可能早的阶段即很大程度避免了后期因代码编写不规范而出现项目运行问题,提高了项目开发过程的效率。

在一个实施例中,上述步骤32,根据预设的安全检测工具对待检测项目的代码进行安全漏洞检测,得到代码安全检测信息,包括:调用预设的安全检测工具;根据预设的安全检测工具对待检测项目的代码进行安全漏洞检测,确定检测到的安全漏洞的位置以及安全漏洞的名称;根据安全漏洞的位置以及安全漏洞的名称生成代码安全检测信息。

具体地,服务器根据待检测项目选取对应的安全检测工具,不同的安全检测工具对应不同的安全漏洞扫描流程和处理逻辑;安全检测工具可以通过网络与最新的漏洞数据库建立连接,保证安全漏洞扫描的更新。若检测到安全漏洞,则通过网络或数据库确定该安全漏洞的类型、名称等,根据获取到的信息进一步生成代码安全检测信息。

本步骤通过安全检测工具对代码进行安全漏洞扫描,能够及时发现代码存在的安全漏洞问题。

在一个实施例中,如图4所示,上述步骤22,获取待检测项目的产品运行检测信息,包括:

步骤41,获取与待检测项目对应的产品的埋点数据;

步骤42,根据埋点数据对产品的运行状态进行检测,得到待检测项目的产品运行检测信息;产品运行检测信息包括产品的故障信息以及产品的测试缺陷信息。

具体地,服务器从待检测项目对应的产品中预先设置的埋点中获取埋点数据。埋点数据中包含了大量用户在使用待检测项目对应的产品时的运行数据、产品的故障信息、运行时间信息等,埋点数据中还包括有用户在使用过程中的投诉记录,根据投诉记录可以生成产品的测试缺陷信息;服务器根据埋点数据能够确定出产品的运行状态,再根据产品的运行状态得到产品运行检测信息。例如,a产品的100条埋点数据中包含了大量a页面空白的情况,则可根据埋点数据确定产品的运行状态异常,则产品运行监测信息为a页面异常。

本步骤通过从待检测项目的产品中获取埋点数据,获取了用户在实际使用时产品的运行情况,能够更好的反应产品真实的运行状态。

在一个实施例中,上述步骤24,在根据质量检测配置文件,分别对代码检测信息、项目构建检测信息、产品运行检测信息以及数据库检测运行信息进行质量识别,得到多个质量识别结果之后,还包括:

根据预设的预警参数分别对多个质量识别结果进行检测;

若检测到质量识别结果达到与预警参数对应的预警条件时,则根据质量识别结果生成对应的预警信息,并发送至目标终端。

其中,预警参数是评价质量识别结果的指标;例如,可以设置预警参数为10个代码编写问题,2个代码红线问题和1个安全运行问题。若质量识别结果中出现了10个代码编写问题或2个代码红线问题或1个安全运行问题,则可以认为达到了预警条件。

具体地,服务器根据预警参数分别从各个质量识别结果中提取与预警参数对应的数据,若提取出的问题数据个数达到了预警参数对应的预警条件,则生成对应的预警信息并发送至目标终端,可以是开发人员的代码编写设备或手机。例如,预警参数中有一条是1个安全漏洞,服务器在对利用该预警参数对代码检测信息的质量识别结果进行检测时,发现存在3个安全漏洞;3个已经达到了预先设置的1个安全漏洞的条件,因此服务器根据安全漏洞的位置以及安全漏洞的名称生成预警信息,并从数据库中获取与上述缺陷有关的提交者的电脑标识,将预警信息发送至与电脑标识对应的终端设备。

本步骤通过设置预警参数,能够在项目开发过程中尽快发现存在的质量问题并提醒相关人员及时进行处理。

在一个实施例中,上述步骤25,在根据预设的权重值,对多个质量识别结果进行加权处理,得到待检测项目开发过程质量的识别结果之前,还包括:分别获取待检测项目的代码、项目构建信息、产品信息以及数据库运行信息对于待检测项目的影响因子;根据影响因子确定预设的权重值。

具体地,根据待检测项目的不同确定各个模块对于待检测项目的影响因子;并根据影响因子确定权重值。例如,在项目开发的初期,还没有对应的产品,只有代码和项目以及数据库,则可根据项目开发情况设置代码、项目构建信息、产品信息以及数据库运行信息的影响因子分别为70%、20%、10%和0%,再根据上述影响因子确定预设的权重值,可以是0.7、0.2、0.1、0。

本步骤通过影响因子确定预设的权重值,能够根据项目开发过程的进展合理的调整待检测项目开发过程质量的识别过程,提高了项目开发过程质量的确定效果。

在一个实施例中,上述步骤25,在根据预设的权重值,对多个质量识别结果进行加权处理,得到待检测项目开发过程质量的识别结果之后,还包括:从数据库中获取待检测项目开发过程质量的历史识别结果;将识别结果与历史识别结果进行对比,生成待检测项目开发过程质量的发展趋势图。

具体地,服务器会保存每次的识别结果作为历史识别结果;基于此,在每次得到待检测项目开发过程质量的识别结果后,可以与历史识别结果进行总体或各个模块的详细对比,以此明确待检测项目在整个开发过程中质量的变化情况。例如,历史识别结果分别为74、76、76、80、80,本次得到待检测项目开发过程质量的识别结果为85,则该项目的开发过程质量趋势是74、76、76、80、80、85,根据该趋势生成的发展趋势图可以明确看出该项目的发展趋势是不断向好发展的。发展趋势图可以是折线图、条形图等,还可以携带有时间信息。

本步骤服务器通过将识别结果与历史识别结果进行对比,生成待检测项目开发过程质量的发展趋势图,能够帮助待检测项目的开发团队明确项目的质量发展态势。

在一个实施例中,项目构建检测信息可以记录有每个项目的构建状态、单元测试覆盖率、代码注释率、代码重复率等信息;其中,通过单元测试(unittesting)的方法测试各个源代码单元,一个或者多个模块的集合,使用程序来测试程序,来保证它们的可用性。在做单元测试时,代码覆盖率常常被拿来作为衡量测试好坏的指标;甚至用代码覆盖率来考核测试任务完成情况,比如,代码覆盖率必须达到80%或90%。于是乎,测试人员费尽心思设计案例覆盖代码。另外,可以采用语句覆盖的方式来度量单元测试覆盖率,语句覆盖又称行覆盖(linecoverage),这是最常用的一种覆盖方式,能够度量被测代码中每个可执行语句是否被执行到了,由此来衡量一个项目的测试覆盖率。

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

在一个实施例中,如图5所示,提供了一种项目开发过程质量的确定装置,包括:待检测项目确定模块51、检测信息获取模块52、配置文件获取模块53、第一质量识别模块54和第二质量识别模块55,其中:

待检测项目确定模块51,用于获取待检测项目;待检测项目包括待检测项目的代码、待检测项目的项目构建信息、待检测项目的产品信息以及待检测项目的数据库运行信息;

检测信息获取模块52,用于根据待检测项目的代码、项目构建信息、产品信息以及数据库运行信息,分别获取待检测项目的代码检测信息、项目构建检测信息、产品运行检测信息以及数据库运行检测信息;

配置文件获取模块53,用于获取与待检测项目对应的质量检测配置文件;

第一质量识别模块54,用于根据质量检测配置文件,分别对代码检测信息、项目构建检测信息、产品运行检测信息以及数据库检测运行信息进行质量识别,得到多个质量识别结果;

第二质量识别模块55,用于根据预设的权重值,对多个质量识别结果进行加权处理,得到待检测项目开发过程质量的识别结果。

在一个实施例中,检测信息获取模块52还用于根据预设的代码规范文件对待检测项目的代码进行检测,得到代码违规信息和代码红线信息;根据预设的安全检测工具对待检测项目的代码进行安全漏洞检测,得到代码安全检测信息;将代码违规信息、代码红线信息以及代码安全检测信息作为待检测项目的代码检测信息。

在一个实施例中,检测信息获取模块52还用于调用预设的安全检测工具;根据预设的安全检测工具对待检测项目的代码进行安全漏洞检测,确定检测到的安全漏洞的位置以及安全漏洞的名称;根据安全漏洞的位置以及安全漏洞的名称生成代码安全检测信息。

在一个实施例中,检测信息获取模块52还用于获取与待检测项目对应的产品的埋点数据;根据埋点数据对产品的运行状态进行检测,得到待检测项目的产品运行检测信息;产品运行检测信息包括产品的故障信息以及产品的测试缺陷信息。

在一个实施例中,项目开发过程质量的确定装置还包括预警模块,用于根据预设的预警参数分别对多个质量识别结果进行检测;若检测到质量识别结果达到与预警参数对应的预警条件时,则根据质量识别结果生成对应的预警信息,并发送至目标终端。

在一个实施例中,项目开发过程质量的确定装置还包括权重值确定模块,用于分别获取待检测项目的代码、项目构建信息、产品信息以及数据库运行信息对于待检测项目的影响因子;根据影响因子确定预设的权重值。

在一个实施例中,项目开发过程质量的确定装置还包括发展趋势图生成模块,用于从数据库中获取待检测项目开发过程质量的历史识别结果;将识别结果与历史识别结果进行对比,生成待检测项目开发过程质量的发展趋势图。

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

在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储项目开发过程质量的确定数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种项目开发过程质量的确定方法。

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

在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:

获取待检测项目;待检测项目包括待检测项目的代码、待检测项目的项目构建信息、待检测项目的产品信息以及待检测项目的数据库运行信息;

根据待检测项目的代码、项目构建信息、产品信息以及数据库运行信息,分别获取待检测项目的代码检测信息、项目构建检测信息、产品运行检测信息以及数据库运行检测信息;

获取与待检测项目对应的质量检测配置文件;

根据质量检测配置文件,分别对代码检测信息、项目构建检测信息、产品运行检测信息以及数据库检测运行信息进行质量识别,得到多个质量识别结果;

根据预设的权重值,对多个质量识别结果进行加权处理,得到待检测项目开发过程质量的识别结果。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据预设的代码规范文件对待检测项目的代码进行检测,得到代码违规信息和代码红线信息;根据预设的安全检测工具对待检测项目的代码进行安全漏洞检测,得到代码安全检测信息;将代码违规信息、代码红线信息以及代码安全检测信息作为待检测项目的代码检测信息。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:调用预设的安全检测工具;根据预设的安全检测工具对待检测项目的代码进行安全漏洞检测,确定检测到的安全漏洞的位置以及安全漏洞的名称;根据安全漏洞的位置以及安全漏洞的名称生成代码安全检测信息。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取与待检测项目对应的产品的埋点数据;根据埋点数据对产品的运行状态进行检测,得到待检测项目的产品运行检测信息;产品运行检测信息包括产品的故障信息以及产品的测试缺陷信息。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据预设的预警参数分别对多个质量识别结果进行检测;若检测到质量识别结果达到与预警参数对应的预警条件时,则根据质量识别结果生成对应的预警信息,并发送至目标终端。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:分别获取待检测项目的代码、项目构建信息、产品信息以及数据库运行信息对于待检测项目的影响因子;根据影响因子确定预设的权重值。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:从数据库中获取待检测项目开发过程质量的历史识别结果;将识别结果与历史识别结果进行对比,生成待检测项目开发过程质量的发展趋势图。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:

获取待检测项目;待检测项目包括待检测项目的代码、待检测项目的项目构建信息、待检测项目的产品信息以及待检测项目的数据库运行信息;

根据待检测项目的代码、项目构建信息、产品信息以及数据库运行信息,分别获取待检测项目的代码检测信息、项目构建检测信息、产品运行检测信息以及数据库运行检测信息;

获取与待检测项目对应的质量检测配置文件;

根据质量检测配置文件,分别对代码检测信息、项目构建检测信息、产品运行检测信息以及数据库检测运行信息进行质量识别,得到多个质量识别结果;

根据预设的权重值,对多个质量识别结果进行加权处理,得到待检测项目开发过程质量的识别结果。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:根据预设的代码规范文件对待检测项目的代码进行检测,得到代码违规信息和代码红线信息;根据预设的安全检测工具对待检测项目的代码进行安全漏洞检测,得到代码安全检测信息;将代码违规信息、代码红线信息以及代码安全检测信息作为待检测项目的代码检测信息。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:调用预设的安全检测工具;根据预设的安全检测工具对待检测项目的代码进行安全漏洞检测,确定检测到的安全漏洞的位置以及安全漏洞的名称;根据安全漏洞的位置以及安全漏洞的名称生成代码安全检测信息。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取与待检测项目对应的产品的埋点数据;根据埋点数据对产品的运行状态进行检测,得到待检测项目的产品运行检测信息;产品运行检测信息包括产品的故障信息以及产品的测试缺陷信息。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:根据预设的预警参数分别对多个质量识别结果进行检测;若检测到质量识别结果达到与预警参数对应的预警条件时,则根据质量识别结果生成对应的预警信息,并发送至目标终端。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:分别获取待检测项目的代码、项目构建信息、产品信息以及数据库运行信息对于待检测项目的影响因子;根据影响因子确定预设的权重值。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:从数据库中获取待检测项目开发过程质量的历史识别结果;将识别结果与历史识别结果进行对比,生成待检测项目开发过程质量的发展趋势图。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-onlymemory,rom)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(randomaccessmemory,ram)或外部高速缓冲存储器。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(staticrandomaccessmemory,sram)或动态随机存取存储器(dynamicrandomaccessmemory,dram)等。

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

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

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