CN117234954A - 一种基于机器学习算法的智能在线测试方法及系统 - Google Patents
一种基于机器学习算法的智能在线测试方法及系统 Download PDFInfo
- Publication number
- CN117234954A CN117234954A CN202311513597.5A CN202311513597A CN117234954A CN 117234954 A CN117234954 A CN 117234954A CN 202311513597 A CN202311513597 A CN 202311513597A CN 117234954 A CN117234954 A CN 117234954A
- Authority
- CN
- China
- Prior art keywords
- module
- sub
- complexity
- test
- submodule
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 178
- 238000010801 machine learning Methods 0.000 title claims abstract description 40
- 238000004458 analytical method Methods 0.000 claims abstract description 47
- 238000013522 software testing Methods 0.000 claims abstract description 5
- 238000010998 test method Methods 0.000 claims abstract description 5
- 238000012545 processing Methods 0.000 claims description 88
- 238000011156 evaluation Methods 0.000 claims description 20
- 238000000034 method Methods 0.000 claims description 16
- 230000006870 function Effects 0.000 claims description 8
- 238000010586 diagram Methods 0.000 claims description 7
- 238000010224 classification analysis Methods 0.000 claims description 6
- 238000013210 evaluation model Methods 0.000 claims description 6
- 230000008901 benefit Effects 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000013100 final test Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Stored Programmes (AREA)
Abstract
本发明提供一种基于机器学习算法的智能在线测试方法及系统,属于程序测试技术领域,具体包括:基于不同的子模块的模块综合复杂度进行子模块的解析模式和测试模式的确定,并根据子模块的解析模式对子模块进行解析得到软件系统的文本解析结果;根据子模块的测试模式得到不同的子模块在不同的测试环境下的测试结果,并基于不同的子模块在不同的测试环境下的测试结果,采用机器学习算法的解析模型进行软件系统的软件测试结果的输出,并根据软件系统的文本解析结果和软件测试结果进行测试建议以及测试文本的输出,从而进一步提升了软件测试的简易性和便捷性。
Description
技术领域
本发明属于程序测试技术领域,尤其一种基于机器学习算法的智能在线测试方法及系统。
背景技术
软件测试作为互联网行业发展重要护航者,测试岗位的相关要求越来越高。不仅要求测试技术全面性,还要求较高的测试效率跟测试精准度。这就导致了测试门槛越来越高。因此如何辅助测试人员更好的完成测试任务,降低测试能力要求成为亟待解决的技术问题。
为了辅助测试人员更好的完成测试任务,提升测试效率,在发明专利CN202310579843.0《一种测试数据生成方法及装置》中通过利用测试数据生成模型生成的待测试数据,对待测试程序进行测试,可以实现软件测试的全分支覆盖,提高软件测试质量,但是却存在以下技术问题:
现有技术方案中忽视了根据软件系统的测试数据进行不同的运行环境下的测试结果的评估,并根据不同的运行环境下的测试结果进行总体的测试结果的输出,具体的,以往的测试结果往往反应的是某一种特定运行环境下的测试结果,而一旦运行环境发生改变,例如网络连接状态、数据处理速度等数据发生改变,则同样有可能导致软件系统的运行稳定性不满足要求。
针对上述技术问题,本发明提供了一种基于机器学习算法的智能在线测试方法及系统。
发明内容
为实现本发明目的,本发明采用如下技术方案:
根据本发明的一个方面,提供了一种基于机器学习算法的智能在线测试方法。
一种基于机器学习算法的智能在线测试方法,其特征在于,具体包括:
S1根据软件系统的关键词的识别结果将所述软件系统划分为多个子模块,并根据所述软件系统的不同的子模块的不同类型的逻辑关键词的识别结果以及代码量进行不同的子模块的模块复杂度的确定;
S2通过所述软件系统的不同的子模块的输入数据和输出数据进行不同的子模块的数据处理复杂度的确定,并结合所述不同的子模块的模块复杂度进行不同的子模块的模块综合复杂度的确定;
S3基于不同的子模块的模块综合复杂度进行所述子模块的解析模式和测试模式的确定,并根据所述子模块的解析模式对所述子模块进行解析得到所述软件系统的文本解析结果;
S4根据所述子模块的测试模式得到不同的子模块在不同的测试环境下的测试结果,并基于所述不同的子模块在不同的测试环境下的测试结果,采用机器学习算法的解析模型进行所述软件系统的软件测试结果的输出,并根据所述软件系统的文本解析结果和软件测试结果进行测试建议以及测试文本的输出。
本发明的有益效果在于:
1、通过根据软件系统的不同的子模块的不同类型的逻辑关键词的识别结果以及代码量进行不同的子模块的模块复杂度的确定,不仅考虑到不同的子模块的逻辑关系的复杂度,同时还考虑到代码量的影响,也为差异化的对不同的子模块进行差异化的测试模式和解析模式的确定奠定了基础。
2、通过进一步综合输入数据和输出数据进行不同的子模块的模块综合复杂度的确定,既考虑到不同的子模块的逻辑处理关系的复杂度,同时还考虑到不同的子模块的输入数据和输出数据的数据量的差异,进一步实现对不同的子模块的复杂度的综合准确评估。
3、根据所述子模块的模块综合复杂度进行所述子模块的解析模式和测试模式的确定,既考虑到不同的逻辑复杂程度对解析模式的需求的差异,同时还实现了对不同的数据逻辑复杂程度对测试模式的需求的差异的准确评估,既保证了程序的测试质量,同时还保证了程序的测试精度。
4、通过基于不同的子模块在不同的测试环境下的测试结果,采用机器学习算法的解析模型进行软件系统的软件测试结果的输出,充分考虑到不同的子模块在不同的测试环境下的测试结果的差异,避免了原有的仅考虑单一的测试环境导致的测试结果不够准确的技术问题。
进一步的技术方案在于,所述软件系统的关键词根据所述软件系统的注释词的识别结果进行确定,具体的根据目标关键词与所述软件系统的注释词的匹配结果进行确定。
进一步的技术方案在于,所述逻辑关键词根据所述子模块的逻辑结构关键字的识别结果进行确定,具体的根据所述目标关键词与所述子模块的逻辑结构关键字的匹配结果进行确定。
进一步的技术方案在于,所述子模块的输入数据和输出数据根据所述子模块的变量关键词的识别结果进行确定。
进一步的技术方案在于,基于不同的子模块的模块综合复杂度进行所述子模块的解析模式和测试模式的确定,具体包括:
根据不同的子模块的模块综合复杂度进行所有的子模块的模块综合复杂度的均值的确定;
当所述子模块的模块综合复杂度大于所述模块综合复杂度的均值时:
则根据所述子模块的逻辑关键词进行所述子模块的输入数据的数据处理流程的确定,并根据所述数据处理流程对所述子模块进行解析得到所述子模块的数据处理框图,根据所述子模块的输入数据在所述数据处理框图中的不同的数据流程的子模块的数据处理结果进行所述子模块的测试;
当所述子模块的模块综合复杂度不大于所述模块综合复杂度的均值时:
将所述子模块作为一个整体进行所述子模块的解析,并根据所述子模块的输入数据和输出数据的测试结果进行所述子模块的测试。
进一步的技术方案在于,所述测试建议包括继续测试、暂停测试以及中止测试。
第二方面,本发明提供了一种基于机器学习算法的智能在线测试系统,采用上述的一种基于机器学习算法的智能在线测试方法,其特征在于,具体包括:
模块复杂度评估模块,综合复杂度评估模块,分类解析模块,测试结果输出模块;
所述模块复杂度评估模块负责根据软件系统的关键词的识别结果将所述软件系统划分为多个子模块,并根据所述软件系统的不同的子模块的不同类型的逻辑关键词的识别结果以及代码量进行不同的子模块的模块复杂度的确定;
所述综合复杂度评估模块负责通过所述软件系统的不同的子模块的输入数据和输出数据进行不同的子模块的数据处理复杂度的确定,并结合所述不同的子模块的模块复杂度进行不同的子模块的模块综合复杂度的确定;
所述分类解析模块负责基于不同的子模块的模块综合复杂度进行所述子模块的解析模式和测试模式的确定,并根据所述子模块的解析模式对所述子模块进行解析得到所述软件系统的文本解析结果;
所述测试结果输出模块负责根据所述子模块的测试模式得到不同的子模块在不同的测试环境下的测试结果,并基于所述不同的子模块在不同的测试环境下的测试结果,采用机器学习算法的解析模型进行所述软件系统的软件测试结果的输出,并根据所述软件系统的文本解析结果和软件测试结果进行测试建议以及测试文本的输出。
其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书以及附图中所特别指出的结构来实现和获得。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
通过参照附图详细描述其示例实施方式,本发明的上述和其它特征及优点将变得更加明显;
图1是一种基于机器学习算法的智能在线测试方法的流程图;
图2是子模块的模块复杂度的确定的方法的流程图;
图3是子模块的数据处理复杂度的确定的方法的流程图;
图4是软件系统的软件测试结果的确定的具体步骤的流程图;
图5是一种基于机器学习算法的智能在线测试系统的框架图。
具体实施方式
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
申请人发现,在进行软件系统的测试时,由于软件系统的不同的子模块的数据处理复杂度的差异,因此若不能对数据处理较为复杂的子模块进行精细化的测试,而对数据处理较为简单的子模块采用较为简单的测试,则导致测试结果的效率和准确性都无法满足要求,同时现有技术方案中还忽视了根据不同的子模块在不同的测试环境下的测试结果进行软件系统的测试结果的输出,则有可能导致测试结果无法准确的反应实际的软件系统的运行情况。
为了解决上述技术问题,申请人采用以下技术方案:
首先通过对软件系统的不同的子模块的逻辑关键词的识别结果以及代码量进行不同的子模块的模块复杂度的确定,具体的根据不同的子模块的逻辑关键词的数量以及代码量进行子模块的模块复杂度的确定,在其中的一个可能的实施例中,通过代码量进行基础的模块复杂度的确定,并根据逻辑关键词的数量进行补偿量的确定,通过补偿量以及基础的模块复杂度进行子模块的模块复杂度的确定;
紧接着获取不同的子模块的输入数据和输出数据的数量,根据输入数据和输出数据的数量进行子模块的数据处理复杂度的确定,具体的分别根据输入数据的数量以及输出数据的数量分别进行子模块的输入数据的数据处理复杂度以及输出数据的数据处理复杂度的确定,最后再根据子模块的输入数据的数据处理复杂度以及输出数据的数据处理复杂度的最大值进行子模块的数据处理复杂度的确定;
根据子模块的模块复杂度以及数据处理复杂度的最大值进行子模块的模块综合复杂度的确定,并当子模块的模块综合复杂度较高时,需要对子模块进行拆分测试,对每一个逻辑关键词的数据处理结果均需要进行分析,并将子模块进行拆分成多个逻辑处理关系;当子模块的模块综合复杂度较低时,无需对子模块进行拆分测试,根据子模块的输入数据和输出数据进行测试结果的输出,并将子模块作为一个完整的整体作为解析结果;
根据不同的子模块在不同的测试环境下的测试结果,采用基于机器学习算法的评估模型得到最后的测试结果,在其中的一个可能的实施例中,可以通过网络连接状态、用户数量以及数据处理延时等进行测试环境的搭建,机器学习算法可以采用基于BP神经网络、LSTM神经网络以及残差神经网络的一种或者多种进行构建。
以下将从方法类实施例和系统类实施例两个角度进行详尽叙述。
为解决上述问题,根据本发明的一个方面,如图1所示,提供了一种基于机器学习算法的智能在线测试方法,其特征在于,具体包括:
S1根据软件系统的关键词的识别结果将所述软件系统划分为多个子模块,并根据所述软件系统的不同的子模块的不同类型的逻辑关键词的识别结果以及代码量进行不同的子模块的模块复杂度的确定;
需要说明的是,所述软件系统的关键词根据所述软件系统的注释词的识别结果进行确定,具体的根据目标关键词与所述软件系统的注释词的匹配结果进行确定。
进一步需要说明的是,上述步骤S1中的所述逻辑关键词根据所述子模块的逻辑结构关键字的识别结果进行确定,具体的根据所述目标关键词与所述子模块的逻辑结构关键字的匹配结果进行确定。
在其中的一个可能的实施例中,如图2所示,上述步骤S1中的所述子模块的模块复杂度的确定的方法为:
S11基于所述子模块的代码量以及函数数量进行所述子模块的模块基础复杂度的确定;
S12根据所述子模块的不同类型的逻辑关键词的识别结果进行所述子模块的逻辑关键词的数量的确定,并基于所述子模块的逻辑关键词的数量确定所述子模块的数据处理逻辑是否复杂,若是,则进入步骤S14,若否,则进入下一步骤;
S13根据所述子模块的不同类型的逻辑关键词的识别结果进行所述子模块的逻辑关键词的类型数量的确定,并基于所述子模块的逻辑关键词的类型数量确定所述子模块的数据处理逻辑是否复杂,若是,则进入下一步骤,若否,则将所述模块基础复杂度作为所述子模块的模块复杂度;
S14通过所述子模块的不同类型的逻辑关键词的数量进行所述子模块的逻辑关键词的数量大于预设数量的类型数量的确定,并结合所述子模块的逻辑关键词的类型数量以及逻辑关键词的数量进行所述子模块的逻辑复杂度的确定;
在其中的一个可能的实施例中,首先通过子模块的逻辑关键词的数量大于预设数量的类型数量在所有的类型数量的比值进行子模块的逻辑关键词的类型复杂度的确定,根据逻辑关键词的数量与预设关键词数量阈值的比值进行关键词复杂度的确定,最后根据关键词复杂度与类型复杂度的数量和进行子模块的逻辑复杂度的确定。
S15通过所述子模块的逻辑复杂度以及所述模块基础复杂度进行所述子模块的模块复杂度的确定。
在其中的一个可能的实施例中,上述步骤S15中的通过所述子模块的逻辑复杂度以及所述模块基础复杂度进行所述子模块的模块复杂度的确定,具体包括:
当所述子模块的逻辑复杂度大于所述子模块的模块基础复杂度时,则通过所述子模块的逻辑复杂度进行所述子模块的模块复杂度的确定;
当所述子模块的逻辑复杂度不大于所述子模块的模块基础复杂度时,则通过所述子模块的逻辑复杂度与所述基础复杂度的均值进行所述子模块的模块复杂度的确定。
在另外的一个可能的实施例中,上述步骤S1中的所述子模块的模块复杂度的确定的方法为:
根据所述子模块的不同类型的逻辑关键词的识别结果进行所述子模块的逻辑关键词的数量以及逻辑关键词的类型数量的确定;
当所述子模块的逻辑关键词的数量以及类型数量均在预设数量范围内时:
通过所述子模块的逻辑关键词的数量以及类型数量进行所述子模块的模块复杂度的确定;
当所述子模块的逻辑关键词的数量以及类型数量任意一项不在预设数量范围内时:
通过所述子模块的不同类型的逻辑关键词的数量进行所述子模块的逻辑关键词的数量大于预设数量的类型数量的确定,并结合所述子模块的逻辑关键词的类型数量以及逻辑关键词的数量进行所述子模块的逻辑复杂度的确定;获取所述子模块的代码量以及函数数量,并结合所述子模块的逻辑复杂度进行所述子模块的模块复杂度的确定。
在本实施例中,通过根据软件系统的不同的子模块的不同类型的逻辑关键词的识别结果以及代码量进行不同的子模块的模块复杂度的确定,不仅考虑到不同的子模块的逻辑关系的复杂度,同时还考虑到代码量的影响,也为差异化的对不同的子模块进行差异化的测试模式和解析模式的确定奠定了基础。
S2通过所述软件系统的不同的子模块的输入数据和输出数据进行不同的子模块的数据处理复杂度的确定,并结合所述不同的子模块的模块复杂度进行不同的子模块的模块综合复杂度的确定;
进一步需要说明的是,所述子模块的输入数据和输出数据根据所述子模块的变量关键词的识别结果进行确定。
在其中的一个可能的实施例中,如图3所示,上述步骤S2中的所述子模块的数据处理复杂度的确定的方法为:
S21通过所述子模块的输入数据以及输出数据的数量确定子模块的数据处理量是否小于预设数据量,若是,则进入下一步骤,若否,则进入步骤S23;
S22基于所述子模块的输入数据以及所述软件系统的逻辑关键词的识别结果进行所述子模块的不同的输入数据的数据处理次数的确定,并通过所述不同的输入数据的数据处理次数的数量和确定所述子模块的数据处理是否复杂,若是,则进入下一步骤,若否,则通过所述子模块的输入数据以及输出数据的数量进行所述子模块的数据处理复杂度的确定;
S23根据所述输入数据的数据处理次数将所述输入数据划分为复杂处理数据的确定,并根据所述复杂处理数据的数量以及数据类型、输入数据的数量以及数据处理次数的数量和进行所述子模块的输入数据的数据处理复杂度的确定;
S24根据所述子模块的输出数据进行所述子模块的输出数据的数量以及数据类型的确定,并结合所述子模块的输入数据的数据处理复杂度进行所述子模块的数据处理复杂度的确定。
在其中的一个可能的实施例中,上述步骤S22中的通过所述不同的输入数据的数据处理次数的数量和确定所述子模块的数据处理是否复杂,具体包括:
根据所述子模块的输入数据的数量进行所述子模块的输入数据的预设处理次数的确定;
判断所述不同的输入数据的数据处理次数的数量和是否小于所述子模块的输入数据的预设处理次数,若是,则确定所述子模块的数据处理不复杂,若否,则确定所述子模块的数据处理复杂。
在另外的一个可能的实施例中,上述步骤S2中的所述子模块的数据处理复杂度的确定的方法为:
获取所述子模块的输入数据以及输出数据的数量,基于所述子模块的输入数据以及所述软件系统的逻辑关键词的识别结果进行所述子模块的不同的输入数据的数据处理次数的确定;
当所述不同的输入数据的数据处理次数的数量和小于预设次数时:
则通过所述子模块的输入数据以及输出数据的数量进行所述子模块的数据处理复杂度的确定;
当所述不同的输入数据的数据处理次数的数量和不小于预设次数时:
根据所述输入数据的数据处理次数将所述输入数据划分为复杂处理数据的确定,并根据所述复杂处理数据的数量以及数据类型、输入数据的数量以及数据处理次数的数量和进行所述子模块的输入数据的数据处理复杂度的确定;根据所述子模块的输出数据进行所述子模块的输出数据的数量以及数据类型的确定,并结合所述子模块的输入数据的数据处理复杂度进行所述子模块的数据处理复杂度的确定。
在本实施例中,通过进一步综合输入数据和输出数据进行不同的子模块的模块综合复杂度的确定,既考虑到不同的子模块的逻辑处理关系的复杂度,同时还考虑到不同的子模块的输入数据和输出数据的数据量的差异,进一步实现对不同的子模块的复杂度的综合准确评估。
S3基于不同的子模块的模块综合复杂度进行所述子模块的解析模式和测试模式的确定,并根据所述子模块的解析模式对所述子模块进行解析得到所述软件系统的文本解析结果;
在其中的一个可能的实施例中,上述步骤S3中的基于不同的子模块的模块综合复杂度进行所述子模块的解析模式和测试模式的确定,具体包括:
根据不同的子模块的模块综合复杂度进行所有的子模块的模块综合复杂度的均值的确定;
当所述子模块的模块综合复杂度大于所述模块综合复杂度的均值时:
则根据所述子模块的逻辑关键词进行所述子模块的输入数据的数据处理流程的确定,并根据所述数据处理流程对所述子模块进行解析得到所述子模块的数据处理框图,根据所述子模块的输入数据在所述数据处理框图中的不同的数据流程的子模块的数据处理结果进行所述子模块的测试;
当所述子模块的模块综合复杂度不大于所述模块综合复杂度的均值时:
将所述子模块作为一个整体进行所述子模块的解析,并根据所述子模块的输入数据和输出数据的测试结果进行所述子模块的测试。
在本实施例中,根据所述子模块的模块综合复杂度进行所述子模块的解析模式和测试模式的确定,既考虑到不同的逻辑复杂程度对解析模式的需求的差异,同时还实现了对不同的数据逻辑复杂程度对测试模式的需求的差异的准确评估,既保证了程序的测试质量,同时还保证了程序的测试精度。
S4根据所述子模块的测试模式得到不同的子模块在不同的测试环境下的测试结果,并基于所述不同的子模块在不同的测试环境下的测试结果,采用机器学习算法的解析模型进行所述软件系统的软件测试结果的输出,并根据所述软件系统的文本解析结果和软件测试结果进行测试建议以及测试文本的输出。
在其中的一个可能的实施例中,如图4所示,上述步骤S4中的所述软件系统的软件测试结果的确定的具体步骤为:
根据所述不同的子模块在不同的测试环境下的测试结果进行不同的子模块在不同的测试环境下的问题数量的确定;
通过所述子模块在不同的测试环境下的问题数量以及存在问题的测试环境的数量进行所述子模块的测试问题评估量以及问题子模块的确定;
基于所述软件系统的问题子模块的数量以及在所述子模块中的比例、子模块的问题数量和以及存在问题的测试环境的数量和、子模块的测试问题评估量的均值构建输入集,并通过所述输入集,采用基于机器学习算法的评估模型进行所述软件系统的软件测试结果的输出。
在其中的一个可能的实施例中,上述基于机器学习算法的评估模型采用基于RNN算法的评估模型进行搭建,其中所述评估模型的搭建的具体步骤为:
确定网络的基本结构:
输入:RNN的输入为所述软件系统的问题子模块的数量以及在所述子模块中的比例、子模块的问题数量和以及存在问题的测试环境的数量和、子模块的测试问题评估量的均值。
输出:RNN的输出通常是对输入序列的响应,在本发明中为软件系统的软件测试结果。
隐藏层函数:RNN通过隐藏层函数对输入序列中每个元素特征的提取和转换,然后进行网络的输出的计算。
定义隐藏层函数,使用适当的激活函数来计算每次训练后的结果,使用前一步计算得到的结果和当前训练集的输入来计算网络的输出对隐含层函数的权重值进行动态调整:
重复上述步骤直到达到期望的输出或迭代次数。
在达到期望的输出后,RNN的输出可以被用来进行软件系统的软件测试结果的输出。
进一步的技术方案在于,所述测试建议包括继续测试、暂停测试以及中止测试。
在本实施例中,通过基于不同的子模块在不同的测试环境下的测试结果,采用机器学习算法的解析模型进行软件系统的软件测试结果的输出,充分考虑到不同的子模块在不同的测试环境下的测试结果的差异,避免了原有的仅考虑单一的测试环境导致的测试结果不够准确的技术问题。
另一方面,如图5所示,本发明提供了一种基于机器学习算法的智能在线测试系统,采用上述的一种基于机器学习算法的智能在线测试方法,其特征在于,具体包括:
模块复杂度评估模块,综合复杂度评估模块,分类解析模块,测试结果输出模块;
所述模块复杂度评估模块负责根据软件系统的关键词的识别结果将所述软件系统划分为多个子模块,并根据所述软件系统的不同的子模块的不同类型的逻辑关键词的识别结果以及代码量进行不同的子模块的模块复杂度的确定;
所述综合复杂度评估模块负责通过所述软件系统的不同的子模块的输入数据和输出数据进行不同的子模块的数据处理复杂度的确定,并结合所述不同的子模块的模块复杂度进行不同的子模块的模块综合复杂度的确定;
所述分类解析模块负责基于不同的子模块的模块综合复杂度进行所述子模块的解析模式和测试模式的确定,并根据所述子模块的解析模式对所述子模块进行解析得到所述软件系统的文本解析结果;
所述测试结果输出模块负责根据所述子模块的测试模式得到不同的子模块在不同的测试环境下的测试结果,并基于所述不同的子模块在不同的测试环境下的测试结果,采用机器学习算法的解析模型进行所述软件系统的软件测试结果的输出,并根据所述软件系统的文本解析结果和软件测试结果进行测试建议以及测试文本的输出。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备、非易失性计算机存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
以上所述仅为本说明书的一个或多个实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书的一个或多个实施例可以有各种更改和变化。凡在本说明书的一个或多个实施例的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。
Claims (11)
1.一种基于机器学习算法的智能在线测试方法,其特征在于,具体包括:
根据软件系统的关键词的识别结果将所述软件系统划分为多个子模块,并根据所述软件系统的不同的子模块的不同类型的逻辑关键词的识别结果以及代码量进行不同的子模块的模块复杂度的确定;
通过所述软件系统的不同的子模块的输入数据和输出数据进行不同的子模块的数据处理复杂度的确定,并结合所述不同的子模块的模块复杂度进行不同的子模块的模块综合复杂度的确定;
基于不同的子模块的模块综合复杂度进行所述子模块的解析模式和测试模式的确定,并根据所述子模块的解析模式对所述子模块进行解析得到所述软件系统的文本解析结果;
根据所述子模块的测试模式得到不同的子模块在不同的测试环境下的测试结果,并基于所述不同的子模块在不同的测试环境下的测试结果,采用机器学习算法的解析模型进行所述软件系统的软件测试结果的输出,并根据所述软件系统的文本解析结果和软件测试结果进行测试建议以及测试文本的输出。
2.如权利要求1所述的基于机器学习算法的智能在线测试方法,其特征在于,所述软件系统的关键词根据所述软件系统的注释词的识别结果进行确定,具体的根据目标关键词与所述软件系统的注释词的匹配结果进行确定。
3.如权利要求1所述的基于机器学习算法的智能在线测试方法,其特征在于,所述逻辑关键词根据所述子模块的逻辑结构关键字的识别结果进行确定,具体的根据所述目标关键词与所述子模块的逻辑结构关键字的匹配结果进行确定。
4.如权利要求1所述的基于机器学习算法的智能在线测试方法,其特征在于,所述子模块的模块复杂度的确定的方法为:
S11基于所述子模块的代码量以及函数数量进行所述子模块的模块基础复杂度的确定;
S12根据所述子模块的不同类型的逻辑关键词的识别结果进行所述子模块的逻辑关键词的数量的确定,并基于所述子模块的逻辑关键词的数量确定所述子模块的数据处理逻辑是否复杂,若是,则进入步骤S14,若否,则进入下一步骤;
S13根据所述子模块的不同类型的逻辑关键词的识别结果进行所述子模块的逻辑关键词的类型数量的确定,并基于所述子模块的逻辑关键词的类型数量确定所述子模块的数据处理逻辑是否复杂,若是,则进入下一步骤,若否,则将所述模块基础复杂度作为所述子模块的模块复杂度;
S14通过所述子模块的不同类型的逻辑关键词的数量进行所述子模块的逻辑关键词的数量大于预设数量的类型数量的确定,并结合所述子模块的逻辑关键词的类型数量以及逻辑关键词的数量进行所述子模块的逻辑复杂度的确定;
S15通过所述子模块的逻辑复杂度以及所述模块基础复杂度进行所述子模块的模块复杂度的确定。
5.如权利要求4所述的基于机器学习算法的智能在线测试方法,其特征在于,通过所述子模块的逻辑复杂度以及所述模块基础复杂度进行所述子模块的模块复杂度的确定,具体包括:
当所述子模块的逻辑复杂度大于所述子模块的模块基础复杂度时,则通过所述子模块的逻辑复杂度进行所述子模块的模块复杂度的确定;
当所述子模块的逻辑复杂度不大于所述子模块的模块基础复杂度时,则通过所述子模块的逻辑复杂度与所述基础复杂度的均值进行所述子模块的模块复杂度的确定。
6.如权利要求1所述的基于机器学习算法的智能在线测试方法,其特征在于,所述子模块的输入数据和输出数据根据所述子模块的变量关键词的识别结果进行确定。
7.如权利要求1所述的基于机器学习算法的智能在线测试方法,其特征在于,所述子模块的数据处理复杂度的确定的方法为:
获取所述子模块的输入数据以及输出数据的数量,基于所述子模块的输入数据以及所述软件系统的逻辑关键词的识别结果进行所述子模块的不同的输入数据的数据处理次数的确定;
当所述不同的输入数据的数据处理次数的数量和小于预设次数时:
则通过所述子模块的输入数据以及输出数据的数量进行所述子模块的数据处理复杂度的确定;
当所述不同的输入数据的数据处理次数的数量和不小于预设次数时:
根据所述输入数据的数据处理次数将所述输入数据划分为复杂处理数据的确定,并根据所述复杂处理数据的数量以及数据类型、输入数据的数量以及数据处理次数的数量和进行所述子模块的输入数据的数据处理复杂度的确定;根据所述子模块的输出数据进行所述子模块的输出数据的数量以及数据类型的确定,并结合所述子模块的输入数据的数据处理复杂度进行所述子模块的数据处理复杂度的确定。
8.如权利要求1所述的基于机器学习算法的智能在线测试方法,其特征在于,基于不同的子模块的模块综合复杂度进行所述子模块的解析模式和测试模式的确定,具体包括:
根据不同的子模块的模块综合复杂度进行所有的子模块的模块综合复杂度的均值的确定;
当所述子模块的模块综合复杂度大于所述模块综合复杂度的均值时:
则根据所述子模块的逻辑关键词进行所述子模块的输入数据的数据处理流程的确定,并根据所述数据处理流程对所述子模块进行解析得到所述子模块的数据处理框图,根据所述子模块的输入数据在所述数据处理框图中的不同的数据流程的子模块的数据处理结果进行所述子模块的测试;
当所述子模块的模块综合复杂度不大于所述模块综合复杂度的均值时:
将所述子模块作为一个整体进行所述子模块的解析,并根据所述子模块的输入数据和输出数据的测试结果进行所述子模块的测试。
9.如权利要求1所述的基于机器学习算法的智能在线测试方法,其特征在于,所述软件系统的软件测试结果的确定的具体步骤为:
根据所述不同的子模块在不同的测试环境下的测试结果进行不同的子模块在不同的测试环境下的问题数量的确定;
通过所述子模块在不同的测试环境下的问题数量以及存在问题的测试环境的数量进行所述子模块的测试问题评估量以及问题子模块的确定;
基于所述软件系统的问题子模块的数量以及在所述子模块中的比例、子模块的问题数量和以及存在问题的测试环境的数量和、子模块的测试问题评估量的均值构建输入集,并通过所述输入集,采用基于机器学习算法的评估模型进行所述软件系统的软件测试结果的输出。
10.如权利要求1所述的基于机器学习算法的智能在线测试方法,其特征在于,所述测试建议包括继续测试、暂停测试以及中止测试。
11.一种基于机器学习算法的智能在线测试系统,采用权利要求1-10任一项所述的一种基于机器学习算法的智能在线测试方法,其特征在于,具体包括:
模块复杂度评估模块,综合复杂度评估模块,分类解析模块,测试结果输出模块;
所述模块复杂度评估模块负责根据软件系统的关键词的识别结果将所述软件系统划分为多个子模块,并根据所述软件系统的不同的子模块的不同类型的逻辑关键词的识别结果以及代码量进行不同的子模块的模块复杂度的确定;
所述综合复杂度评估模块负责通过所述软件系统的不同的子模块的输入数据和输出数据进行不同的子模块的数据处理复杂度的确定,并结合所述不同的子模块的模块复杂度进行不同的子模块的模块综合复杂度的确定;
所述分类解析模块负责基于不同的子模块的模块综合复杂度进行所述子模块的解析模式和测试模式的确定,并根据所述子模块的解析模式对所述子模块进行解析得到所述软件系统的文本解析结果;
所述测试结果输出模块负责根据所述子模块的测试模式得到不同的子模块在不同的测试环境下的测试结果,并基于所述不同的子模块在不同的测试环境下的测试结果,采用机器学习算法的解析模型进行所述软件系统的软件测试结果的输出,并根据所述软件系统的文本解析结果和软件测试结果进行测试建议以及测试文本的输出。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311513597.5A CN117234954B (zh) | 2023-11-14 | 2023-11-14 | 一种基于机器学习算法的智能在线测试方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311513597.5A CN117234954B (zh) | 2023-11-14 | 2023-11-14 | 一种基于机器学习算法的智能在线测试方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117234954A true CN117234954A (zh) | 2023-12-15 |
CN117234954B CN117234954B (zh) | 2024-02-06 |
Family
ID=89093354
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311513597.5A Active CN117234954B (zh) | 2023-11-14 | 2023-11-14 | 一种基于机器学习算法的智能在线测试方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117234954B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109961151A (zh) * | 2017-12-21 | 2019-07-02 | 同方威视科技江苏有限公司 | 用于机器学习的计算服务的系统及用于机器学习的方法 |
US20200371903A1 (en) * | 2019-05-22 | 2020-11-26 | Oracle International Corporation | Automatic generation of unit tests while running an application |
CN112348194A (zh) * | 2019-08-07 | 2021-02-09 | 南京慕测信息科技有限公司 | 一种基于精度误差的模型稳定性评估方法 |
CN114936152A (zh) * | 2022-05-07 | 2022-08-23 | 阿里巴巴(中国)有限公司 | 应用测试方法及设备 |
CN115080446A (zh) * | 2022-07-22 | 2022-09-20 | 苏州市软件评测中心有限公司 | 一种软件测试用测试实例生成方法及系统 |
CN115617696A (zh) * | 2022-12-14 | 2023-01-17 | 江苏国创新云信息技术服务有限公司 | 软件测试方法、装置、设备和计算机可读存储介质 |
CN115757179A (zh) * | 2022-12-02 | 2023-03-07 | 山东能链控股有限公司 | 测试环境管理方法、装置、设备及存储介质 |
CN116521566A (zh) * | 2023-05-22 | 2023-08-01 | 中国工商银行股份有限公司 | 测试数据生成方法及装置 |
CN116991738A (zh) * | 2023-08-15 | 2023-11-03 | 殷爱华 | 一种计算机软件测试系统、方法、计算机设备及存储介质 |
CN117009238A (zh) * | 2023-08-10 | 2023-11-07 | 北京百度网讯科技有限公司 | 数据测试方法、装置、电子设备、存储介质和程序产品 |
-
2023
- 2023-11-14 CN CN202311513597.5A patent/CN117234954B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109961151A (zh) * | 2017-12-21 | 2019-07-02 | 同方威视科技江苏有限公司 | 用于机器学习的计算服务的系统及用于机器学习的方法 |
US20200371903A1 (en) * | 2019-05-22 | 2020-11-26 | Oracle International Corporation | Automatic generation of unit tests while running an application |
CN112348194A (zh) * | 2019-08-07 | 2021-02-09 | 南京慕测信息科技有限公司 | 一种基于精度误差的模型稳定性评估方法 |
CN114936152A (zh) * | 2022-05-07 | 2022-08-23 | 阿里巴巴(中国)有限公司 | 应用测试方法及设备 |
CN115080446A (zh) * | 2022-07-22 | 2022-09-20 | 苏州市软件评测中心有限公司 | 一种软件测试用测试实例生成方法及系统 |
CN115757179A (zh) * | 2022-12-02 | 2023-03-07 | 山东能链控股有限公司 | 测试环境管理方法、装置、设备及存储介质 |
CN115617696A (zh) * | 2022-12-14 | 2023-01-17 | 江苏国创新云信息技术服务有限公司 | 软件测试方法、装置、设备和计算机可读存储介质 |
CN116521566A (zh) * | 2023-05-22 | 2023-08-01 | 中国工商银行股份有限公司 | 测试数据生成方法及装置 |
CN117009238A (zh) * | 2023-08-10 | 2023-11-07 | 北京百度网讯科技有限公司 | 数据测试方法、装置、电子设备、存储介质和程序产品 |
CN116991738A (zh) * | 2023-08-15 | 2023-11-03 | 殷爱华 | 一种计算机软件测试系统、方法、计算机设备及存储介质 |
Non-Patent Citations (3)
Title |
---|
KUMAR, AJAY: "Formalization of Structural Test Cases Coverage Criteria for Quantum Software Testing", 《INTERNATIONAL JOURNAL OF THEORETICAL PHYSICS》 * |
王千一: "UUV分布式系统软件测试方法的应用研究", 《中国优秀硕士学位论文全文数据库(工程科技Ⅱ辑)》, no. 6 * |
黄学鹏;: "复杂软件系统可靠性测试环境的构建方法", 装备制造技术, no. 09 * |
Also Published As
Publication number | Publication date |
---|---|
CN117234954B (zh) | 2024-02-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110009171B (zh) | 用户行为模拟方法、装置、设备及计算机可读存储介质 | |
Tripathi et al. | Naive Bayes classification model for the student performance prediction | |
CN109976998B (zh) | 一种软件缺陷预测方法、装置和电子设备 | |
CN110245080B (zh) | 生成场景测试用例的方法及装置 | |
CN111460101B (zh) | 知识点类型的识别方法、装置及处理器 | |
CN116089870A (zh) | 基于元学习的小样本条件下工业设备故障预测方法及装置 | |
CN111143981A (zh) | 虚拟试验模型验证系统及方法 | |
CN112420125A (zh) | 分子属性预测方法、装置、智能设备和终端 | |
CN111368051A (zh) | 一种对话生成方法、装置及计算机设备 | |
CN117234954B (zh) | 一种基于机器学习算法的智能在线测试方法及系统 | |
Robinson | Automated analysis of simulation output data | |
CN111445025A (zh) | 确定业务模型超参数的方法和装置 | |
Masuda et al. | Software Test Architecture Definition by Analogy with Software Architecture | |
CN113010687B (zh) | 一种习题标签预测方法、装置、存储介质以及计算机设备 | |
CN114443506B (zh) | 一种用于测试人工智能模型的方法及装置 | |
Zhu et al. | Advanced crowdsourced test report prioritization based on adaptive strategy | |
Englisch et al. | Adaptive learning system in automotive software engineering | |
CN113157556A (zh) | 一种基于选择主成分识别的行业建筑软件缺陷管理方法 | |
CN113434408B (zh) | 一种基于测试预言的单元测试用例排序方法 | |
CN110334353A (zh) | 词序识别性能的分析方法、装置、设备及存储介质 | |
Berding et al. | Performance and Configuration of Artificial Intelligence in Educational Settings. Introducing a New Reliability Concept Based on Content Analysis | |
Cheng et al. | Resampling methods of analysis in simulation studies | |
Goujon et al. | Holistic preference learning with the Choquet integral | |
Chao | Training a Neural Network to Predict House Rents Using Artifical Intelligence and Deep Learning | |
CN111985713B (zh) | 数据指标波形预测方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |