CN115952081A - 一种软件测试方法、装置、存储介质及设备 - Google Patents

一种软件测试方法、装置、存储介质及设备 Download PDF

Info

Publication number
CN115952081A
CN115952081A CN202211550885.3A CN202211550885A CN115952081A CN 115952081 A CN115952081 A CN 115952081A CN 202211550885 A CN202211550885 A CN 202211550885A CN 115952081 A CN115952081 A CN 115952081A
Authority
CN
China
Prior art keywords
defect
interface
machine learning
learning model
target interface
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.)
Pending
Application number
CN202211550885.3A
Other languages
English (en)
Inventor
王闪闪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ping An Bank Co Ltd
Original Assignee
Ping An Bank Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ping An Bank Co Ltd filed Critical Ping An Bank Co Ltd
Priority to CN202211550885.3A priority Critical patent/CN115952081A/zh
Publication of CN115952081A publication Critical patent/CN115952081A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

本申请实施例提供一种软件测试方法、装置、存储介质及设备,该方法中,获取自动化测试平台针对目标接口执行的自动化测试用例的执行结果,对该执行结果进行解析,再结合执行过程日志以及用户行为路径,判断是否存在缺陷,之后,在判断存在缺陷时,利用训练好的机器学习模型对该目标接口的接口信息进行处理,以得到目标接口存在的缺陷对应的缺陷类型。如此,实现接口测试中软件缺陷的自动化识别以及缺陷类型的自动化分析,有效节省了人力成本和时间成本。

Description

一种软件测试方法、装置、存储介质及设备
技术领域
本申请涉及金融科技及软件测试技术领域,具体而言,涉及一种软件测试方法、装置、存储介质及设备。
背景技术
软件测试是一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程。软件测试的工作是围绕发现Bug(软件缺陷)而展开的。目前在测试过程中,一般是人为手动提取Bug并分析缺陷类型,然而,这一过程需要耗费大量的人力成本和时间成本。
发明内容
本申请实施例的目的在于提供一种软件测试方法、装置、存储介质及设备,旨在解决相关技术中的软件测试方案存在的依赖于人工来查找缺陷以及分析缺陷类型,需要耗费大量的人力成本和时间成本的问题。
第一方面,本申请实施例提供的一种软件测试方法,包括:
获取自动化测试平台执行自动化测试用例的执行结果,所述自动化测试用例用于对目标接口进行测试;
对所述执行结果进行解析,基于解析后的执行结果、执行过程日志以及用户行为路径,判断是否存在缺陷;
当判断结果为是时,通过将所述目标接口的接口信息输入训练好的机器学习模型,确定所述目标接口存在的缺陷对应的缺陷类型;其中,所述机器学习模型是基于多种缺陷类型对应的历史缺陷数据作为训练样本训练得到的。
在上述实现过程中,获取自动化测试平台针对目标接口执行的自动化测试用例的执行结果,对该执行结果进行解析,再结合执行过程日志以及用户行为路径,判断是否存在缺陷,之后,在判断存在缺陷时,利用训练
好的机器学习模型对该目标接口的接口信息进行处理,以得到目标接口存5在的缺陷对应的缺陷类型。如此,实现接口测试中软件缺陷的自动化识别
以及缺陷类型的自动化分析,有效节省了人力成本和时间成本。
进一步地,在一些实施例中,所述接口信息包括:接口URI、断言和接口入参。
在上述实现过程中,采用接口URI、断言和接口入参作为接口信息,以此输入机器学习模型,可使得机器学习模型更为精确地识别出缺陷类型。
进一步地,在一些实施例中,所述历史缺陷数据是从缺陷池中获取得到的;所述方法还包括:
若所述机器学习模型输出的结果指示存在缺陷,基于所述目标接口的接口信息以及对应的缺陷类型生成新的缺陷数据,并将所述新的缺陷数据存放进所述缺陷池中。
在上述实现过程中,当机器学习模型针对目标接口的接口信息而输出的结果指示存在缺陷时,将该接口信息以及机器学习模型输出的缺陷类型进行组合,形成新的缺陷数据并汇聚到缺陷池,如此,实现闭环处理,并且为后续机器学习模型的优化提供了数据支持。
进一步地,在一些实施例中,所述方法还包括:
若所述机器学习模型输出的结果指示不存在缺陷,输出指示判断结果失败的信息。
在上述实现过程中,当机器学习模型输出的结果与原先的判断结果不
一致时,输出指示判断结果失败的信息来告知相关的测试人员,有助于提高下一次测试分析的准确性。
进一步地,在一些实施例中,所述方法还包括:
若所述机器学习模型输出的结果指示存在缺陷,通过缺陷跟踪工具判定所述缺陷是否为历史存留缺陷,若是,对所述缺陷对应的历史存留缺陷的任务状态进行修改;若否,创建针对新的缺陷的任务。
在上述实现过程中,对缺陷进行跟踪,实现对该缺陷的合理管理。
进一步地,在一些实施例中,所述对所述缺陷对应的历史存留缺陷的任务状态进行修改,包括:
若所述历史存留缺陷的任务状态为关闭,则重置状态为重新打开;
若所述历史存留缺陷的任务状态为打开,保持所述任务状态不变,并对所述历史存留缺陷添加注释以及错误信息截图。
在上述实现过程中,提供一种修改历史存留缺陷的任务状态的具体方式,使得相关人员在查看任务状态后,可以快速有效地对该缺陷进行修复。
第二方面,本申请实施例提供的一种软件测试装置,包括:
获取模块,用于获取自动化测试平台执行自动化测试用例的执行结果,所述自动化测试用例用于对目标接口进行测试;
判断模块,用于对所述执行结果进行解析,基于解析后的执行结果、执行过程日志以及用户行为路径,判断是否存在缺陷;
确定模块,用于当判断结果为是时,通过将所述目标接口的接口信息输入训练好的机器学习模型,确定所述目标接口存在的缺陷对应的缺陷类型;其中,所述机器学习模型是基于多种缺陷类型对应的历史缺陷数据作为训练样本训练得到的。
第三方面,本申请实施例提供的一种电子设备,包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面任一项所述的方法的步骤。
第四方面,本申请实施例提供的一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,当所述指令在计算机上运行时,使得所述计算机执行如第一方面任一项所述的方法。
第五方面,本申请实施例提供的一种计算机程序产品,所述计算机程序产品在计算机上运行时,使得计算机执行如第一方面任一项所述的方法。
本申请公开的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本申请公开的上述技术即可得知。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种软件测试方法的流程图;
图2为本申请实施例提供的一种基于机器学习的自动化测试***的工作流程的示意图;
图3为本申请实施例提供的一种软件测试装置的框图;
图4为本申请实施例提供的一种电子设备的结构框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
如背景技术记载,相关技术中的软件测试方案存在着依赖于人工来查找缺陷以及分析缺陷类型,需要耗费大量的人力成本和时间成本的问题。基于此,本申请实施例提供一种新的软件测试方案,以解决上述问题。
接下来对本申请实施例进行介绍:
如图1所示,图1是本申请实施例提供的一种软件测试方法的流程图,所述方法可以应用于终端或服务器,该终端可以是各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携式计算机和台式计算机等;该服务器可以是单个服务器,也可以是多个服务器组成的分布式服务器集群。需要说明的是,该终端/服务器也可以实现成多个软件或软件模块,或者还可以实现成单个软件或软件模块,本申请对此不作限制。
所述方法包括:
在步骤101、获取自动化测试平台执行自动化测试用例的执行结果,所述自动化测试用例用于对目标接口进行测试;
测试用例是指对一项特定的软件产品进行测试任务的描述,体现测试方案、方法、技术和策略。测试用例可以分为手工测试用例和自动化测试用例两种类型,其中,手工测试用例是由人工执行的,能通过人为的逻辑判断校验当前步骤的功能是否正确实现;而自动化测试用例的执行对象是脚本,其目的在于让测试人员从繁琐重复的测试过程中解脱出来。
在本实施例中,该自动化测试用例用于对目标接口进行测试,其中,该目标接口可以是程序接口,即程序内部的接口,也可以是协议接口,即***对外的接口。因此,本步骤中提到的自动化测试用例是为接口测试而设计的测试用例,接口测试就是通过测试不同情况下的入参和与之相应的出参,来判断接口是否符合或满足相应的功能性、安全性要求。在实际应用中,大部分中台项目为接口测试,相应地,针对接口测试的结果进行分析,可以保障项目质量。
该自动化测试用例在自动化测试平台上执行。这里的自动化测试平台可以是一款对自动化测试进行管理的平台,其主要有两个功能,一个是执行自动化测试用例,另一个是以测试报告的形式输出执行结果。在一些实施例中,该自动化测试平台可以是AutoMan平台。AutoMan平台是一个完整的页面自动化平台,其可以使得测试用例、测试脚本、测试报告在一个统一的在线平台进行维护和查看,测试人员可以将写好的自动化测试用例上传到AutoMan平台,再在平台上调度执行自动化测试用例,以获取测试报告,从而节省工作时间。当然,在其他实施例中,该自动化测试平台也可以是其他的测试平台,本申请对此不作限制。
在步骤102、对所述执行结果进行解析,基于解析后的执行结果、执行过程日志以及用户行为路径,判断是否存在缺陷;
本步骤是指:对自动化执行结果进行分析,结合执行过程日志及用户行为路径,定位故障。其中,对执行结果进行解析可以是指通过正则表达式从执行结果中解析出目标接口的返回值、响应时间、吞吐量等信息;执行过程日志记录了自动化测试用例的执行过程中的测试信息,包括具体执行接口、请求方式、请求参数、返回值、校验接口、请求时间、耗时等关键信息;用户行为路径,即用户在具体场景中使用产品的具体操作步骤,在接口测试中,测试用例可以模拟用户调用接口的操作步骤,对接口的功能及性能等进行测试,因此,本步骤中提到的这一用户行为路径实际上是指自动化测试用例模拟用户操作目标接口时的各种参数以及逻辑。通过对这些信息进行分析,可以判断出是否存在缺陷。本步骤可以实现为分析器,可以快速地、自动化地检测缺陷,从而有效节省测试人员的时间。
在步骤103、当判断结果为是时,通过将所述目标接口的接口信息输入训练好的机器学习模型,确定所述目标接口存在的缺陷对应的缺陷类型;其中,所述机器学习模型是基于多种缺陷类型对应的历史缺陷数据作为训练样本训练得到的。
本步骤是指:当分析器判断存在缺陷时,借助机器学习算法对分析器的结果做进一步确认,以及确定出缺陷类型。具体地,该机器学习模型是基于多种缺陷类型对应的历史缺陷数据作为训练样本训练得到的,因此,该机器学习模型在训练过程中可以学习到提取接口的相关特征,进而对其缺陷类型进行分类识别。在一些实施例中,该机器学习模型可以是GRNN(General Regression Neural Network,广义回归神经网络)模型。GRNN是建立在数理统计基础上的径向基函数网络,其理论基础是非线性回归分析。一般来说,GRNN模型在结构上由四层构成,分别为输入层、模式层、求和层和输出层,输入层神经元的数目等于学习样本中输入向量的维数,各神经元是简单的分布单元,直接将输入变量传递给模式层;模式层神经元数目等于学习样本的数目,各神经元对应不同的样本;求和层中使用两种类型神经元进行求和;输出层中的神经元数目等于学习样本中输出向量的维数,各神经元将求和层的输出相除。GRNN模型具有结构简单、训练简洁、学习收敛速度快等特点,因此,采用GRNN模型作为机器学习模型,易于实现,并且可以获得较好的分类效果。需要说明的是,在其他实施例中,该机器学习模型也可以是基于其他机器学习算法的模型,本申请对此不作限制;另外,具体的训练过程可以参见相关技术中关于对应的机器学习算法的训练方式的介绍,本申请对此不作赘述。
在分析器判断存在缺陷时,利用训练好的机器学习模型对目标接口的接口信息进行处理。在一些实施例中,该接口信息可以包括接口URI、断言和接口入参。接口URI(Uniform Resource Identifier,统一资源标识符)是接口的其中一个组成部分,是接口特征的表现;断言是一种在程序中的一阶逻辑,目的是为了表示与验证软件开发者预期的结果,在接口测试中,断言可以包括状态码断言、响应内容断言、响应头断言等等,通过断言,可以比对接口实际返回结果与预期返回结果;接口入参是接口请求所需要的变量参数,其中包括必填参数和非必填参数,如果接口入参错误,那么分析器所定位出的缺陷有极大概率属于前端的错误。采用接口URI、断言和接口入参作为接口信息,以此输入机器学习模型,可使得机器学习模型更为精确地识别出缺陷类型。
前面提到的历史缺陷数据可以是从缺陷池中获取得到的,在一些实施例中,若所述机器学习模型输出的结果指示存在缺陷,可以基于所述目标接口的接口信息以及对应的缺陷类型生成新的缺陷数据,并将所述新的缺陷数据存放进所述缺陷池中。这里的缺陷池可以是缺陷数据的容器,用于记录测试过程中发现的问题,在本实施例中,该缺陷池为机器学习模型提供了学习样本,而当机器学习模型针对目标接口的接口信息而输出的结果指示存在缺陷时,可以将该接口信息以及机器学习模型输出的缺陷类型进行组合,形成新的缺陷数据并汇聚到缺陷池,如此,实现闭环处理,并且为后续机器学习模型的优化提供了数据支持。需要说明的是,机器学习模型在基于缺陷池提供的训练样本进行训练时,可以对该训练样本进行降噪处理,以提升模型推理的准确率。
在另外一些实施例中,若所述机器学习模型输出的结果指示不存在缺陷,输出指示判断结果失败的信息。也就是说,当机器学习模型输出的结果与分析器的判断结果不一致时,可以输出指示判断结果失败的信息,如通过短信、邮件等方式通知相关的测试人员,以便于该测试人员做出处理决策,例如,该测试人员可以进行更为精细的分析,若最终分析结果是存在缺陷,则可以微调机器学习模型,以使机器学习模型的预测结果更加精确,而若最终分析结果是不存在缺陷,则可以对分析器进行调整,以提高下一次对自动化执行结果进行测试分析的准确性。
进一步地,在一些实施例中,上述方法还可以包括:若所述机器学习模型输出的结果指示存在缺陷,通过缺陷跟踪工具判定所述缺陷是否为历史存留缺陷,若是,对所述缺陷对应的历史存留缺陷的任务状态进行修改;若否,创建针对新的缺陷的任务。也就是说,当机器学习模型判定存在缺陷时,可以对该缺陷进行跟踪,具体地,先通过缺陷跟踪工具判定该缺陷是新的缺陷还是历史存留缺陷,如果判定是新的缺陷,则创建针对新的缺陷的任务,如果判定是历史存留缺陷,则对相应的历史存留缺陷的任务状态进行修改,可选地,若该历史存留缺陷的任务状态为关闭,则重置状态为重新打开,若该历史存留缺陷的任务状态为打开,则保持任务状态不变,并对该历史存留缺陷添加注释以及错误信息截图,这样,相关人员可以在查看任务状态后,快速有效地对该缺陷进行修复,从而实现对该缺陷的合理管理。其中,该缺陷跟踪工具可以是JIRA。JIRA是一款项目与事务跟踪工具,其可以帮助软件团队查找、记录和跟踪软件中的缺陷。当然,在其他实施例中,也可以根据具体场景的需求选择其他类型的缺陷跟踪工具。
本申请实施例,获取自动化测试平台针对目标接口执行的自动化测试用例的执行结果,对该执行结果进行解析,再结合执行过程日志以及用户行为路径,判断是否存在缺陷,之后,在判断存在缺陷时,利用训练好的机器学习模型对该目标接口的接口信息进行处理,以得到目标接口存在的缺陷对应的缺陷类型。如此,实现接口测试中软件缺陷的自动化识别以及缺陷类型的自动化分析,有效节省了人力成本和时间成本。
为了对本申请的方案做更为详细的说明,接下来介绍一具体实施例:
本实施例涉及软件测试场景,在日常的测试过程中,发现Bug是测试工作的重点,在相关技术中,发现Bug以及对Bug进行分类依赖于人工处理,需要消耗较多的成本。基于此,本实施例提供一种基于机器学习的自动化测试***,以解决这一问题。
本实施例的***的工作流程如图2所示,包括:
S201、结合现有的自动化测试平台来执行自动化测试用例,该平台主要用于接口自动化测试;
S202、获取自动化测试平台的执行结果;
S203、通过分析器对执行结果进行解析,结合执行报告、断言以及日志等信息,分析器通过执行过程日志,及用户行为路径分析,定位缺陷;
S204、分析器是否定位出缺陷,是则执行S206,否则执行S205;
S205、确定不存在缺陷,结束流程;
S206、将包括接口URI、断言以及接口入参在内的接口信息输入机器学习引擎,以通过机器学习引擎来判断缺陷类型;其中,该机器学习引擎包括基于机器学习算法的模型,该模型在训练时,从缺陷池中获取历史缺陷数据作为训练样本,降噪处理后进行无监督学习,再通过调整评估,使得算法更加精准;
S207、机器学习引擎判定是否存在缺陷,是则执行S208,否则执行S209;
S208、通过缺陷跟踪工具对缺陷进行跟踪,并将该接口信息和机器学习引擎输出的缺陷类型组成缺陷数据后汇聚到缺陷池中;其中,采用的缺陷跟踪工具为JIRA,通过JIRA判定该缺陷是新的缺陷还是历史存留缺陷,如果判定是新的缺陷,则在JIRA中创建新的缺陷,如果判定是历史存留缺陷,则对历史Bug状态进行修改,若状态为关闭,则重置状态为重新打开,若状态为打开,则保持状态不变,对Bug添加注释,添加错误信息截图;
S209、输出分析器判断失败的信息。
另外,本实施例的***可以对于Bug决策提供通知机制,还可以提供仪表板的功能,能够清晰直观地查看缺陷变更。
本实施例***提供自动化测试结果自助学习,对缺陷进行自助决策处理,该***还具有向所有利益相关者提供通知的内置功能,以及高度的可扩展性,由于集成容易,集中式机器学习引擎不需要改变用于任何测试自动化框架或者测试类型。由于所有过程都是自动化的,算法和程序控制质量,可以轻松处理很多缺陷,因此可以节省相关人员的时间。
与前述方法的实施例相对应,本申请还提供软件测试装置及其应用的终端的实施例:
如图3所示,图3是本申请实施例提供的一种软件测试装置的框图,所述装置包括:
获取模块31,用于获取自动化测试平台执行自动化测试用例的执行结果,所述自动化测试用例用于对目标接口进行测试;
判断模块32,用于对所述执行结果进行解析,基于解析后的执行结果、执行过程日志以及用户行为路径,判断是否存在缺陷;
确定模块33,用于当判断结果为是时,通过将所述目标接口的接口信息输入训练好的机器学习模型,确定所述目标接口存在的缺陷对应的缺陷类型;其中,所述机器学习模型是基于多种缺陷类型对应的历史缺陷数据作为训练样本训练得到的。
在一些实施例中,上述接口信息包括:接口URI、断言和接口入参。
在一些实施例中,上述历史缺陷数据是从缺陷池中获取得到的;所述装置还包括:存放模块,用于若所述机器学习模型输出的结果指示存在缺陷,基于所述目标接口的接口信息以及对应的缺陷类型生成新的缺陷数据,并将所述新的缺陷数据存放进所述缺陷池中。
在一些实施例中,上述装置还包括:输出模块,用于若所述机器学习模型输出的结果指示不存在缺陷,输出指示判断结果失败的信息。
在一些实施例中,上述装置还包括:跟踪模块,用于若所述机器学习模型输出的结果指示存在缺陷,通过缺陷跟踪工具判定所述缺陷是否为历史存留缺陷,若是,对所述缺陷对应的历史存留缺陷的任务状态进行修改;若否,创建针对新的缺陷的任务。
在一些实施例中,上述跟踪模块具体用于:若所述历史存留缺陷的任务状态为关闭,则重置状态为重新打开;若所述历史存留缺陷的任务状态为打开,保持所述任务状态不变,并对所述历史存留缺陷添加注释以及错误信息截图。
上述装置中各个模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
本申请还提供一种电子设备,请参见图4,图4为本申请实施例提供的一种电子设备的结构框图。电子设备可以包括处理器410、通信接口420、存储器430和至少一个通信总线440。其中,通信总线440用于实现这些组件直接的连接通信。其中,本申请实施例中电子设备的通信接口420用于与其他节点设备进行信令或数据的通信。处理器410可以是一种集成电路芯片,具有信号的处理能力。
上述的处理器410可以是通用处理器,包括中央处理器(CPU,Central ProcessingUnit)、网络处理器(NP,Network Processor)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器410也可以是任何常规的处理器等。
存储器430可以是,但不限于,随机存取存储器(RAM,Random Access Memory),只读存储器(ROM,Read Only Memory),可编程只读存储器(PROM,Programmable Read-OnlyMemory),可擦除只读存储器(EPROM,Erasable Programmable Read-Only Memory),电可擦除只读存储器(EEPROM,Electric Erasable Programmable Read-Only Memory)等。存储器430中存储有计算机可读取指令,当所述计算机可读取指令由所述处理器410执行时,电子设备可以执行上述图1方法实施例涉及的各个步骤。
可选地,电子设备还可以包括存储控制器、输入输出单元。
所述存储器430、存储控制器、处理器410、外设接口、输入输出单元各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通信总线440实现电性连接。所述处理器410用于执行存储器430中存储的可执行模块,例如电子设备包括的软件功能模块或计算机程序。
输入输出单元用于提供给用户创建任务以及为该任务创建启动可选时段或预设执行时间以实现用户与服务器的交互。所述输入输出单元可以是,但不限于,鼠标和键盘等。
可以理解,图4所示的结构仅为示意,所述电子设备还可包括比图4中所示更多或者更少的组件,或者具有与图4所示不同的配置。图4中所示的各组件可以采用硬件、软件或其组合实现。
本申请实施例还提供一种存储介质,所述存储介质上存储有指令,当所述指令在计算机上运行时,所述计算机程序被处理器执行时实现方法实施例所述的方法,为避免重复,此处不再赘述。
本申请还提供一种计算机程序产品,所述计算机程序产品在计算机上运行时,使得计算机执行方法实施例所述的方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (10)

