测试用例的确定方法及程序产品与流程

摘要: 本发明涉及软件性能测试,尤其涉及一种测试用例的确定方法及程序产品。背景技术:1、在持续集成流程中,每次代码提交均触发自动化测试流水线。但性能测试需多轮预热与重复...
测试用例的确定方法及程序产品与流程

本发明涉及软件性能测试,尤其涉及一种测试用例的确定方法及程序产品。

背景技术:

1、在持续集成流程中,每次代码提交均触发自动化测试流水线。但性能测试需多轮预热与重复采样以建立统计可信度,单次完整测试套件耗时可达数小时,与持续集成对分钟级反馈的需求矛盾突出。通过测试用例优先级序列来缓解这一矛盾是当前的主流应对策略。

2、目前,确定测试用例优先级序列是利用代码双向编码器模型将代码变更与测试用例映射至同一语义空间,通过向量检索召回相关变更,借助大语言模型推理性能影响,最终由机器学习模型输出排序结果。

3、然而,该方法仅依赖代码文本的语义相似度,仅以语义相似度建立代码变更与测试用例的关联,当代码的修改涉及新增逻辑、重构或低语义相似度变更时,测试用例的召回不完整,测试用例优先级的确定不够准确。

技术实现思路

1、本发明提供了一种测试用例的确定方法及程序产品,以解决测试用例的召回不完整,测试用例优先级的确定不够准确的问题。

2、根据本发明的一方面,提供了一种测试用例的确定方法,包括:

3、获取与被测试代码对应的差异变更内容,根据所述差异变更内容确定所述被测试代码的语义特征向量,根据所述语义特征向量和测试套件中多个第一测试用例的查询向量之间的语义相似度,从多个所述第一测试用例中选取多个第二测试用例,形成语义候选集合;

4、获取所述被测试代码的历史版本中所述被测试代码被修改且其对应的所述第一测试用例出现性能变化的共同出现记录,根据所述共同出现记录确定各被修改代码文件与各测试用例之间的演化关联强度,根据所述演化关联强度从多个所述第一测试用例中选取多个第三测试用例,形成演化候选集合;

5、基于所述语义候选集合与所述演化候选集合生成候选上下文集合,将所述候选上下文集合输入大语言模型,得到性能影响评分,所述候选上下文集合中包括多个第四测试用例;

6、根据多个所述第四测试用例的所述语义相似度、所述演化关联强度和所述性能影响评分,对多个所述第四测试用例进行排序,以得到所述被测试代码的测试用例优先级序列。

7、根据本发明的另一方面,提供了一种测试用例的确定装置,该装置包括:

8、语义候选集合获取模块,用于获取与被测试代码对应的差异变更内容,根据所述差异变更内容确定所述被测试代码的语义特征向量,根据所述语义特征向量和测试套件中多个第一测试用例的查询向量之间的语义相似度,从多个所述第一测试用例中选取多个第二测试用例,形成语义候选集合;

9、演化候选集合获取模块,用于获取所述被测试代码的历史版本中所述被测试代码被修改且其对应的所述第一测试用例出现性能变化的共同出现记录,根据所述共同出现记录确定各被修改代码文件与各测试用例之间的演化关联强度,根据所述演化关联强度从多个所述第一测试用例中选取多个第三测试用例,形成演化候选集合;

10、性能影响评分获取模块,用于基于所述语义候选集合与所述演化候选集合生成候选上下文集合,将所述候选上下文集合输入大语言模型,得到性能影响评分,所述候选上下文集合中包括多个第四测试用例;

11、测试用例优先级序列确定模块,用于根据多个所述第四测试用例的所述语义相似度、所述演化关联强度和所述性能影响评分,对多个所述第四测试用例进行排序,以得到所述被测试代码的测试用例优先级序列。

12、根据本发明的另一方面,提供了一种电子设备,所述电子设备包括:

13、至少一个处理器;以及

14、与所述至少一个处理器通信连接的存储器;其中,

15、所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的测试用例的确定方法。

16、根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的测试用例的确定方法。

17、根据本发明的另一方面,本公开实施例还提供了一种计算机程序产品,包括计算机程序,该计算机程序在被处理器执行时实现如本公开实施例中任一所述的测试用例的确定方法。

