基于应用程序的回归测试的检测方法及装置与流程

本技术实施例涉及计算机领域,具体而言,涉及一种基于应用程序的回归测试的检测方法及装置。
背景技术:
1、应用程序的验证是集成电路设计和制造过程中至关重要的一步,它确保了设计的正确性和功能的完整性。通过大量仿真和模拟来对应用程序中关键的测试场景进行测试。现有技术中,通常是通过运行大量的测试用例来覆盖不同的检测场景,可以发现应用程序设计中的缺陷。但是对于复杂的设计来说,一个复杂场景的检测可能需要数以千计的测试用例的回归,这对于检测变得越来越有挑战性。在大多数检测的流程中,对大量测试用例进行回归测试和覆盖率收集、分析耗时比较久,导致检测的效率较低。
技术实现思路
1、本技术实施例提供了一种基于应用程序的回归测试的检测方法及装置,以至少解决相关技术中对应用程序的检测效率低的问题。
2、根据本技术的一个实施例,提供了一种基于应用程序的回归测试的检测方法,包括:在利用测试用例对目标应用程序执行回归测试的过程中,获取执行所述测试用例产生的日志信息;基于所述日志信息确定所述目标应用程序的测试异常信息表,其中,所述测试异常信息表中包括与n个目标异常类别对应的目标异常信息,所述n是大于或等于1的自然数;在利用所述测试用例对所述目标应用程序进行回归测试的过程中,确定所述测试用例的覆盖率数据表,其中,所述覆盖率数据表中包括对所述目标应用程序执行所述回归测试的测试覆盖信息,所述测试覆盖信息用于表示测试所述目标应用程序的测试程度;利用所述测试异常信息表和所述覆盖率数据表对所述目标应用程序执行的所述回归测试进行检测。
3、在一个示例性实施例中,基于所述日志信息确定所述目标应用程序的测试异常信息表,包括:对所述日志信息进行结构化处理,得到结构化日志信息;将所述结构化日志信息输入至目标分类模型中,得到所述目标分类模型输出的所述测试异常信息表;其中,所述目标分类模型是利用多个训练日志信息对初始分类模型进行训练得到的模型,所述初始分类模型中包括解析子网络、聚类子网络以及分类子网络,针对每个所述训练日志信息,所述解析子网络用于对所述训练日志信息进行分词处理,得到训练分词列表,所述聚类子网络用于对所述训练分词列表进行聚类,得到k个分词类别,所述分类子网络,用于基于所述k个分词类别确定出训练日志组,并基于所述训练日志组生成训练异常信息表,所述训练日志组中包括m个异常类别的异常信息,所述k是大于或等于1的自然数,所述m是小于或等于所述k的自然数,所述训练日志信息是与所述结构化日志信息类型相同的信息,所述训练异常信息表中包括所述m个异常类别的异常信息;所述目标分类模型中还包括存储子网络,所述存储子网络中的数据库存储多个预设分词类别对应的预设异常信息,所述存储子网络与所述分类子网络连接,用于在所述m小于所述k的情况下,将其他异常类别对应的其他异常信息存储至所述数据库中,其中,所述其他异常类别是所述k个分词类别中除与所述m个异常类别匹配的分词类别之外的异常类别。
4、在一个示例性实施例中,基于所述日志信息确定所述目标应用程序的测试异常信息表之后,所述方法还包括:在利用所述测试用例对所述目标应用程序执行回归测试的过程中,获取执行所述测试用例产生的波形信息,其中,所述波形信息用于表示所述回归测试过程中发生的信号变化;从所述波形信息中查找与所述测试异常信息表中包括的n个所述目标异常类别匹配的异常波形;从所述日志信息中查找与n个所述目标异常类别匹配的异常日志;基于所述异常波形和所述异常日志定位对所述目标应用程序执行所述回归测试的异常。
5、在一个示例性实施例中,在利用所述测试用例对所述目标应用程序进行回归测试的过程中,确定所述测试用例的覆盖率数据表,包括:在利用所述测试用例对所述目标应用程序进行回归测试的过程中,将获取的测试信息存储至测试用例信息表中,其中,所述测试用例信息中包括以下信息至少之一:所述测试用例的信息,所述回归测试的测试路径,执行所述回归测试的次数,覆盖率文件信息;从所述测试用例信息表中提取多个覆盖维度下的覆盖率信息;合并所述多个覆盖维度下的覆盖率信息,得到所述覆盖率数据表。
6、在一个示例性实施例中,在利用所述测试用例对所述目标应用程序进行回归测试的过程中,确定所述测试用例的覆盖率数据表之后,所述方法还包括:基于所述覆盖率数据表中包括的覆盖率数据确定所述测试用例在第一预设时间段内的代码覆盖率、需求覆盖率以及用例覆盖率,其中,所述代码覆盖率用于表示在所述第一预设时间段内执行所述测试用例覆盖到所述目标应用程序中的代码的比例,所述需求覆盖率用于表示所述测试用例覆盖到所述目标应用程序的需求的比例,所述用例覆盖率用于表示在所述第一预设时间段内执行所述测试用例的数量与所述回归测试中的总测试用例数量之间的比例;利用所述代码覆盖率、需求覆盖率以及用例覆盖率发出提示信息,其中,所述提示信息用于提示调整所述测试用例。
7、在一个示例性实施例中,利用所述测试异常信息表和所述覆盖率数据表对所述目标应用程序执行的所述回归测试进行检测,包括:利用所述测试异常信息表定位所述测试用例在所述回归测试中的测试异常,得到第一异常;利用所述覆盖率数据表检测所述测试用例在所述回归测试中的覆盖率异常,得到第二异常;基于所述第一异常和所述第二异常对通过所述测试用例对所述目标应用程序执行的所述回归测试进行异常检测。
8、在一个示例性实施例中,基于所述第一异常和所述第二异常对通过所述测试用例对所述目标应用程序执行的所述回归测试进行异常检测之后,所述方法还包括:从所述第一异常中提取所述测试用例的异常参数,其中,所述异常参数包括异常数量和异常等级;从所述第二异常中提取在第二预设时间段内利用所述测试用例对所述目标应用程序执行所述回归测试的覆盖率增长率;基于所述异常参数和所述覆盖率增长率调整所述测试用例在所述回归测试中的权重分布。
9、在一个示例性实施例中,基于所述异常参数和所述覆盖率增长率调整所述测试用例在所述回归测试中的权重分布,包括:在所述异常数量大于预设异常数量、所述异常等级大于预设等级以及所述覆盖率增长率大于预设增长率的情况下,将所述测试用例的分布权重调整为第一权重;在所述异常数量小于预设异常数量、所述异常等级小于预设等级以及所述覆盖率增长率小于预设增长率的情况下,将所述测试用例的分布权重调整为第二权重,其中,所述第一权重大于所述第二权重。
10、根据本技术的另一个实施例,提供了一种基于应用程序的回归测试的检测装置,包括:第一获取模块,用于在利用测试用例对目标应用程序执行回归测试的过程中,获取执行所述测试用例产生的日志信息;第一确定模块,用于基于所述日志信息确定所述目标应用程序的测试异常信息表,其中,所述测试异常信息表中包括与n个目标异常类别对应的目标异常信息,所述n是大于或等于1的自然数;第二确定模块,用于在利用所述测试用例对所述目标应用程序进行回归测试的过程中,确定所述测试用例的覆盖率数据表,其中,所述覆盖率数据表中包括对所述目标应用程序执行所述回归测试的测试覆盖信息,所述测试覆盖信息用于表示测试所述目标应用程序的测试程度;第一检测模块,用于利用所述测试异常信息表和所述覆盖率数据表对所述目标应用程序执行的所述回归测试进行检测。
11、在一个示例性实施例中,上述第一确定模块,包括:第一处理单元,用于对所述日志信息进行结构化处理,得到结构化日志信息;第一输入单元,用于将所述结构化日志信息输入至目标分类模型中,得到所述目标分类模型输出的所述测试异常信息表;其中,所述目标分类模型是利用多个训练日志信息对初始分类模型进行训练得到的模型,所述初始分类模型中包括解析子网络、聚类子网络以及分类子网络,针对每个所述训练日志信息,所述解析子网络用于对所述训练日志信息进行分词处理,得到训练分词列表,所述聚类子网络用于对所述训练分词列表进行聚类,得到k个分词类别,所述分类子网络,用于基于所述k个分词类别确定出训练日志组,并基于所述训练日志组生成训练异常信息表,所述训练日志组中包括m个异常类别的异常信息,所述k是大于或等于1的自然数,所述m是小于或等于所述k的自然数,所述训练日志信息是与所述结构化日志信息类型相同的信息,所述训练异常信息表中包括所述m个异常类别的异常信息;所述目标分类模型中还包括存储子网络,所述存储子网络中的数据库存储多个预设分词类别对应的预设异常信息,所述存储子网络与所述分类子网络连接,用于在所述m小于所述k的情况下,将其他异常类别对应的其他异常信息存储至所述数据库中,其中,所述其他异常类别是所述k个分词类别中除与所述m个异常类别匹配的分词类别之外的异常类别。
12、在一个示例性实施例中,上述装置还包括:第二获取模块,用于基于所述日志信息确定所述目标应用程序的测试异常信息表之后,在利用所述测试用例对所述目标应用程序执行回归测试的过程中,获取执行所述测试用例产生的波形信息,其中,所述波形信息用于表示所述回归测试过程中发生的信号变化;第一查找模块,用于从所述波形信息中查找与所述测试异常信息表中包括的n个所述目标异常类别匹配的异常波形;第二查找模块,用于从所述日志信息中查找与n个所述目标异常类别匹配的异常日志;第一定位模块,用于基于所述异常波形和所述异常日志定位对所述目标应用程序执行所述回归测试的异常。
13、在一个示例性实施例中,上述第二确定模块,包括:第一存储单元,用于在利用所述测试用例对所述目标应用程序进行回归测试的过程中,将获取的测试信息存储至测试用例信息表中,其中,所述测试用例信息中包括以下信息至少之一:所述测试用例的信息,所述回归测试的测试路径,执行所述回归测试的次数,覆盖率文件信息;第一提取单元,用于从所述测试用例信息表中提取多个覆盖维度下的覆盖率信息;第一合并单元,用于合并所述多个覆盖维度下的覆盖率信息,得到所述覆盖率数据表。
14、在一个示例性实施例中,上述装置还包括:第三确定模块,用于在利用所述测试用例对所述目标应用程序进行回归测试的过程中,确定所述测试用例的覆盖率数据表之后,基于所述覆盖率数据表中包括的覆盖率数据确定所述测试用例在第一预设时间段内的代码覆盖率、需求覆盖率以及用例覆盖率,其中,所述代码覆盖率用于表示在所述第一预设时间段内执行所述测试用例覆盖到所述目标应用程序中的代码的比例,所述需求覆盖率用于表示所述测试用例覆盖到所述目标应用程序的需求的比例,所述用例覆盖率用于表示在所述第一预设时间段内执行所述测试用例的数量与所述回归测试中的总测试用例数量之间的比例;第一提示模块,用于利用所述代码覆盖率、需求覆盖率以及用例覆盖率发出提示信息,其中,所述提示信息用于提示调整所述测试用例。
15、在一个示例性实施例中,上述第一检测模块,包括:第一定位单元,用于利用所述测试异常信息表定位所述测试用例在所述回归测试中的测试异常,得到第一异常;第一检测单元,用于利用所述覆盖率数据表检测所述测试用例在所述回归测试中的覆盖率异常,得到第二异常;第二检测单元,用于基于所述第一异常和所述第二异常对通过所述测试用例对所述目标应用程序执行的所述回归测试进行异常检测。
16、在一个示例性实施例中,上述装置还包括:第一提取模块,用于基于所述第一异常和所述第二异常对通过所述测试用例对所述目标应用程序执行的所述回归测试进行异常检测之后,从所述第一异常中提取所述测试用例的异常参数,其中,所述异常参数包括异常数量和异常等级;第二提取模块,用于从所述第二异常中提取在第二预设时间段内利用所述测试用例对所述目标应用程序执行所述回归测试的覆盖率增长率;第一调整模块,用于基于所述异常参数和所述覆盖率增长率调整所述测试用例在所述回归测试中的权重分布。
17、在一个示例性实施例中,上述第一调整模块,包括:第一调整单元,用于在所述异常数量大于预设异常数量、所述异常等级大于预设等级以及所述覆盖率增长率大于预设增长率的情况下,将所述测试用例的分布权重调整为第一权重;第二调整单元,用于在所述异常数量小于预设异常数量、所述异常等级小于预设等级以及所述覆盖率增长率小于预设增长率的情况下,将所述测试用例的分布权重调整为第二权重,其中,所述第一权重大于所述第二权重。
18、根据本技术的又一个实施例,还提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现上述任一项方法实施例中的步骤。
19、根据本技术的又一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
20、根据本技术的又一个实施例,还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
21、通过本技术,由于将执行回归测试过程中的日志信息作为目标应用程序的测试异常信息表,并统计回归测试过程中测试用例的覆盖率数据表,最后利用测试异常信息表和覆盖率数据表对目标应用程序执行的回归测试进行检测。可以减少仿真资源和时间的浪费,加速了应用程序验证的收敛。因此,可以解决相关技术中对应用程序的检测效率低的问题,达到快速检测应用程序的效果。
技术研发人员:罗迪,曾昭贵,许强,刘世伟,姜宝来,李奔
技术所有人:山东云海国创云计算装备产业创新中心有限公司
备 注:该技术已申请专利,仅供学习研究,如用于商业用途,请联系技术所有人。
声 明 :此信息收集于网络,如果你是此专利的发明人不想本网站收录此信息请联系我们,我们会在第一时间删除
