System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本公开涉及计算机软件测试,尤其涉及一种测试代码管理方法、装置、车辆、电子设备及计算机可读存储介质。
技术介绍
1、车载域控制器基于cp autosar(classic platform automotive open systemarchitecture,汽车开放系统架构)进行开发,包含网关路由、can报文通信、诊断通信、诊断事件管理、远程标定、网络管理、核间通信、以太网、硬件加密、云端数据上传、应用层逻辑功能等众多服务和功能模块,传统的hil(hardware-in-the-loop,硬件在环)测试是一种用于复杂设备控制器的开发与测试技术,仅仅能覆盖协议一致性测试和应用逻辑功能,并且各个模块需要完全集成后,才能进行统一测试,因此很多服务模块无法在开发阶段进行详细测试,这就降低了开发效率。
2、尽管开发人员会在开发过程中添加测试代码方便进行模块测试,但是这些代码都是各自模块开发人员进行管理,不同模块间很容易出现测试代码和正常功能代码混用的情况,导致后期产品进行量产时,不易删除测试代码,导致测试代码残留或者删除后引起功能异常的情况,加大了产品集成后的风险。
3、因此,现有技术中缺少能够提高产品开发效率的方法。
技术实现思路
1、为了解决上述技术问题或者至少部分地解决上述技术问题,本公开提供了一种测试代码管理方法,解决了产品开发效率低的问题。
2、为了实现上述目的,本公开实施例提供技术方案如下:
3、第一方面,本公开的实施例提供一种测试代
4、根据待集成模块和预设集成方式创建模块配置文件;所述模块配置文件包括至少一个待集成模块在目标功能模块中的目标集成位置、目标集成方式以及集成顺序;
5、执行所述模块配置文件的运行脚本,根据集成操作确定是否将目标测试代码嵌入目标功能代码;所述集成操作包括:开始集成、去除集成;
6、当所述集成操作为开始集成时,将目标测试代码嵌入目标功能代码中,生成集成日志文件。
7、作为本公开实施例一种可选的实施方式,所述根据待集成模块和预设集成方式创建模块配置文件,包括:
8、获取待插装函数;所述待插装函数为所述目标测试代码中待测试的函数;
9、获取所述待插装函数所在的文件名称、函数名、插装位置以及插装方式;
10、根据所述待插装函数所在的文件名称、函数名、插装位置、以及插装方式,确定所述待集成模块在目标功能模块中的目标集成位置以及目标集成方式;所述待集成模块由至少一个待插装函数组成;
11、根据至少一个所述待集成模块在目标功能模块中的目标集成位置、目标集成方式、以及集成顺序,创建模块配置文件。
12、作为本公开实施例一种可选的实施方式,所述预设集成方式包括:
13、集成插入方式、集成替换方式、集成头文件方式以及不集成方式中的至少一种方式;所述集成插入方式用于在原功能函数中添加监控目标测试代码的变量;所述集成替换方式用于修改原功能函数的部分函数功能以满足预设测试条件;所述集成头文件方式用于预设插装函数接口以利用其他类型脚本实现自动桩函数集成;所述不集成方式用于选择性对目标测试代码进行测试。
14、作为本公开实施例一种可选的实施方式,所述执行所述模块配置文件的运行脚本,根据集成操作确定是否将目标测试代码嵌入目标功能代码,还包括:
15、当所述集成操作为去除集成时,从目标功能代码中删除已嵌入的目标测试代码。
16、作为本公开实施例一种可选的实施方式,在根据待集成模块和预设集成方式创建模块配置文件之前,所述方法还包括:
17、获取测试代码库和被测代码库;所述测试代码库由各个功能模块的测试代码组成;所述被测代码库由各个功能模块的功能代码组成。
18、作为本公开实施例一种可选的实施方式,所述待集成模块包括:
19、核间通信功能模块、操作系统任务调度模块、控制器域网can报文事件触发模块、数据通信模块、通信管理模块、硬件加密模块、系统日志模块、以太网测试模块、诊断接口测试模块、诊断通信测试模块、诊断事件管理模块以及非易失存储管理测试模块中的至少一个模块。
20、作为本公开实施例一种可选的实施方式,所述方法还包括:
21、当有新的待集成模块添加到所述模块配置文件时,更新所述模块配置文件。
22、作为本公开实施例一种可选的实施方式,所述方法还包括:
23、当所述待集成模块中的任一待集成模块被删除时,更新所述模块配置文件。
24、作为本公开实施例一种可选的实施方式,所述方法还包括:
25、对所述目标功能代码执行文本操作;所述文本操作包括:新建文件操作、删除文件操作、修改文件操作;
26、根据所述新建文件操作,获取新建目标功能代码文件;
27、根据所述删除文件操作,删除所述目标功能代码的接口文件;
28、根据所述修改文件操作,对所述目标功能代码的配置参数进行修改,以使所述目标功能代码处于可测试状态。
29、第二方面,本公开实施例提供一种测试代码管理装置,包括:
30、配置单元,用于根据待集成模块和预设集成方式创建模块配置文件;所述模块配置文件包括至少一个待集成模块在目标功能模块中的目标集成位置、目标集成方式以及集成顺序;
31、执行单元,用于执行所述模块配置文件的运行脚本,根据集成操作确定是否将目标测试代码嵌入目标功能代码;所述集成操作包括:开始集成、去除集成;
32、集成单元,用于当所述集成操作为开始集成时,将目标测试代码嵌入目标功能代码中,生成集成日志文件。
33、作为本公开实施例一种可选的实施方式,所述配置单元具体用于:
34、获取待插装函数;所述待插装函数为所述目标测试代码中待测试的函数;
35、获取所述待插装函数所在的文件名称、函数名、插装位置以及插装方式;
36、根据所述待插装函数所在的文件名称、函数名、插装位置、以及插装方式,确定所述待集成模块在目标功能模块中的目标集成位置以及目标集成方式;所述待集成模块由至少一个待插装函数组成;
37、根据至少一个所述待集成模块在目标功能模块中的目标集成位置、目标集成方式、以及集成顺序,创建模块配置文件。
38、作为本公开实施例一种可选的实施方式,所述预设集成方式包括:
39、集成插入方式、集成替换方式、集成头文件方式以及不集成方式中的至少一种方式;所述集成插入方式用于在原功能函数中添加监控目标测试代码的变量;所述集成替换方式用于修改原功能函数的部分函数功能以满足预设测试条件;所述集成头文件方式用于预设插装函数接口以利用其他类型脚本实现自动桩函数集成;所述不集成方式用于选择性对目标测试代码进行测试。
40、作为本公开实施例一种可选的实施方式,所述测试代码管理本文档来自技高网...
【技术保护点】
1.一种测试代码管理方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述根据待集成模块和预设集成方式创建模块配置文件,包括:
3.根据权利要求1所述的方法,其特征在于,所述预设集成方式包括:
4.根据权利要求1所述的方法,其特征在于,所述执行所述模块配置文件的运行脚本,根据集成操作确定是否将目标测试代码嵌入目标功能代码,还包括:
5.根据权利要求1所述的方法,其特征在于,在根据待集成模块和预设集成方式创建模块配置文件之前,所述方法还包括:
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
9.一种测试代码管理装置,其特征在于,包括:
10.一种车辆,其特征在于,包括如权利要求8所述的测试代码管理装置。
11.一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程
12.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,计算机程序被处理器执行时实现权利要求1至9中任一项所述的测试代码管理方法。
...【技术特征摘要】
1.一种测试代码管理方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述根据待集成模块和预设集成方式创建模块配置文件,包括:
3.根据权利要求1所述的方法,其特征在于,所述预设集成方式包括:
4.根据权利要求1所述的方法,其特征在于,所述执行所述模块配置文件的运行脚本,根据集成操作确定是否将目标测试代码嵌入目标功能代码,还包括:
5.根据权利要求1所述的方法,其特征在于,在根据待集成模块和预设集成方式创建模块配置文件之前,所述方法还包括:
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
<...【专利技术属性】
技术研发人员:王小龙,
申请(专利权)人:北京罗克维尔斯科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。