首页 / 专利库 / 软件 / 白盒测试 / Java项目的白盒测试方法、装置、计算机设备

Java项目的白盒测试方法、装置、计算机设备

阅读:334发布:2020-05-13

专利汇可以提供Java项目的白盒测试方法、装置、计算机设备专利检索,专利查询,专利分析的服务。并且本 申请 实施例 提供了一种Java项目的 白盒测试 方法、装置及计算机设备,其中,Java项目的白盒测试方法包括:根据预设的各测试工具的执行顺序,依次判断待测Java项目是否需要执行各测试工具对应的测试事项,并在确定需要执行所述测试事项时,执行对应的测试工具;在多个所述测试工具对应的各测试事项执行完成后,生成单元测试报告。通过本申请实施例,很大程度上减少了手工测试工作,提升工作效率。,下面是Java项目的白盒测试方法、装置、计算机设备专利的具体信息内容。

1.一种Java项目的白盒测试方法,其特征在于,包括:
根据预设的各测试工具的执行顺序,依次判断待测Java项目是否需要执行各测试工具对应的测试事项,并在确定需要执行所述测试事项时,执行对应的测试工具;
在多个所述测试工具对应的各测试事项执行完成后,生成单元测试报告。
2.根据权利要求1所述的Java项目的白盒测试方法,其特征在于,所述测试工具包括:
Checkstyle工具、Findbugs工具、Junit工具以及Eclemma工具中的多种;
其中,所述Checkstyle工具对应的测试事项为编码规范测试;
所述Findbugs工具的测试事项为代码险测试;
所述Junit工具对应的测试事项为单元测试;
所述Eclemma工具的测试事项为覆盖率测试。
3.根据权利要求2所述的Java项目的白盒测试方法,其特征在于,所述单元测试包括:
Controller层单元测试,用于使用junit mock方法模拟前台访问测试;
Service层单元测试,用于使用junit编写单元测试用例进行业务测试;
Dao层单元测试,用于使用junit编写单元测试用例进行入库测试,并且用assertEquals方法判断预期输出和实际输出是否等同。
4.根据权利要求2或3所述的Java项目的白盒测试方法,其特征在于,所述依次判断待测Java项目是否需要执行各测试工具对应的测试事项,并在确定需要执行所述测试事项时,执行对应的测试工具的步骤包括:
首先判断待测Java项目是否需要执行编码规范测试,并在确定需要执行所述编码规范测试时,调出用于配置编码规范测试规则的界面,并根据配置的编码规范测试规则,执行Checkstyle工具;
其次判断待测Java项目是否需要执行代码风险测试,并在确定需要执行所述代码风险测试时,调出用于配置代码风险测试规则的界面,并根据配置的代码风险测试规则,执行Findbugs工具;
再次执行Junit工具;
最后执行Eclemma工具。
5.根据权利要求4所述的Java项目的白盒测试方法,其特征在于,所述生成单元测试报告的步骤之前包括:
生成覆盖率统计分析结果。
6.一种Java项目的白盒测试装置,其特征在于,包括:
处理单元,用于根据预设的各测试工具的执行顺序,依次判断待测Java项目是否需要执行各测试工具对应的测试事项,并在确定需要执行所述测试事项时,执行对应的测试工具;
生成单元,用于在多个所述测试工具对应的各测试事项执行完成后,生成单元测试报告。
7.根据权利要求6所述的Java项目的白盒测试装置,其特征在于,所述测试工具包括:
Checkstyle工具、Findbugs工具、Junit工具以及Eclemma工具中的多种;
其中,所述Checkstyle工具对应的测试事项为编码规范测试;
所述Findbugs工具的测试事项为代码风险测试;
所述Junit工具对应的测试事项为单元测试;
所述Eclemma工具的测试事项为覆盖率测试。
8.根据权利要求7所述的Java项目的白盒测试装置,其特征在于,所述单元测试包括:
Controller层单元测试,用于使用junit mock方法模拟前台访问测试;
Service层单元测试,用于使用junit编写单元测试用例进行业务测试;
Dao层单元测试,用于使用junit编写单元测试用例进行入库测试,并且用assertEquals方法判断预期输出和实际输出是否等同。
9.根据权利要求7或8所述的Java项目的白盒测试装置,其特征在于,所述处理单元用于:
首先判断待测Java项目是否需要执行编码规范测试,并在确定需要执行所述编码规范测试时,调出用于配置编码规范测试规则的界面,并根据配置的编码规范测试规则,执行Checkstyle工具;
其次判断待测Java项目是否需要执行代码风险测试,并在确定需要执行所述代码风险测试时,调出用于配置代码风险测试规则的界面,并根据配置的代码风险测试规则,执行Findbugs工具;
再次执行Junit工具;
最后执行Eclemma工具。
10.一种计算机设备,其特征在于,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现权利要求1至5中任意一项所述方法的步骤。

说明书全文

Java项目的白盒测试方法、装置、计算机设备

技术领域

[0001] 本申请实施例涉及Java项目测试领域,尤其涉及Java项目的白盒测试方法、装置、计算机设备。

背景技术

