一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种用于获取Java项目代码质量报告的方法及系统与流程

2022-02-22 02:51:36 来源:中国专利 TAG:

一种用于获取java项目代码质量报告的方法及系统
技术领域
1.本发明涉及java代码质量提升技术领域,并且更具体地,涉及一种用于获取java项目代码质量报告的方法及系统。


背景技术:

2.基于java项目的白盒测试工具目前市面有很多,如junit,testng,jtest,findbugs,checkstyle,阿里编码规约插件,jacoco,eclemma等,针对如此繁多的技术工具,我们在一个java项目中如何选取最合适的,最有益于提升项目的代码质量的测试工具,是需要解决的难题。


技术实现要素:

3.针对上述问题,本发明提出了一种用于获取java项目代码质量报告的方法,包括:
4.步骤1、把编码检查项配置在预设的白盒测试工具的xml文件中,配置完成后,核查目标项目代码的编码规范;
5.步骤2、若编码规范合规,把风险检查项配置在预设的白盒测试工具的xml文件中,配置完成后,核查目标项目代码的编码风险;
6.步骤3、若编码风险合规,选择预设的白盒测试工具,对目标项目代码进行分层测试,获取测试数据,将测试数据以为本形式输出作为项目代码的质量报告。
7.可选的,步骤1、步骤2和步骤3中涉及的预设的白盒测试工具为相同的,或者是不同的。
8.可选的,编码风险,包括:多线程风险,性能错误风险及不良实践风险。
9.可选的,分层测试包括:模拟前台访问测试、业务测试及数据库测试;
10.所述数据库测试中判断预期输出和实际输出是否一致。
11.可选的,方法还包括:预设执行任务,所述执行任务将质量报告,同步至公开平台,所述公开平台用于查看目标项目代码的质量报告。
12.本发明还提出了一种用于获取java项目代码质量报告的系统,包括:
13.编码规范核查单元,把编码检查项配置在预设的白盒测试工具的xml文件中,配置完成后,核查目标项目代码的编码规范;
14.编码风险核查单元,在编码规范合规后,把风险检查项配置在预设的白盒测试工具的xml文件中,配置完成后,核查目标项目代码的编码风险;
15.测试单元,在编码风险合规后,选择预设的白盒测试工具,对目标项目代码进行分层测试,获取测试数据,将测试数据以为本形式输出作为项目代码的质量报告。
16.可选的,步骤1、步骤2和步骤3中涉及的预设的白盒测试工具为相同的,或者是不同的。
17.可选的,编码风险,包括:多线程风险,性能错误风险及不良实践风险。
18.可选的,分层测试包括:模拟前台访问测试、业务测试及数据库测试;
19.所述数据库测试中判断预期输出和实际输出是否一致。
20.可选的,测试单元还用于:预设执行任务,所述执行任务将质量报告,同步至公开平台,所述公开平台用于查看目标项目代码的质量报告。
21.本发明集成配置了多种白盒测试工具技术,研发人员在编码阶段可以提高代码质量,提升工作效率;代码检测项支持xml配置,易用,易维护。
附图说明
22.图1为本发明方法的流程图;
23.图2为本发明系统的结构图。
具体实施方式
24.现在参考附图介绍本发明的示例性实施方式,然而,本发明可以用许多不同的形式来实施,并且不局限于此处描述的实施例,提供这些实施例是为了详尽地且完全地公开本发明,并且向所属技术领域的技术人员充分传达本发明的范围。对于表示在附图中的示例性实施方式中的术语并不是对本发明的限定。在附图中,相同的单元/元件使用相同的附图标记。
25.除非另有说明,此处使用的术语(包括科技术语)对所属技术领域的技术人员具有通常的理解含义。另外,可以理解的是,以通常使用的词典限定的术语,应当被理解为与其相关领域的语境具有一致的含义,而不应该被理解为理想化的或过于正式的意义。
26.本发明提出了一种用于获取java项目代码质量报告的方法,如图1所示,包括:
27.步骤1、把编码检查项配置在预设的白盒测试工具的xml文件中,配置完成后,核查目标项目代码的编码规范;
28.步骤2、若编码规范合规,把风险检查项配置在预设的白盒测试工具的xml文件中,配置完成后,核查目标项目代码的编码风险;
29.步骤3、若编码风险合规,选择预设的白盒测试工具,对目标项目代码进行分层测试,获取测试数据,将测试数据以为本形式输出作为项目代码的质量报告。
30.下面结合实施例对本发明进行进一步的说明:
31.本发明是在测试上选用junit,编码规范检查上选用阿里编码规约插件,代码风险控制上选用findbugs,代码覆盖率上选用eclemma,集成工具上选择jenkins,质量平台选择sonar,并且这些技术是通过在51云开票项目中的探索和实践,总结出的一套可集成配置的项目代码质量提升的工具。
32.项目代码质量提升的工具,方便研发人员,测试人员,维护人员,及项目qa人员使用,易于维护,降低研发人员review code时间,提高代码质量,自动出具代码覆盖率和生成代码质量报告,供项目中相关人员查看和分析。
33.随着当今项目的日益复杂,并且项目中随时会有刚入职的开发人员参与。为了保证项目的质量,应该提前把更多潜在的bug和风险扼杀在编码阶段。这就需要借助一套可集成配置的代码质量提升工具辅助完成对代码质量的检查,实施步骤如下:
34.步骤一:在阿里编码规约插件中,预先把编码检查项配置在xml文件中,配置完成后,打开自动检查功能;
35.步骤二:在findbugs插件中,预先把风险检查项配置在xml文件中(如多线程风险,性能错误,不良实践等),配置完成后,打开自动检查功能;
36.步骤三:在controller层使用junit mock方法模拟前台访问测试;
37.步骤四:在service层使用junit编写单元测试进行业务测试;
38.步骤五:在dao层使用junit编写单元测试进行数据库操作测试,并且用assertequals方法判断预期输出和实际输出是否一致;
39.步骤六:jenkins中配置定时执行任务将项目质量情况同步到sonar平台,项目中的相关人员可以通过登录sonar平台查看和分析当前项目的代码质量报告。
40.本发明集成配置了多种白盒测试工具技术,研发人员在编码阶段可以通过单元测试技术,静态代码检查技术提高代码质量,提升工作效率;代码检测项支持xml配置,易用,易维护;项目管理人员可以通过sonar平台查看和分析当前项目的代码质量报告。
41.本发明还提出了一种用于获取java项目代码质量报告的系统200,如图2所示,包括:
42.编码规范核查单元201,把编码检查项配置在预设的白盒测试工具的xml文件中,配置完成后,核查目标项目代码的编码规范;
43.编码风险核查单元202,在编码规范合规后,把风险检查项配置在预设的白盒测试工具的xml文件中,配置完成后,核查目标项目代码的编码风险;
44.测试单元203,在编码风险合规后,选择预设的白盒测试工具,对目标项目代码进行分层测试,获取测试数据,将测试数据以为本形式输出作为项目代码的质量报告。
45.其中,步骤1、步骤2和步骤3中涉及的预设的白盒测试工具为相同的,或者是不同的。
46.其中,编码风险,包括:多线程风险,性能错误风险及不良实践风险。
47.其中,分层测试包括:模拟前台访问测试、业务测试及数据库测试;
48.所述数据库测试中判断预期输出和实际输出是否一致。
49.其中,测试单元203还用于:预设执行任务,所述执行任务将质量报告,同步至公开平台,所述公开平台用于查看目标项目代码的质量报告。
50.本发明集成配置了多种白盒测试技术,可贯穿于java项目整个流程的白盒测试。可以检测代码中的每条分支和路径,揭示隐藏在代码中的风险和错误,对代码的测试比较彻底。本发明很大程度上降低了手工review code工作量,尤其是在项目的回归测试中,系统自动执行所有单元测试脚本,生成代码质量检查报告,减少了项目的人力投入,也降低了后期项目维护的成本。
51.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。本发明实施例中的方案可以采用各种计算机语言实现,例如,面向对象的程序设计语言java和直译式脚本语言javascript等。
52.本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流
程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
53.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
54.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
55.尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
56.显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献