一种基于机器学习算法的智能在线测试方法及系统技术方案

技术编号:39804553 阅读:11 留言:0更新日期:2023-12-22 02:35
本发明专利技术提供一种基于机器学习算法的智能在线测试方法及系统,属于程序测试技术领域,具体包括:基于不同的子模块的模块综合复杂度进行子模块的解析模式和测试模式的确定,并根据子模块的解析模式对子模块进行解析得到软件系统的文本解析结果;根据子模块的测试模式得到不同的子模块在不同的测试环境下的测试结果,并基于不同的子模块在不同的测试环境下的测试结果,采用机器学习算法的解析模型进行软件系统的软件测试结果的输出,并根据软件系统的文本解析结果和软件测试结果进行测试建议以及测试文本的输出,从而进一步提升了软件测试的简易性和便捷性

【技术实现步骤摘要】
一种基于机器学习算法的智能在线测试方法及系统


[0001]本专利技术属于程序测试
,尤其一种基于机器学习算法的智能在线测试方法及系统


技术介绍

[0002]软件测试作为互联网行业发展重要护航者,测试岗位的相关要求越来越高

不仅要求测试技术全面性,还要求较高的测试效率跟测试精准度

这就导致了测试门槛越来越高

因此如何辅助测试人员更好的完成测试任务,降低测试能力要求成为亟待解决的技术问题

[0003]为了辅助测试人员更好的完成测试任务,提升测试效率,在专利技术专利
CN202310579843.0《
一种测试数据生成方法及装置

中通过利用测试数据生成模型生成的待测试数据,对待测试程序进行测试,可以实现软件测试的全分支覆盖,提高软件测试质量,但是却存在以下技术问题:现有技术方案中忽视了根据软件系统的测试数据进行不同的运行环境下的测试结果的评估,并根据不同的运行环境下的测试结果进行总体的测试结果的输出,具体的,以往的测试结果往往反应的是某一种特定运行环境下的测试结果,而一旦运行环境发生改变,例如网络连接状态

数据处理速度等数据发生改变,则同样有可能导致软件系统的运行稳定性不满足要求

[0004]针对上述技术问题,本专利技术提供了一种基于机器学习算法的智能在线测试方法及系统


技术实现思路

[0005]为实现本专利技术目的,本专利技术采用如下技术方案:根据本专利技术的一个方面,提供了一种基于机器学习算法的智能在线测试方法

[0006]一种基于机器学习算法的智能在线测试方法,其特征在于,具体包括:
S1
根据软件系统的关键词的识别结果将所述软件系统划分为多个子模块,并根据所述软件系统的不同的子模块的不同类型的逻辑关键词的识别结果以及代码量进行不同的子模块的模块复杂度的确定;
S2
通过所述软件系统的不同的子模块的输入数据和输出数据进行不同的子模块的数据处理复杂度的确定,并结合所述不同的子模块的模块复杂度进行不同的子模块的模块综合复杂度的确定;
S3
基于不同的子模块的模块综合复杂度进行所述子模块的解析模式和测试模式的确定,并根据所述子模块的解析模式对所述子模块进行解析得到所述软件系统的文本解析结果;
S4
根据所述子模块的测试模式得到不同的子模块在不同的测试环境下的测试结果,并基于所述不同的子模块在不同的测试环境下的测试结果,采用机器学习算法的解析
模型进行所述软件系统的软件测试结果的输出,并根据所述软件系统的文本解析结果和软件测试结果进行测试建议以及测试文本的输出

[0007]本专利技术的有益效果在于:
1、
通过根据软件系统的不同的子模块的不同类型的逻辑关键词的识别结果以及代码量进行不同的子模块的模块复杂度的确定,不仅考虑到不同的子模块的逻辑关系的复杂度,同时还考虑到代码量的影响,也为差异化的对不同的子模块进行差异化的测试模式和解析模式的确定奠定了基础

[0008]2、
通过进一步综合输入数据和输出数据进行不同的子模块的模块综合复杂度的确定,既考虑到不同的子模块的逻辑处理关系的复杂度,同时还考虑到不同的子模块的输入数据和输出数据的数据量的差异,进一步实现对不同的子模块的复杂度的综合准确评估

[0009]3、
根据所述子模块的模块综合复杂度进行所述子模块的解析模式和测试模式的确定,既考虑到不同的逻辑复杂程度对解析模式的需求的差异,同时还实现了对不同的数据逻辑复杂程度对测试模式的需求的差异的准确评估,既保证了程序的测试质量,同时还保证了程序的测试精度

[0010]4、
通过基于不同的子模块在不同的测试环境下的测试结果,采用机器学习算法的解析模型进行软件系统的软件测试结果的输出,充分考虑到不同的子模块在不同的测试环境下的测试结果的差异,避免了原有的仅考虑单一的测试环境导致的测试结果不够准确的技术问题

[0011]进一步的技术方案在于,所述软件系统的关键词根据所述软件系统的注释词的识别结果进行确定,具体的根据目标关键词与所述软件系统的注释词的匹配结果进行确定

[0012]进一步的技术方案在于,所述逻辑关键词根据所述子模块的逻辑结构关键字的识别结果进行确定,具体的根据所述目标关键词与所述子模块的逻辑结构关键字的匹配结果进行确定

[0013]进一步的技术方案在于,所述子模块的输入数据和输出数据根据所述子模块的变量关键词的识别结果进行确定

[0014]进一步的技术方案在于,基于不同的子模块的模块综合复杂度进行所述子模块的解析模式和测试模式的确定,具体包括:根据不同的子模块的模块综合复杂度进行所有的子模块的模块综合复杂度的均值的确定;当所述子模块的模块综合复杂度大于所述模块综合复杂度的均值时:则根据所述子模块的逻辑关键词进行所述子模块的输入数据的数据处理流程的确定,并根据所述数据处理流程对所述子模块进行解析得到所述子模块的数据处理框图,根据所述子模块的输入数据在所述数据处理框图中的不同的数据流程的子模块的数据处理结果进行所述子模块的测试;当所述子模块的模块综合复杂度不大于所述模块综合复杂度的均值时:将所述子模块作为一个整体进行所述子模块的解析,并根据所述子模块的输入数据和输出数据的测试结果进行所述子模块的测试

[0015]进一步的技术方案在于,所述测试建议包括继续测试

暂停测试以及中止测试

[0016]第二方面,本专利技术提供了一种基于机器学习算法的智能在线测试系统,采用上述的一种基于机器学习算法的智能在线测试方法,其特征在于,具体包括:模块复杂度评估模块,综合复杂度评估模块,分类解析模块,测试结果输出模块;所述模块复杂度评估模块负责根据软件系统的关键词的识别结果将所述软件系统划分为多个子模块,并根据所述软件系统的不同的子模块的不同类型的逻辑关键词的识别结果以及代码量进行不同的子模块的模块复杂度的确定;所述综合复杂度评估模块负责通过所述软件系统的不同的子模块的输入数据和输出数据进行不同的子模块的数据处理复杂度的确定,并结合所述不同的子模块的模块复杂度进行不同的子模块的模块综合复杂度的确定;所述分类解析模块负责基于不同的子模块的模块综合复杂度进行所述子模块的解析模式和测试模式的确定,并根据所述子模块的解析模式对所述子模块进行解析得到所述软件系统的文本解析结果;所述测试结果输出模块负责根据所述子模块的测试模式得到不同的子模块在不同的测试环境下的测试结果,并基于所述不同的子模块在不同的测试环境下的测试结果,采用机器学习算法的解析模型进行所述软件系统的软件测试结果的输出,并根据所述软件系统的文本解析结果和软件测试结果进行测试建议以及测试文本的输出

[本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种基于机器学习算法的智能在线测试方法,其特征在于,具体包括:根据软件系统的关键词的识别结果将所述软件系统划分为多个子模块,并根据所述软件系统的不同的子模块的不同类型的逻辑关键词的识别结果以及代码量进行不同的子模块的模块复杂度的确定;通过所述软件系统的不同的子模块的输入数据和输出数据进行不同的子模块的数据处理复杂度的确定,并结合所述不同的子模块的模块复杂度进行不同的子模块的模块综合复杂度的确定;基于不同的子模块的模块综合复杂度进行所述子模块的解析模式和测试模式的确定,并根据所述子模块的解析模式对所述子模块进行解析得到所述软件系统的文本解析结果;根据所述子模块的测试模式得到不同的子模块在不同的测试环境下的测试结果,并基于所述不同的子模块在不同的测试环境下的测试结果,采用机器学习算法的解析模型进行所述软件系统的软件测试结果的输出,并根据所述软件系统的文本解析结果和软件测试结果进行测试建议以及测试文本的输出
。2.
如权利要求1所述的基于机器学习算法的智能在线测试方法,其特征在于,所述软件系统的关键词根据所述软件系统的注释词的识别结果进行确定,具体的根据目标关键词与所述软件系统的注释词的匹配结果进行确定
。3.
如权利要求1所述的基于机器学习算法的智能在线测试方法,其特征在于,所述逻辑关键词根据所述子模块的逻辑结构关键字的识别结果进行确定,具体的根据所述目标关键词与所述子模块的逻辑结构关键字的匹配结果进行确定
。4.
如权利要求1所述的基于机器学习算法的智能在线测试方法,其特征在于,所述子模块的模块复杂度的确定的方法为:
S11
基于所述子模块的代码量以及函数数量进行所述子模块的模块基础复杂度的确定;
S12
根据所述子模块的不同类型的逻辑关键词的识别结果进行所述子模块的逻辑关键词的数量的确定,并基于所述子模块的逻辑关键词的数量确定所述子模块的数据处理逻辑是否复杂,若是,则进入步骤
S14
,若否,则进入下一步骤;
S13
根据所述子模块的不同类型的逻辑关键词的识别结果进行所述子模块的逻辑关键词的类型数量的确定,并基于所述子模块的逻辑关键词的类型数量确定所述子模块的数据处理逻辑是否复杂,若是,则进入下一步骤,若否,则将所述模块基础复杂度作为所述子模块的模块复杂度;
S14
通过所述子模块的不同类型的逻辑关键词的数量进行所述子模块的逻辑关键词的数量大于预设数量的类型数量的确定,并结合所述子模块的逻辑关键词的类型数量以及逻辑关键词的数量进行所述子模块的逻辑复杂度的确定;
S15
通过所述子模块的逻辑复杂度以及所述模块基础复杂度进行所述子模块的模块复杂度的确定
。5.
如权利要求4所述的基于机器学习算法的智能在线测试方法,其特征在于,通过所述子模块的逻辑复杂度以及所述模块基础复杂度进行所述子模块的模块复杂度的确定,具体包括:当所述子模块的逻辑复杂度大于所述子模块的模块基础复杂度时,则通过所述子模块
的逻辑复杂度进行所述子模块的模块复杂度的确定;当所述子模块的逻辑复杂度不大于所述子模块的模块基础复杂度时,则通过所述子模块的逻辑复杂度与所述基础复杂度的均值进行所述子模块的模块复杂度的确定
。6.
如权利要求1所述的基于机器学习算法的智能在线测试方法,其特征在于,所述子模块的输入数据和输出数据根据所述子模块的变量关键词的识别结果进行确定
。7.
如权利要求1所述的基于机器学习算法的智能在线测试方法,其特征在于,所述子模块的数据处理复杂度的确定的方法为:获取所述子模块的输入数据以及输出数据的数量,基于所述子模块的输入数据以及所述软件系统的逻辑关键词的识别结果进行所述子模块的不同的输入数据...

【专利技术属性】
技术研发人员:胡燕丽陶嘉驹陈煜唐玉娇
申请(专利权)人:杭银消费金融股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1