1.一种软件测试方法,其特征在于,包括:
获取自动化测试平台执行自动化测试用例的执行结果,所述自动化测试用例用于对目标接口进行测试;
对所述执行结果进行解析,基于解析后的执行结果、执行过程日志以及用户行为路径,判断是否存在缺陷;
当判断结果为是时,通过将所述目标接口的接口信息输入训练好的机器学习模型,确定所述目标接口存在的缺陷对应的缺陷类型;其中,所述机器学习模型是基于多种缺陷类型对应的历史缺陷数据作为训练样本训练得到的。
2.根据权利要求1所述的方法,其特征在于,所述接口信息包括:接口URI、断言和接口入参。
3.根据权利要求1所述的方法,其特征在于,所述历史缺陷数据是从缺陷池中获取得到的;所述方法还包括:
若所述机器学习模型输出的结果指示存在缺陷,基于所述目标接口的接口信息以及对应的缺陷类型生成新的缺陷数据,并将所述新的缺陷数据存放进所述缺陷池中。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
若所述机器学习模型输出的结果指示不存在缺陷,输出指示判断结果失败的信息。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述机器学习模型输出的结果指示存在缺陷,通过缺陷跟踪工具判定所述缺陷是否为历史存留缺陷,若是,对所述缺陷对应的历史存留缺陷的任务状态进行修改;若否,创建针对新的缺陷的任务。
6.根据权利要求5所述的方法,其特征在于,所述对所述缺陷对应的历史存留缺陷的任务状态进行修改,包括:
若所述历史存留缺陷的任务状态为关闭,则重置状态为重新打开;
若所述历史存留缺陷的任务状态为打开,保持所述任务状态不变,并对所述历史存留缺陷添加注释以及错误信息截图。
7.一种软件测试装置,其特征在于,包括:
获取模块,用于获取自动化测试平台执行自动化测试用例的执行结果,所述自动化测试用例用于对目标接口进行测试;
判断模块,用于对所述执行结果进行解析,基于解析后的执行结果、执行过程日志以及用户行为路径,判断是否存在缺陷;
确定模块,用于当判断结果为是时,通过将所述目标接口的接口信息输入训练好的机器学习模型,确定所述目标接口存在的缺陷对应的缺陷类型;其中,所述机器学习模型是基于多种缺陷类型对应的历史缺陷数据作为训练样本训练得到的。
8.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的方法。
9.一种电子设备,其特征在于,包括处理器、存储器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时实现如权利要求1至6任一项所述的方法。
10.一种计算机程序产品,其特征在于,所述计算机程序产品在计算机上运行时,使得计算机执行如权利要求1至6任一项所述的方法。
CN202211550885.3A 2022-12-05 2022-12-05 一种软件测试方法、装置、存储介质及设备 Pending CN115952081A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211550885.3A CN115952081A (zh) 2022-12-05 2022-12-05 一种软件测试方法、装置、存储介质及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211550885.3A CN115952081A (zh) 2022-12-05 2022-12-05 一种软件测试方法、装置、存储介质及设备

