System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及代码测试,具体而言,涉及一种功能点测试方法、装置、电子设备及存储介质。
技术介绍
1、大型软件系统日益复杂化,后端代码库中部分代码的更新可能会对许多前端功能产生影响,因此在后端代码库中的代码发生更新后需要及时对可能受到影响的功能点进行测试,从而维持软件系统的正常运行。
2、目前,受影响功能点大都是由程序员根据经验确定的,受影响功能点的确定效率较低,从而导致在代码更新后软件系统的功能测试效率较低。
技术实现思路
1、本申请实施例的目的在于提供一种功能点测试方法、装置、电子设备及存储介质,用以改善代码更新后软件系统的功能测试效率。
2、第一方面,本申请实施例提供一种功能点测试方法,该方法包括:在代码库中获取第一变动代码;在代码依赖图中遍历与所述第一变动代码的代码元素具有依赖关系的受影响代码库元素;所述代码依赖图以代码库元素为节点,以所述代码库元素之间的依赖关系为边;根据所述受影响代码库元素以及所述代码库元素与功能点之间的映射关系,确定受影响功能点;对所述受影响功能点进行功能测试。
3、在上述方案的实现过程中,通过代码库中的变动代码以及代码依赖图来遍历与变动代码的代码元素具有依赖关系的受影响代码库元素,并根据代码库元素与功能点之间的映射关系确定受影响功能点,最后对受影响功能点进行测试,相较于相关技术中采用人工检测的方式,上述方案有利于改善受影响功能点的搜索效率,进而提高功能测试效率。
4、在第一方面的一种实现方式中,所述在代码依赖
5、在上述方案的实现过程中,通过代码解析模型将变动代码解析为代码元素,然后通过代码元素在代码依赖图中确定受影响代码库元素,一方面,上述方案利用代码元素确定受影响代码库元素,这有利于改善受影响代码库元素的确定效率;另一方面,有利于改善受影响代码元素的确定准确率,进而改善上述功能点测试方法的功能测试效果。
6、在第一方面的一种实现方式中,所述方法还包括:每间隔第一预设更新周期,获取所述代码库在所述第一预设更新周期内发生代码变动行为的第二变动代码;采用第二变动代码对所述代码解析模型进行训练,获取更新后的所述代码解析模型。
7、在上述方案的实现过程中,通过定期对代码解析模型进行更新,能够有效降低由于代码更新所导致的代码解析模型准确率降低的情况,有利于改善代码解析模型准确率,从而改善上述功能点测试方法的功能点测试效果。
8、在第一方面的一种实现方式中,在所述采用代码解析模型对所述变动代码进行解析,获取所述变动代码的代码元素之前,所述方法还包括:以训练代码为输入,以所述训练代码的代码元素为输出对预训练的大语言模型进行微调,获取训练好的代码解析模型。
9、在上述方案的实现过程中,通过采用对预训练大语言模型进行微调的方式获取训练好的代码解析模型,有利于改善上述功能点测试方法的测试效率。
10、在第一方面的一种实现方式中,所述在代码依赖图中遍历与所述第一变动代码的代码元素具有依赖关系的受影响代码库元素,包括:以所述第一变动代码的代码元素在代码依赖图中对应的节点为起点,采用图遍历算法在所述代码依赖图中遍历与所述第一变动代码的所述代码元素具有依赖关系的受影响代码库元素。
11、在上述方案的实现过程中,通过图遍历算法可以在代码依赖图中搜索到所有与变动代码的代码元素具有依赖关系的代码库元素,从而准确获取受影响功能点,有利于改善上述功能点测试方法的测试效果。
12、在第一方面的一种实现方式中,所述方法还包括:每间隔第二预设更新周期,获取所述代码库在所述第二预设更新周期内发生代码变动行为的第三变动代码;采用所述第三变动代码更新所述代码依赖图以及所述代码库元素与所述功能点之间的映射关系。
13、在上述方案的实现过程中,通过定期对代码依赖图以及代码库元素与功能点的映射关系进行更新,能够有效降低由于代码更新所导致的受影响功能点确定准确率降低的情况,有利于改善上述功能点测试方法的测试效果。
14、在第一方面的一种实现方式中,所述在代码库中获取第一变动代码,包括:采用代码变化监测器对代码库中的代码变动行为进行监测,在监测到所述代码变动行为时,获取发生所述代码变动行为后的变动代码。
15、在上述方案的实现过程中,采用代码变化监测器对代码库中的代码变动行为进行监测,在代码库中的代码发生变动时则获取变动后的变动代码,并根据变动代码确定受影响功能点,有利于改善受影响功能点的搜索效率,进而提高功能测试效率。
16、第二方面,本申请实施例提供一种功能点测试装置,该装置包括:
17、第一变动代码获取模块,用于在代码库中获取第一变动代码;
18、受影响代码库元素获取模块,用于在代码依赖图中遍历与所述第一变动代码的代码元素具有依赖关系的受影响代码库元素;所述代码依赖图以代码库元素为节点,以所述代码库元素之间的依赖关系为边;
19、受影响功能点获取模块,用于根据所述受影响代码库元素以及所述代码库元素与功能点之间的映射关系,确定受影响功能点;
20、功能测试模块,用于对所述受影响功能点进行功能测试。
21、第三方面,本申请实施例提供一种电子设备,包括:处理器、存储器和通信总线,其中所述处理器和所述存储器通过所述通信总线完成相互间的通信;所述存储器中存储有可被所述处理器执行的计算机程序指令,所述计算机程序指令被所述处理器读取并运行时,执行第一方面或第一方面的任意一种可能的实现方式提供的方法。
22、第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被处理器读取并运行时,执行第一方面或第一方面的任意一种可能的实现方式提供的方法。
23、本申请的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请实施例了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
本文档来自技高网...【技术保护点】
1.一种功能点测试方法,其特征在于,所述方法包括:
2.根据权利要求1所述的功能点测试方法,其特征在于,所述在代码依赖图中遍历与所述变动代码的代码元素具有依赖关系的受影响代码库元素,包括:
3.根据权利要求2所述的功能点测试方法,其特征在于,所述方法还包括:
4.根据权利要求2所述的功能点测试方法,其特征在于,在所述采用代码解析模型对所述变动代码进行解析,获取所述变动代码的代码元素之前,所述方法还包括:
5.根据权利要求1所述的功能点测试方法,其特征在于,所述在代码依赖图中遍历与所述第一变动代码的代码元素具有依赖关系的受影响代码库元素,包括:
6.根据权利要求1~5中任一项所述的功能点测试方法,其特征在于,所述方法还包括:
7.根据权利要求1~5中任一项所述的功能点测试方法,其特征在于,所述在代码库中获取第一变动代码,包括:
8.一种功能点测试装置,其特征在于,所述装置包括:
9.一种电子设备,其特征在于,包括:处理器、存储器和通信总线,其中,所述处理器和所述存储器通过所述通信总线完成
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储计算机指令,所述计算机指令被计算机运行时,使所述计算机执行如权利要求1~7中任一项所述的方法。
...【技术特征摘要】
1.一种功能点测试方法,其特征在于,所述方法包括:
2.根据权利要求1所述的功能点测试方法,其特征在于,所述在代码依赖图中遍历与所述变动代码的代码元素具有依赖关系的受影响代码库元素,包括:
3.根据权利要求2所述的功能点测试方法,其特征在于,所述方法还包括:
4.根据权利要求2所述的功能点测试方法,其特征在于,在所述采用代码解析模型对所述变动代码进行解析,获取所述变动代码的代码元素之前,所述方法还包括:
5.根据权利要求1所述的功能点测试方法,其特征在于,所述在代码依赖图中遍历与所述第一变动代码的代码元素具有依赖关系的受影响代码库元素,包括:
6.根据权利要求1~5中任一项所述的功能...
【专利技术属性】
技术研发人员:王宇航,江伟,熊学武,韦利东,
申请(专利权)人:泛微网络科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。