本发明属于嵌入式软件测试,更具体地,涉及一种嵌入式软件测试用例集优化方法及系统。
背景技术:
1、嵌入式软件测试是保证嵌入式系统正常运行和稳定性的重要手段。嵌入式软件测试过程中,测试人员通常采用的是黑盒测试方法,根据软件开发文档设计测试用例集,然后在搭建的动态测试环境中执行该用例集。
2、黑盒测试方法虽然能够有效验证软件需求的实现情况,也能对大多数异常情况进行测试,但是由于用例集的设计完全脱离代码实现,为保证测试充分性,用例集往往过于庞大,加上嵌入式软件测试用例的执行常常需要耗费大量的时间资源,导致整个测试效率降低,成本提高。此外,由于软件实现方式的多样性,同样的功能不同开发人员实现的代码却千差万别,因此按照开发文档设计的测试用例集还存在测试覆盖不完整,测试充分性不足的情况,从而导致遗漏软件缺陷,测试质量降低。
技术实现思路
1、针对现有技术的缺陷,本发明的目的在于提供一种嵌入式软件测试用例集优化方法及系统,旨在解决现有嵌入式软件测试用例集存在测试覆盖不完整,测试充分性不足的问题。
2、为实现上述目的,第一方面,本发明提供了一种嵌入式软件测试用例集优化方法,包括以下步骤:
3、步骤s101,从被测设备原始代码的各个代码结构中,确定出不受插桩影响运行时序的代码结构进行插桩,获得插桩代码;
4、步骤s102,利用设计的测试用例,在被测设备运行插桩代码,以供被测设备返回运行状态的监测数据;
5、步骤s103,采集运行状态的监测数据,并基于状态监测数据,分析所述测试用例对应的代码结构的覆盖情况;
6、步骤s104,判断覆盖情况是否满足预设要求,若满足,则将测试用例加入测试用例集中,若不满足,则基于覆盖情况调整测试用例,直至调整后的测试用例对应的覆盖情况满足预设要求。
7、在一个可选的示例中,步骤s101具体包括:
8、对不受插桩影响运行时序的代码结构进行插桩,获得插桩后的代码;
9、基于监测数据的通信接口和输出模式,构建监测数据生成和发送相关代码;所述通信接口和输出模式基于被测设备的通信接口资源及其实时性要求确定;
10、将插桩后的代码结合监测数据生成和发送相关代码,获得插桩代码。
11、在一个可选的示例中,被测设备输出的运行状态的监测数据具体是通过所述通信接口对应的接口板卡采集得到的。
12、在一个可选的示例中,步骤s101还包括:
13、基于原始代码的结构信息和插桩的位置信息,以及监测数据的输出模式对应的报文协议,生成插桩模型数据,以将插桩模型数据提供给用户进行测试用例设计。
14、在一个可选的示例中,步骤s103中基于状态监测数据,分析所述测试用例对应的代码结构的覆盖情况,具体包括:
15、基于插桩模型数据和运行状态的监测数据,生成测试用例执行数据;
16、基于测试用例执行数据,分析测试用例对应的代码结构的覆盖情况。
17、第二方面,本发明提供一种嵌入式软件测试用例集优化系统,包括:
18、代码分析插桩模块,用于从被测设备原始代码的各个代码结构中,确定出不受插桩影响运行时序的代码结构进行插桩,获得插桩代码;
19、用例执行模块,用于利用设计的测试用例,在被测设备运行插桩代码,以供被测设备返回运行状态的监测数据;
20、数据接收分析模块,用于采集运行状态的监测数据,并基于状态监测数据,分析所述测试用例对应的代码结构的覆盖情况;
21、用例辅助设计模块,用于判断覆盖情况是否满足预设要求,若满足,则将测试用例加入测试用例集中,若不满足,则基于覆盖情况调整测试用例,直至调整后的测试用例对应的覆盖情况满足预设要求。
22、在一个可选的示例中,所述代码分析插桩模块具体用于:
23、对不受插桩影响运行时序的代码结构进行插桩,获得插桩后的代码;
24、基于监测数据的通信接口和输出模式,构建监测数据生成和发送相关代码;所述通信接口和输出模式基于被测设备的通信接口资源及其实时性要求确定;
25、将插桩后的代码结合监测数据生成和发送相关代码,获得插桩代码。
26、在一个可选的示例中,所述数据接收分析模块具体是通过所述通信接口对应的接口板卡采集被测设备输出的运行状态的监测数据。
27、在一个可选的示例中,所述代码分析插桩模块还用于基于原始代码的结构信息和插桩的位置信息,以及监测数据的输出模式对应的报文协议,生成插桩模型数据;
28、所述用例辅助设计模块还用于将插桩模型数据提供给用户进行测试用例设计。
29、在一个可选的示例中,所述数据接收分析模块具体用于:
30、基于插桩模型数据和运行状态的监测数据,生成测试用例执行数据;
31、基于测试用例执行数据,分析测试用例对应的代码结构的覆盖情况。
32、总体而言,通过本发明所构思的以上技术方案与现有技术相比,具有以下有益效果:
33、本发明提供一种嵌入式软件测试用例集优化方法及系统,通过自动识别和提取可能影响软件运行时序的代码结构,确定出不受插桩影响运行时序的代码结构进行插桩,既避免了插桩代码导致软件运行异常,也简化了插桩过程,并且基于代码结构动态覆盖情况来优化软件测试用例集,从而保证了测试用例集的测试充分性和完整性,能显著提升测试人员在嵌入式软件测试过程中的测试质量和效率。
1.一种嵌入式软件测试用例集优化方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的方法,其特征在于,步骤s101具体包括:
3.根据权利要求2所述的方法,其特征在于,被测设备输出的运行状态的监测数据具体是通过所述通信接口对应的接口板卡采集得到的。
4.根据权利要求2所述的方法,其特征在于,步骤s101还包括:
5.根据权利要求4所述的方法,其特征在于,步骤s103中基于状态监测数据,分析所述测试用例对应的代码结构的覆盖情况,具体包括:
6.一种嵌入式软件测试用例集优化系统,其特征在于,包括:
7.根据权利要求6所述的系统,其特征在于,所述代码分析插桩模块具体用于:
8.根据权利要求7所述的系统,其特征在于,所述数据接收分析模块具体是通过所述通信接口对应的接口板卡采集被测设备输出的运行状态的监测数据。
9.根据权利要求7所述的系统,其特征在于,所述代码分析插桩模块还用于基于原始代码的结构信息和插桩的位置信息,以及监测数据的输出模式对应的报文协议,生成插桩模型数据;
10.根据权利要求9所述的系统,其特征在于,所述数据接收分析模块具体用于: