掌桥专利:专业的专利平台
掌桥专利
首页

一种应用于测试用例生成的工业软件迁移学习方法

文献发布时间:2024-04-18 20:02:40


一种应用于测试用例生成的工业软件迁移学习方法

技术领域

本发明涉及软件测试领域尤其涉及一种应用于测试用例生成的工业软件迁移学习方法。

背景技术

工业软件被广泛应用于航空航天、医疗健康、交通汽车、电子、新能源等领域的核心装备与系统制造。为了完善工业软件的软件质量,降低因工业软件错误而导致的重大事故,提高工业软件生产的整体水平,针对工业软件的测试就显得及其重要。

目前,针对工业软件的测试领域中测试用例的生成方式主要围绕随机生成与基于语法的机器学习生成,但事实上大部分工业软件拥有的语法语义并不完整,无法支持大量的测试用例准确生成,其试错成本所带来的时间人力物力投入巨大,因此采用迁移学习的方式将拥有成熟自动化测试用例生成经验的工业软件测试用例生成方式通过迁移的方法转移至待测工业软件加快测试速度,减少测试所带来的成本势在必行。

发明内容

根据现有技术存在的问题,本发明公开了一种应用于测试用例生成的工业软件迁移学习方法,具体包括如下步骤:

生成或收集一批自动化生成测试用例的工业软件形成工业软件库,对工业软件库中的工业软件进行指标评估构建工业软件指标矩阵;

生成或收集包含多个测试用例如何生成的测试用例生成方法库;

为工业软件库中的每个工业软件匹配测试用例生成方法库中的测试用例生成方法并搭建工业软件测试用例方法矩阵;

将每个测试用例生成方法运行于工业软件中,并将测试用例生成概率记录在工业软件测试用例方法矩阵中;

对每个工业软件所在工业软件指标矩阵的数据构建特征集,对每个工业软件所在的工业软件测试用例方法矩阵内的数据构建结果集;

将上述特征集和结果集输入机器学习模型进行训练,得到训练好的机器学习模型;对目标工业软件进行指标评估形成验证集;

将验证集输入训练好的机器学习模型中得到验证集结果;

根据验证集结果百分比大小进行排序对目标工业软件进行自动化测试用例生成。

可选的,可自动化生成测试用例的工业软件,系特指可基于现有随机生成测试用例算法或基于语法生成测试用例算法进行测试用例生成的工业软件,其大部分应包含完善的语法语义。

可选的,指标评估是基于工业软件库中的工业软件进行特用指标构建评估,包含是否支持代码编程、是否支持图形化编程、是否有完善的语法语义等工业软件参数指标进行评估。

可选的,测试用例生成方法库为测试用例生成方法的集合,测试用例生成方法系可用于各个工业软件进行测试用例生成的现有测试用例生成通用方法。

可选的,工业软件测试用例方法矩阵为各个工业软件在不同测试用例生成方法下的测试用例生成概率,测试用例生成概率为成功生成的测试用例数与生成测试用例总次数的比值。

可选的,机器学习模型,不做特定模型限制,在本方法中所有可实现多输入多输出的机器学习模型如Keras、SVM、CNN、DNN等均应被包含在本方法的可使用机器学习模型范畴。

可选的,验证集结果为目标工业软件通过机器学习模型得到的在不同测试用例方法下的测试用例生成概率,对所述测试用例生成概率进行排序,对测试用例生成概率较高的测试用例生成方法率先进行目标工业软件的迁移使用。

由于采用了上述技术方案,本发明提供的一种应用于测试用例生成的工业软件迁移学习方法,该方法通过对模型中特定功能模块进行功能上的拆解与重组替换为新的模块、在路径中通过信号选择模块增加一条完全被忽略的新路径变异生成变体模型,可以在保证数据流、控制流不变的情况下,增加功能不变的等效操作,能够发现更多潜藏在软件中的错误,提升测试效果。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明中本发明方法的流程图;

图2为本发明中工业软件指标矩阵示意图;

图3为本发明中工业软件测试用例方法矩阵示意图。

具体实施方式

为使本发明的技术方案和优点更加清楚,下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚完整的描述:

如图1所示的一种应用于测试用例生成的工业软件迁移学习方法,具体包括如下步骤:

在步骤S101中:形成工业软件库,构建工业软件指标矩阵;

生成或收集一批可自动化生成测试用例的工业软件形成工业软件库,对工业软件库中的工业软件进行指标评估构建工业软件指标矩阵。

具体的,可自动化生成测试用例的工业软件,系特指可基于现有随机生成测试用例算法或基于语法生成测试用例算法进行测试用例生成的工业软件,其大部分应包含完善的语法语义。

指标评估,系基于工业软件库中的工业软件进行特用指标构建评估,包含是否支持代码编程、是否支持图形化编程、是否有完善的语法语义等工业软件参数指标进行评估,评估结果一般分为差、一般、好三个等级,对应数字0、1、2。

工业软件指标矩阵是将工业软件库中的工业软件与工业软件指标评估数字进行结合所构成的矩阵。

具体的如图2所示系工业软件指标矩阵示意图,该矩阵横坐标为工业软件A、工业软件B......工业软件Z,表示了各个不同的工业软件,该矩阵纵坐标为指标A、指标B......指标Z表示了不同的工业软件参数指标,其内的数字即为评估结果。

在步骤S102中:生成测试用例生成方法库;

生成或收集一批可用于上述工业软件进行测试用例生成的测试用例生成方法库。

可选的,测试用例生成方法库系测试用例生成方法的集合,测试用例生成方法系可用于各个工业软件进行测试用例生成的现有测试用例生成通用方法。

在步骤S103中:搭建工业软件测试用例方法矩阵;

为工业软件库中的每个工业软件匹配测试用例生成方法库中的测试用例生成方法并搭建工业软件测试用例方法矩阵。

将每个测试用例生成方法运行于工业软件当中,并记录测试用例生成概率于工业软件测试用例方法矩阵中。

可选的,工业软件测试用例方法矩阵,工业软件测试用例方法矩阵系各个工业软件在不同测试用例生成方法下的测试用例生成概率,测试用例生成概率=成功生成的测试用例数/生成测试用例总次数。

如图3所示,工业软件测试用例方法矩阵示意图,该矩阵横坐标为工业软件A、工业软件B......工业软件Z,表示了各个不同的工业软件,该矩阵纵坐标为测试用例生成方法A、测试用例生成方法B......测试用例生成方法Z表示了不同的测试用例生成方法,其内的百分比即为不同的测试用例生成方法的测试用例生成概率。

在步骤S104中:输入特征集和结果集;

将每个工业软件所在工业软件指标矩阵的数据构建特征集,每个工业软件其所在工业软件测试用例方法矩阵内的数据构建结果集;并将上述特征集与结果集进行工业软件的一一对应。

在步骤S105中:训练机器学习模型;

将上述特征集与结果集喂入机器学习模型进行训练,得到训练好的机器学习模型。

可选的,特征集与结果集进行训练与测试划分,这里可以采用交叉验证的方式进行。

可选的,机器学习模型,不做特定模型限制,在本方法中所有可实现多输入多输出的机器学习模型如Keras、SVM、CNN、DNN等均应被包含在本方法的可使用机器学习模型范畴,并对于训练好的机器学习模型进行保存。

在步骤S106中:验证目标软件,得到验证集结果;

对目标工业软件进行指标评估形成验证集,其指标评估方式与步骤S101中保持一致。

将验证集喂入训练好的机器学习模型,得到验证集结果。可选的,验证集结果,系目标工业软件通过机器学习模型得到的在不同测试用例方法下的测试用例生成概率,对所述测试用例生成概率进行排序,对测试用例生成概率较高的测试用例生成方法率先进行目标工业软件的迁移使用。

在步骤S107中:基于验证集结果自动生成测试用例;

按验证集结果百分比大小进行排序,对目标工业软件采用验证集结果百分比顺序所对应的测试用例生成方法进行自动化测试用例生成。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。

相关技术
  • 一种面向复杂软件的全自动测试用例驱动生成系统
  • 一种测试用例生成方法、生成装置及软件自动测试系统
  • 一种基于机器学习方法的模糊测试用例生成方法
技术分类

06120116586176