Publications (1)

Publication Number Publication Date
CN115952081A true CN115952081A (zh) 2023-04-11

Family

ID=87289847

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211550885.3A Pending CN115952081A (zh) 2022-12-05 2022-12-05 一种软件测试方法、装置、存储介质及设备

Country Status (1)

Country Link
CN (1) CN115952081A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116932413A (zh) * 2023-09-14 2023-10-24 深圳市智慧城市科技发展集团有限公司 测试任务的缺陷处理方法、缺陷处理装置及存储介质
CN117149664A (zh) * 2023-10-31 2023-12-01 深圳大数信科技术有限公司 一种基于bpmn的自动化测试方法及其***平台

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116932413A (zh) * 2023-09-14 2023-10-24 深圳市智慧城市科技发展集团有限公司 测试任务的缺陷处理方法、缺陷处理装置及存储介质
CN116932413B (zh) * 2023-09-14 2023-12-19 深圳市智慧城市科技发展集团有限公司 测试任务的缺陷处理方法、缺陷处理装置及存储介质
CN117149664A (zh) * 2023-10-31 2023-12-01 深圳大数信科技术有限公司 一种基于bpmn的自动化测试方法及其***平台
CN117149664B (zh) * 2023-10-31 2024-03-15 深圳大数信科技术有限公司 一种基于bpmn的自动化测试方法及其***平台