18、本发明实施例的技术方案,通过获取与被测试代码对应的差异变更内容,根据差异变更内容确定被测试代码的语义特征向量,根据语义特征向量和测试套件中多个第一测试用例的查询向量之间的语义相似度,从多个第一测试用例中选取多个第二测试用例,形成语义候选集合。通过将差异变更内容转化为语义特征向量并与第一测试用例的查询向量进行相似度计算,实现了从测试套件中快速筛选出语义相关的测试用例。获取被测试代码的历史版本中被测试代码被修改且其对应的第一测试用例出现性能变化的共同出现记录,根据共同出现记录确定各被修改代码文件与各测试用例之间的演化关联强度,根据演化关联强度从多个第一测试用例中选取多个第三测试用例,形成演化候选集合。通过获取共同出现记录并量化演化关联强度,形成独立于语义相似度的演化候选集合,使得在新增代码、重构或运行时行为调整等语义检索失效场景下,仍能从历史协同演化规律中有效召回相关测试用例,增强了测试用例召回的全面性和鲁棒性。基于语义候选集合与演化候选集合生成候选上下文集合,将候选上下文集合输入大语言模型,得到性能影响评分,候选上下文集合中包括多个第四测试用例。通过将语义候选集合与演化候选集合进行融合,使得输入大语言模型的候选上下文同时兼备语义相似度和历史演化关联的双重证据,并借助大语言模型输出性能影响评分,为后续多维特征排序提供了性能影响评分。根据多个所述第四测试用例的语义相似度、演化关联强度和性能影响评分,对多个第四测试用例进行排序,以得到被测试代码的测试用例优先级序列。通过融合语义相似度、演化关联强度和大语言模型影响评分等多维度特征进行综合排序,确保最可能暴露性能问题的测试用例被优先执行。综上,本发明实施例的技术方案,通过语义相似度从多个第一测试用例中选取多个第二测试用例,形成语义候选集合,通过演化关联强度从多个第一测试用例中选取多个第三测试用例,形成演化候选集合,基于语义候选集合与演化候选集合生成候选上下文集合,将候选上下文集合输入大语言模型,得到性能影响评分,根据多个第四测试用例的语义相似度、演化关联强度和性能影响评分,对多个第四测试用例进行排序,以得到被测试代码的测试用例优先级序列,实现了测试用例优先级序列确定的准确性,提高了测试的效率。

19、应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。

1.一种测试用例的确定方法,其特征在于,包括:

2.根据权利要求1所述的测试用例的确定方法,其特征在于,所述根据所述差异变更内容确定所述被测试代码的语义特征向量,包括:

3.根据权利要求1所述的测试用例的确定方法,其特征在于,根据所述共同出现记录确定各被修改代码文件与各测试用例之间的演化关联强度,包括:

4.根据权利要求3所述的测试用例的确定方法,其特征在于,所述根据所述加权二分图确定代码文件与测试用例之间的演化关联强度,包括:

5.根据权利要求3所述的测试用例的确定方法,其特征在于,所述共同出现记录中包含多个共同出现事件,每个所述共同出现事件记录有发生共同出现的版本号、该版本中被修改的代码文件标识以及该版本中出现性能变化的测试用例标识;所述根据所述共同出现记录构建所述被测试代码与所述第一测试用例之间的加权二分图,包括:

6.根据权利要求1所述的测试用例的确定方法,其特征在于,所述基于所述语义候选集合与所述演化候选集合生成候选上下文集合,包括:

7.根据权利要求1所述的测试用例的确定方法,其特征在于,所述将所述候选上下文集合输入大语言模型,得到性能影响评分,包括:

8.根据权利要求1所述的测试用例的确定方法,其特征在于,所述根据多个所述第四测试用例的所述语义相似度、所述演化关联强度和所述性能影响评分,对多个所述第四测试用例进行排序,以得到所述被测试代码的测试用例优先级序列,包括:

9.根据权利要求1所述的测试用例的确定方法,其特征在于,还包括:

10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序在被处理器执行时实现如权利要求1-9中任一项所述的测试用例的确定方法。