[0002] 基于Java项目的白盒测试工具目前市面有很多,如:JUnit工具、TestNG工具、JTest工具、Findbugs工具、Checkstyle工具、JaCoCo工具、以及Eclemma工具等。随着项目的日益复杂,并且项目中随时会有刚入职的开发人员参与。为了保证项目的质量,需要对待测项目进行白盒测试。然而,目前现有都是单个测试工具,针对如此繁多的测试工具,在一个Java项目中如何利用这些测试工具才能达到各项测试目的,是一个亟待解决的问题。发明内容
[0003] 有鉴于此,本发明实施例所解决的技术问题之一在于提供一种Java项目的白盒测试方法、装置、计算机设备,用以克服现有技术中Java项目的白盒测试方法中测试工具无法综合运用的缺陷,减少了手工测试工作,提升工作效率。
[0004] 根据本申请实施例的一个方面,提供了一种Java项目的白盒测试方法,包括:根据预设的各测试工具的执行顺序,依次判断待测Java项目是否需要执行各测试工具对应的测试事项,并在确定需要执行所述测试事项时,执行对应的测试工具;在多个所述测试工具对应的各测试事项执行完成后,生成单元测试报告。
[0005] 根据本申请实施例的另一个方面,提供了一种Java项目的白盒测试装置,包括:处理单元,用于根据预设的各测试工具的执行顺序,依次判断待测Java项目是否需要执行各测试工具对应的测试事项,并在确定需要执行所述测试事项时,执行对应的测试工具;生成单元,用于在多个所述测试工具对应的各测试事项执行完成后,生成单元测试报告。
[0006] 根据本申请实施例的再一个方面,提供了一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如上所述Java项目的白盒测试方法的步骤。
[0007] 本申请实施例的Java项目的白盒测试方法、装置、计算机可读存储介质及设备通过在Java项目中,运用多种白盒测试技术,集成各种测试工具,提供可配置的白盒测试方案,并生成单元测试报告,很大程度上减少了手工测试工作,提升工作效率。附图说明
[0008] 后文将参照附图以示例性而非限制性的方式详细描述本申请实施例的一些具体实施例。附图中相同的附图标记标示了相同或类似的部件或部分。本领域技术人员应该理解,这些附图未必是按比例绘制的。附图中:
[0009] 图1是根据本申请实施例一个实施例的Java项目的白盒测试方法的流程图
[0010] 图2是根据本申请实施例另一个实施例的Java项目的白盒测试方法的流程图;
[0011] 图3是根据本申请实施例一个实施例的Java项目的白盒测试装置的结构示意图。

具体实施方式

