代码覆盖率的测试方法、装置和计算机设备制造方法及图纸

技术编号:17485991 阅读:34 留言:0更新日期:2018-03-17 10:23
本申请提出一种代码覆盖率的测试方法、装置和计算机设备,其中,上述代码覆盖率的测试方法包括:将被测软件与所述被测软件控制的被控对象模型分别进行编译,组成所述被测软件和所述被控对象模型的闭环虚拟集成环境;对所述闭环虚拟集成环境进行编译生成测试所述代码覆盖率的集成工程;将所述测试用例导入到所述集成工程中进行自动化测试,按照所述代码覆盖率的测试报告的生成风格生成所述代码覆盖率的测试报告;根据所述代码覆盖率的测试报告确定所述测试用例对所述被测软件的功能的覆盖情况,根据所述覆盖情况调整所述测试用例。本申请可以实现对被测软件的代码覆盖率进行测试,为完善和补充测试用例提供帮助,快速提升测试质量。

Test methods, devices, and computer equipment for code coverage

The invention provides a method for testing, code coverage device and computer equipment, the testing methods include the code coverage: the test software and the tested software control object model were compiled, the tested software and the control object model of closed-loop virtual integration environment; integrated project compiled the test code coverage of the closed-loop virtual integration environment; automatic test the test cases into the integration project, generate test report and test report generation style according to the code coverage to the code coverage according to the coverage; the test report of the code coverage to determine the test case of the tested software function, according to the coverage of the adjustment of the test case. This application can be used to test the code coverage of the tested software, to help improve and supplement the test cases, and to improve the quality of the test quickly.

【技术实现步骤摘要】
代码覆盖率的测试方法、装置和计算机设备
本申请涉及整车控制
,尤其涉及一种代码覆盖率的测试方法、装置和计算机设备。
技术介绍
控制软件集成测试作为流程中重要的一个环节,可有效发现被测软件中的接口和策略问题,有效提高软件开发的效率。传统的软件测试无法对测试用例的工作情况进行评估,测试工作的优劣无法得到评估,测试工作者的价值无法得到体现。代码覆盖率是反映测试用例对被测软件覆盖程度的重要指标,也是衡量测试工作进展情况的重要指标,是对测试工作进行量化的重要指标之一。根据其覆盖内容的不同,又可以细分为:路径覆盖、语句覆盖、判定覆盖、条件覆盖和修正条件/判断覆盖(ModifiedCondition/DecisionCoverage;以下简称:MC/DC)等。但是,现有相关技术中,并未提供用于代码覆盖率的测试的技术方案。
技术实现思路
本申请旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本申请的第一个目的在于提出一种代码覆盖率的测试方法,以实现对被测软件的代码覆盖率进行测试,为完善和补充测试用例提供帮助,快速提升测试质量。本申请的第二个目的在于提出一种代码覆盖率的测试装置。本申请的第三个目的在于提出一种计算机设备。本申请的第四个目的在于提出一种非临时性计算机可读存储介质。为达上述目的,本申请第一方面实施例提出了一种代码覆盖率的测试方法,包括:将被测软件与所述被测软件控制的被控对象模型分别进行编译,并将所述被测软件与所述被控对象模型的输入输出接口进行关联,组成所述被测软件和所述被控对象模型的闭环虚拟集成环境;根据所述被测软件的测试出口准则,配置代码覆盖率的测试报告的生成风格,以及对所述闭环虚拟集成环境进行编译生成测试所述代码覆盖率的集成工程;根据所述被测软件的测试需求编写测试用例,将所述测试用例导入到所述集成工程中进行自动化测试,按照所述代码覆盖率的测试报告的生成风格生成所述代码覆盖率的测试报告;根据所述代码覆盖率的测试报告确定所述测试用例对所述被测软件的功能的覆盖情况,根据所述覆盖情况调整所述测试用例。本申请实施例的代码覆盖率的测试方法中,将被测软件与上述被测软件控制的被控对象模型分别进行编译,并将上述被测软件与上述被控对象模型的输入输出接口进行关联,组成上述被测软件和上述被控对象模型的闭环虚拟集成环境,根据上述被测软件的测试出口准则,配置代码覆盖率的测试报告的生成风格,以及对上述闭环虚拟集成环境进行编译生成测试上述代码覆盖率的集成工程,然后根据上述被测软件的测试需求编写测试用例,将上述测试用例导入到上述集成工程中进行自动化测试,按照上述代码覆盖率的测试报告的生成风格生成上述代码覆盖率的测试报告,最后根据上述代码覆盖率的测试报告确定上述测试用例对上述被测软件的功能的覆盖情况,根据上述覆盖情况调整上述测试用例,从而可以实现对被测软件的代码覆盖率进行测试,为完善和补充测试用例提供帮助,快速提升测试质量,并且将被测软件与被控对象模型进行虚拟化集成,测试平台和测试环境的复用性较好,软件开发人员和软件测试人员可以共用测试平台,在软件开发前期就可以对被测软件进行测试,软件测试和软件开发可以并行,弥补了现有相关技术中软件测试滞后于软件开发的缺陷。为达上述目的,本申请第二方面实施例提出了一种代码覆盖率的测试装置,包括:编译模块,用于将被测软件与所述被测软件控制的被控对象模型分别进行编译,并将所述被测软件与所述被控对象模型的输入输出接口进行关联,组成所述被测软件和所述被控对象模型的闭环虚拟集成环境;生成模块,用于根据所述被测软件的测试出口准则,配置代码覆盖率的测试报告的生成风格,以及对所述闭环虚拟集成环境进行编译生成测试所述代码覆盖率的集成工程;测试模块,用于根据所述被测软件的测试需求编写测试用例,将所述测试用例导入到所述生成模块生成的集成工程中进行自动化测试,按照所述代码覆盖率的测试报告的生成风格生成所述代码覆盖率的测试报告;确定模块,用于根据所述测试模块生成的代码覆盖率的测试报告确定所述测试用例对所述被测软件的功能的覆盖情况;调整模块,用于根据所述确定模块确定的覆盖情况调整所述测试用例。本申请实施例的代码覆盖率的测试装置中,编译模块将被测软件与上述被测软件控制的被控对象模型分别进行编译,并将上述被测软件与上述被控对象模型的输入输出接口进行关联,组成上述被测软件和上述被控对象模型的闭环虚拟集成环境,生成模块根据上述被测软件的测试出口准则,配置代码覆盖率的测试报告的生成风格,以及对上述闭环虚拟集成环境进行编译生成测试上述代码覆盖率的集成工程,然后测试模块根据上述被测软件的测试需求编写测试用例,将上述测试用例导入到上述集成工程中进行自动化测试,按照上述代码覆盖率的测试报告的生成风格生成上述代码覆盖率的测试报告,最后确定模块根据上述代码覆盖率的测试报告确定上述测试用例对上述被测软件的功能的覆盖情况,调整模块根据上述覆盖情况调整上述测试用例,从而可以实现对被测软件的代码覆盖率进行测试,为完善和补充测试用例提供帮助,快速提升测试质量,并且将被测软件与被控对象模型进行虚拟化集成,测试平台和测试环境的复用性较好,软件开发人员和软件测试人员可以共用测试平台,在软件开发前期就可以对被测软件进行测试,软件测试和软件开发可以并行,弥补了现有相关技术中软件测试滞后于软件开发的缺陷。为达上述目的,本申请第三方面实施例提出了一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如上所述的方法。为了实现上述目的,本申请第四方面实施例提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的方法。本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。附图说明本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:图1为本申请代码覆盖率的测试方法一个实施例的流程图;图2为本申请代码覆盖率的测试方法另一个实施例的流程图;图3为本申请代码覆盖率的测试方法再一个实施例的流程图;图4为本申请代码覆盖率的测试装置一个实施例的结构示意图;图5为本申请计算机设备一个实施例的结构示意图。具体实施方式下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。图1为本申请代码覆盖率的测试方法一个实施例的流程图,如图1所示,上述代码覆盖率的测试方法可以包括:步骤101,将被测软件与上述被测软件控制的被控对象模型分别进行编译,并将上述被测软件与上述被控对象模型的输入输出接口进行关联,组成上述被测软件和上述被控对象模型的闭环虚拟集成环境。具体地,可以根据上述被测软件的测试需求配置被控对象模型,需要仿真被测软件控制的被控对象,例如需要测试整车控制器,则需要仿真整车上除整车控制器外的其他部件。还需要配置上述被控对象模型的输入输出接口,确保被测软件和被控对象模型的输入输出接口进行匹配,并组成闭环虚拟集成环境。步本文档来自技高网...
代码覆盖率的测试方法、装置和计算机设备

【技术保护点】
一种代码覆盖率的测试方法,其特征在于,包括:将被测软件与所述被测软件控制的被控对象模型分别进行编译,并将所述被测软件与所述被控对象模型的输入输出接口进行关联,组成所述被测软件和所述被控对象模型的闭环虚拟集成环境;根据所述被测软件的测试出口准则,配置代码覆盖率的测试报告的生成风格,以及对所述闭环虚拟集成环境进行编译生成测试所述代码覆盖率的集成工程;根据所述被测软件的测试需求编写测试用例,将所述测试用例导入到所述集成工程中进行自动化测试,按照所述代码覆盖率的测试报告的生成风格生成所述代码覆盖率的测试报告;根据所述代码覆盖率的测试报告确定所述测试用例对所述被测软件的功能的覆盖情况,根据所述覆盖情况调整所述测试用例。

【技术特征摘要】
1.一种代码覆盖率的测试方法,其特征在于,包括:将被测软件与所述被测软件控制的被控对象模型分别进行编译,并将所述被测软件与所述被控对象模型的输入输出接口进行关联,组成所述被测软件和所述被控对象模型的闭环虚拟集成环境;根据所述被测软件的测试出口准则,配置代码覆盖率的测试报告的生成风格,以及对所述闭环虚拟集成环境进行编译生成测试所述代码覆盖率的集成工程;根据所述被测软件的测试需求编写测试用例,将所述测试用例导入到所述集成工程中进行自动化测试,按照所述代码覆盖率的测试报告的生成风格生成所述代码覆盖率的测试报告;根据所述代码覆盖率的测试报告确定所述测试用例对所述被测软件的功能的覆盖情况,根据所述覆盖情况调整所述测试用例。2.根据权利要求1所述的方法,其特征在于,所述将所述被测软件与所述被控对象模型的输入输出接口进行关联,组成所述被测软件和所述被控对象模型的闭环虚拟集成环境包括:根据所述被测软件的功能配置表确定所述被测软件的测试内容、被测软件的输入输出接口和测试出口准则,所述被测软件的输入输出接口包括控制器局域网络接口、输入输出接口、电可擦可编程读写存储器接口和故障诊断接口;配置所述被控对象模型的控制器局域网络接口和输入输出接口,将所述被控对象模型的输入接口与所述被测软件的输出接口进行关联,将所述被控对象模型的输出接口与所述被测软件的输入接口进行关联。3.根据权利要求2所述的方法,其特征在于,所述将所述被控对象模型的输入接口与所述被测软件的输出接口进行关联,将所述被控对象模型的输出接口与所述被测软件的输入接口进行关联之后,还包括:通过所述被控对象模型对所述被测软件的电可擦可编程读写存储器接口、故障诊断接口和统一诊断服务接口进行仿真;配置所述被测软件的时间调度和初始化文件;对所述闭环虚拟集成环境进行调试,完成所述被测软件基本功能的调试。4.根据权利要求1所述的方法,其特征在于,所述根据所述被测软件的测试需求编写测试用例,将所述测试用例导入到所述集成工程中进行自动化测试,按照所述代码覆盖率的测试报告的生成风格生成所述代码覆盖率的测试报告包括:根据所述被测软件的测试需求编写测试用例,从所述测试用例中挑选冒烟测试用例对所述集成工程的基本功能进行验证;在所述集成工程的基本功能验证无误之后,执行所述测试用例;根据所述测试用例的执行结果,按照所述代码覆盖率的测试报告的生成风格生成所述代码覆盖率的测试报告。5.根据权利要求1所述的方法,其特征在于,所述根据所述代码覆盖率的测试报告确定所述测试用例对所述被测软件的功能的覆盖情况包括:根据所述代码覆盖率的测试报告中包括的语句覆盖或判定覆盖的内容,确定所述测试用例对所述被测软件的功能的覆盖情况。6.一种...

【专利技术属性】
技术研发人员:刘三兵代康伟黄颖华刘迎
申请(专利权)人:北京新能源汽车股份有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1