Similar Documents

Publication Publication Date Title
CN107291911B (zh) 一种异常检测方法和装置
US9396094B2 (en) Software test automation systems and methods
CN111177714B (zh) 异常行为检测方法、装置、计算机设备和存储介质
CN115952081A (zh) 一种软件测试方法、装置、存储介质及设备
CN113010389B (zh) 一种训练方法、故障预测方法、相关装置及设备
Yang et al. Vuldigger: A just-in-time and cost-aware tool for digging vulnerability-contributing changes
CN114116496A (zh) 自动化测试方法、装置、设备及介质
CN111752833B (zh) 一种软件质量体系准出方法、装置、服务器及存储介质
CN113051180A (zh) 测试任务的监测方法、装置、设备及存储介质
Dhanalaxmi et al. A review on software fault detection and prevention mechanism in software development activities
CN105653455B (zh) 一种程序漏洞的检测方法及检测***
CN110765007A (zh) 一种面向安卓应用的崩溃信息线上分析方法
CN116991746B (zh) 一种软件通用质量特性评估方法和装置
US11790249B1 (en) Automatically evaluating application architecture through architecture-as-code
CN114880637B (zh) 账户风险的验证方法、装置、计算机设备和存储介质
CN116627804A (zh) 基于人工智能的测试方法、***、电子设备及存储介质
CN110865939B (zh) 应用程序质量监测方法、装置、计算机设备和存储介质
CN114138537A (zh) 一种面向安卓应用的崩溃信息线上分析方法
CN113791980A (zh) 测试用例的转化分析方法、装置、设备及存储介质
CN116991149B (zh) 一种费控产品检验方法、装置、电子设备及存储介质
Lal et al. Intelligent Testing in Software Industry
TWI778634B (zh) 故障分類方法、電子設備及儲存介質
WO2023229732A1 (en) Automated testing based on intelligent exploration
John et al. Performance based evaluation of new software testing using artificial neural network
CN117992341A (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