[0012] 实施本发明实施例的任一技术方案必不一定需要同时达到以上的所有优点。
[0013] 为了使本领域的人员更好地理解本发明实施例中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明实施例一部分实施例,而不是全部的实施例。基于本发明实施例中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本发明实施例保护的范围。
[0014] 下面结合本发明实施例附图进一步说明本发明实施例具体实现。
[0015] 图1是根据本申请实施例的Java项目的白盒测试方法的流程图。该Java项目的白盒测试方法包括:
[0016] 首先,根据预设的各测试工具的执行顺序,依次判断待测Java项目是否需要执行各测试工具对应的测试事项,并在确定需要执行所述测试事项时,执行对应的测试工具;
[0017] 其次,在多个所述测试工具对应的各测试事项执行完成后,生成单元测试报告。
[0018] 具体操作时,所述测试工具可以包括:Checkstyle工具、Findbugs工具、Junit工具以及Eclemma工具中的多种;其中,所述Checkstyle工具对应的测试事项为编码规范测试;所述Findbugs工具的测试事项为代码险测试;所述Junit工具对应的测试事项为单元测试;所述Eclemma工具的测试事项为覆盖率测试。
[0019] 所述单元测试可以包括:Controller层单元测试,用于使用junit mock方法模拟前台访问测试;Service层单元测试,用于使用junit编写单元测试用例进行业务测试;Dao层单元测试,用于使用junit编写单元测试用例进行入库测试,并且用assertEquals方法判断预期输出和实际输出是否等同。
[0020] 本实施例通过在Java项目中,运用多种白盒测试技术,集成各种测试工具,提供可配置的白盒测试方案,规则文件支持xml配置,易用,易维护,可自动检查编码规则,代码风险预判,执行单元测试用例,出具单元测试覆盖率分析结果,生成单元测试报告,很大程度上减少了手工测试工作,提升工作效率。
[0021] 图2是根据本申请另一实施例的Java项目的白盒测试方法的流程图。本实施例从编码阶段就开始介入,把更多潜在的bug和风险扼杀在编码阶段。具体地,该Java项目的白盒测试方法包括:
[0022] 第1步:判断待测Java项目是否需要执行编码规范测试;
[0023] 第2步,在确定需要执行所述编码规范测试时,调出用于配置编码规范测试规则的界面,并根据配置的编码规范测试规则,执行Checkstyle工具;即在编码规范检查上使用Checkstyle工具,把编码规范事先配置在xml文件中(如规定每行代码不允许超过150个字符;if嵌套最多不超过3层等),配置完成后,打开自动检查功能,工具会自动检测项目中的每一行代码是否符合规范配置;
[0024] 第3步,判断待测Java项目是否需要执行代码风险测试;
[0025] 第4步,在确定需要执行所述代码风险测试时,调出用于配置代码风险测试规则的界面,并根据配置的代码风险测试规则,执行Findbugs工具;即在代码风险控制上选用Findbugs,通过UI配置好需要检查的事项(如多线程风险,性能错误,不良实践等),配置完成后,在相应待检查的代码文件上执行检测,工具会自动显示bug所在位置,bug等级以及建议性的修改方法;
[0026] 第5步至第8部为执行Junit工具;在Java项目中一般采用分层次开发,所以本实施例采用junit工具分层次单元测试,比如:
[0027] 第5步:Controller层单元测试,具体使用junit mock方法模拟前台访问测试;
[0028] 第6步:Service层单元测试,具体使用junit编写单元测试用例进行业务测试;
[0029] 第7步:Dao层单元测试,具体使用junit编写单元测试用例进行入库测试,并且用assertEquals方法判断预期输出和实际输出是否等同;
[0030] 第8步,回归单元测试用例;
[0031] 第9步,执行Eclemma工具,通过颜色区分(如绿色表示代码被执行过,红色表示代码未被执行过),根据覆盖率的百分比,生成覆盖率统计分析结果;
[0032] 第10步,生成单元测试报告。
[0033] 本实施例通过在单元测试上选用JUnit工具,编码规范检查上选用Checkstyle工具,代码风险控制上选用Findbugs工具,代码覆盖率上选用Eclemma工具,该套白盒测试工具,方便测试人员使用,易于维护,降低测试人员手工测试时间,提高bug产出,自动出具代码覆盖率和生成测试报告。
[0034] 如图3所示是根据本申请实施例一个实施例的Java项目的白盒测试装置的结构示意图。图1及图2所示实施例可以用于解释本实施例。如图3所示:
[0035] 处理单元,用于根据预设的各测试工具的执行顺序,依次判断待测Java项目是否需要执行各测试工具对应的测试事项,并在确定需要执行所述测试事项时,执行对应的测试工具;
[0036] 生成单元,用于在多个所述测试工具对应的各测试事项执行完成后,生成单元测试报告。
[0037] 具体操作时,所述测试工具包括:Checkstyle工具、Findbugs工具、Junit工具以及Eclemma工具中的多种;其中,所述Checkstyle工具对应的测试事项为编码规范测试;所述Findbugs工具的测试事项为代码风险测试;所述Junit工具对应的测试事项为单元测试;所述Eclemma工具的测试事项为覆盖率测试。
[0038] 具体地,所述单元测试可以包括:
[0039] Controller层单元测试,用于使用junit mock方法模拟前台访问测试;
[0040] Service层单元测试,用于使用junit编写单元测试用例进行业务测试;
[0041] Dao层单元测试,用于使用junit编写单元测试用例进行入库测试,并且用assertEquals方法判断预期输出和实际输出是否等同。
[0042] 优选地,所述处理单元用于:首先,判断待测Java项目是否需要执行编码规范测试,并在确定需要执行所述编码规范测试时,调出用于配置编码规范测试规则的界面,并根据配置的编码规范测试规则,执行Checkstyle工具;其次,判断待测Java项目是否需要执行代码风险测试,并在确定需要执行所述代码风险测试时,调出用于配置代码风险测试规则的界面,并根据配置的代码风险测试规则,执行Findbugs工具;再次,执行Junit工具;最后,执行Eclemma工具。
[0043] 本发明实施例Java项目的白盒测试装置集成配置了多种白盒测试技术,可贯穿于Java项目整个流程的白盒测试。可以检测代码中的每条分支和路径,揭示隐藏在代码中的风险和错误,对代码的测试比较彻底,很大程度上降低了测试工作中手工测试的工作量,尤其是在项目的回归测试中,系统自动执行所有单元测试用例,生成单元测试结果报告,减少了项目的人投入,也降低了后期项目维护的成本。
[0044] 本发明还提供一种计算机可读存储介质,所述存储介质上存储有计算机程序,所述程序被处理器执行时实现上述方法的步骤。
[0045] 本发明还提供一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法的步骤。
[0046] 由于上述计算机可读存储介质及计算机设备具有上述方法相应的技术效果,在此不再赘述。
[0047] 以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0048] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,所述计算机可读记录介质包括用于以计算机(例如计算机)可读的形式存储或传送信息的任何机制。例如,机器可读介质包括只读存储器(ROM)、随机存取存储器(RAM)、磁盘存储介质、光存储介质、闪速存储介质、电、光、声或其他形式的传播信号(例如,载波、红外信号、数字信号等)等,该计算机软件产品包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0049] 最后应说明的是:以上实施例仅用以说明本申请实施例的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
[0050] 本领域的技术人员应明白,本发明实施例的实施例可提供为方法、装置(设备)、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0051] 本发明实施例是参照根据本发明实施例的方法、装置(设备)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0052] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0053] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