CN114780386A - 软件测试方法、装置、设备及存储介质 - Google Patents
软件测试方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN114780386A CN114780386A CN202210303748.3A CN202210303748A CN114780386A CN 114780386 A CN114780386 A CN 114780386A CN 202210303748 A CN202210303748 A CN 202210303748A CN 114780386 A CN114780386 A CN 114780386A
- Authority
- CN
- China
- Prior art keywords
- tested
- function
- case
- information
- test
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/368—Test management for test version control, e.g. updating test cases to a new software version
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本公开关于一种软件测试方法、装置、设备及存储介质,涉及软件技术领域,在本公开中,首先获取软件中待测功能对应的待测功能信息,并从待测功能信息中确定出待测功能的特征信息;然后根据特征信息,从预设用例库中确定出与待测功能模块的特征信息相匹配的目标测试用例,预设用例库包括测试软件的功能所使用过的测试用例;最后利用目标测试用例对待测功能进行测试,得到测试结果。可见,本公开根据待测功能模块的特征信息,可以自动确定出与待测功能的特征最适合的目标测试用例,进而解决人工选择测试用例效率较低,准确性差的问题。
Description
技术领域
本公开涉及软件技术领域,尤其涉及一种软件测试方法、装置、设备及存储介质。
背景技术
随着互联网技术的快速发展,应用软件通过多个功能模块能够实现的丰富多样的功能。当软件中的功能模块进行更新升级时,需要对软件中的功能模块进行测试,以确保软件质量、提升软件可交互性和为开发人员提供信息以方便其为风险评估做相应准备。
在软件测试的过程中,通常需要使用不同的测试用例对不同的功能模块进行测试模拟,根据得到的测试结果确定功能模块更新对软件整体质量的优化情况。相关技术中,通常通过人工选择的测试用例对软件进行测试,存在效率较低,准确性差的问题。
发明内容
本公开提供一种软件测试方法、装置、设备及存储介质,可以解决通过人工选择测试用例效率较低,准确性差的问题。
本公开实施例的技术方案如下:
根据本公开实施例的第一方面,提供一种软件测试方法,包括:获取软件中待测功能对应的待测功能信息;从待测功能信息中确定出待测功能的特征信息;根据特征信息,从预设用例库中确定出与待测功能模块的特征信息相匹配的目标测试用例,预设用例库包括测试软件的功能所使用过的测试用例;利用目标测试用例对待测功能进行测试,得到测试结果。
可选的,上述根据待测功能的特征信息,从预设用例库中确定出与待测功能模块的特征信息相匹配的测试用例,包括:将待测功能的特征信息输入至最新的测试用例匹配模型中,得到测试用例匹配模型的输出结果,输出结果表征待测功能的特征信息与预设用例库中每个测试用例之间的匹配程度,最新的测试用例匹配模型是指学习到上一个被测功能的特征信息与上一个被测功能对应的测试用例之间匹配关系的测试用例匹配模型;将预设用例库中与待测功能的特征信息匹配程度最高的测试用例,确定为目标测试用例。
可选的,上述获取软件中待测功能对应的待测功能信息之前,还包括:获取符合预设条件的至少一个训练样本,其中的一个训练样本包括软件的一个功能对应的特征样本、一个功能对应的至少一个用例样本和至少一个标签信息,其中的一个标签信息用于指示特征样本和一个用例样本的匹配程度;根据至少一个训练样本训练初始的测试用例匹配模型,训练后的测试用例匹配模型用于获取特征样本和用例样本的匹配程度;以及,将每个功能对应的用例样本添加到预设用例库。
可选的,上述预设条件为:标签信息表征的特征样本与用例样本之间的匹配程度,大于或者等于预设阈值;其中,特征样本与用例样本之间的匹配程度,与利用用例样本对功能模块进行测试的测试质量正相关。
可选的,上述利用目标测试用例对待测功能进行测试,得到测试结果之后,该软件测试方法还包括:在目标测试用例符合预设条件的情况下,生成优化训练样本,优化训练样本包括待测功能对应的特征信息、目标测试用例以及目标标签信息,目标标签信息用于表征待测功能对应的特征信息与目标测试用例之间的匹配程度;利用优化训练样本对最新的测试用例匹配模型进行更新训练。
可选的,上述根据待测功能的特征信息,从预设用例库中确定出与待测功能模块的特征信息相匹配的目标测试用例,包括:查询预先建立的功能特征信息与测试用例之间的对应关系,将预设用例库中与待测功能模块的特征信息对应的测试用例作为目标测试用例。
可选的,待测功能对应的待测功能信息包括待测功能对应的程序代码;待测功能的特征信息包括接口名称、接口描述信息、函数信息以及预设关键字中的一项或者多项。
可选的,上述利用测试用例对待测功能进行测试,得到测试结果,包括:将测试用例输入到dubbo分布式服务框架,以利用dubbo分布式服务框架执行测试用例,得到测试结果。
根据本公开实施例的第二方面,提供一种软件测试装置,包括:信息接收单元、特征确定单元、测试用例确定单元和结果确定单元。信息接收单元,被配置为执行获取软件中待测功能对应的待测功能信息;特征确定单元,被配置为执行从待测功能信息中确定出待测功能的特征信息;测试用例确定单元,被配置为执行根据特征信息,从预设用例库中确定出与待测功能模块的特征信息相匹配的目标测试用例,预设用例库包括测试软件的功能所使用过的测试用例;结果确定单元,被配置为执行利用目标测试用例对待测功能进行测试,得到测试结果。
可选的,上述测试用例确定单元,具体被配置为执行:将待测功能的特征信息输入至最新的测试用例匹配模型中,得到测试用例匹配模型的输出结果,输出结果表征待测功能的特征信息与预设用例库中每个测试用例之间的匹配程度,最新的测试用例匹配模型是指学习到上一个被测功能的特征信息与上一个被测功能对应的测试用例之间匹配关系的测试用例匹配模型;将预设用例库中与待测功能的特征信息匹配程度最高的测试用例,确定为目标测试用例。
可选的,上述获取软件中待测功能对应的待测功能信息之前,还包括:获取符合预设条件的至少一个训练样本,其中的一个训练样本包括软件的一个功能对应的特征样本、一个功能对应的至少一个用例样本和至少一个标签信息,其中的一个标签信息用于指示特征样本和一个用例样本的匹配程度;根据至少一个训练样本训练初始的测试用例匹配模型,训练后的测试用例匹配模型用于获取特征样本和用例样本的匹配程度;以及,将每个功能对应的用例样本添加到预设用例库。
可选的,上述预设条件为:标签信息表征的特征样本与用例样本之间的匹配程度,大于或者等于预设阈值;其中,特征样本与用例样本之间的匹配程度,与利用用例样本对功能模块进行测试的测试质量正相关。
可选的,上述利用目标测试用例对待测功能进行测试,得到测试结果之后,上述结果确定单元还被配置为执行:在目标测试用例符合预设条件的情况下,生成优化训练样本,优化训练样本包括待测功能对应的特征信息、目标测试用例以及目标标签信息,目标标签信息用于表征待测功能对应的特征信息与目标测试用例之间的匹配程度;利用优化训练样本对最新的测试用例匹配模型进行更新训练。
可选的,上述测试用例确定单元,具体被配置为执行:查询预先建立的功能特征信息与测试用例之间的对应关系,将预设用例库中与待测功能模块的特征信息对应的测试用例作为目标测试用例。
可选的,待测功能对应的待测功能信息包括待测功能对应的程序代码;待测功能的特征信息包括接口名称、接口描述信息、函数信息以及预设关键字中的一项或者多项。
可选的,上述结果确定单元,具体被配置为执行:将测试用例输入到dubbo分布式服务框架,以利用dubbo分布式服务框架执行测试用例,得到测试结果。
第三方面,本公开提供一种软件测试设备,包括:处理器,以及用于存储处理器可执行指令的存储器;其中,处理器被配置为执行指令,以实现如上述第一方面提供的软件测试方法。
第四方面,本公开提供一种计算机可读存储介质,存储有指令,当指令由软件测试设备的处理器执行时,使得处理器执行如上述第一方面提供的软件测试方法。
第五方面,本公开提供一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行如上述第一方面提供的方法。
本公开的实施例提供的技术方案至少带来以下有益效果:
基于本公开的上述任一方面,本公开技术方案首先通过获取软件中待测功能对应的待测功能信息,并从待测功能信息中确定出待测功能的特征信息;然后根据特征信息,从预设用例库中确定出与待测功能模块的特征信息相匹配的目标测试用例,预设用例库包括测试软件的功能所使用过的测试用例;最后利用目标测试用例对待测功能进行测试,得到测试结果。可见,本公开根据待测功能模块的特征信息,可以自动确定出与待测功能的特征最适合的目标测试用例,进而解决人工选择测试用例效率较低,准确性差的问题。
本公开中第二方面、第三方面、第四方面和第五方面描述的技术方案的有益效果,可以参考第一方面的有益效果分析,此处不再赘述。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1示出了本公开实施例提供的一种软件测试系统示意图;
图2示出了本公开实施例提供的一种模型架构示意图;
图3示出了本公开实施例提供的一种软件测试方法的流程示意图;
图4示出了本公开实施例提供的又一种软件测试方法的流程示意图;
图5示出了本公开实施例提供的一种测试用例匹配模型的训练过程示意图;
图6示出了本公开实施例提供的又一种软件测试方法的流程示意图;
图7示出了本公开实施例提供的又一种测试用例匹配模型的训练过程示意图;
图8示出了本公开实施例提供的又一种软件测试方法的流程示意图;
图9示出了本公开实施例提供的一种软件测试装置的结构示意图;
图10示出了本公开实施例提供的一种软件测试设备的结构示意图。
具体实施方式
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
随着互联网技术的快速发展,应用软件通过多个功能模块能够实现丰富多样的功能。
在软件开发过程中,为避免软件更新所产生的错误,电子设备会对软件进行非回归测试和多次回归测试,其中,回归测试是指对软件中的功能模块进行更新升级后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。回归测试作为软件生命周期的一个组成部分,在整个软件测试过程中占有很大的工作量比重,软件开发的各个阶段都会进行多次回归测试。在渐进和快速迭代开发中,新版本的连续发布使回归测试进行的更加频繁。
在软件测试的过程中,通常需要使用测试用例对相应的功能模块进行测试,根据得到的测试结果确定功能模块更新对软件整体质量的优化情况。相关技术中,通常通过人工选择的测试用例对软件进行测试,存在效率较低,准确性差的问题。
基于此,本公开实施例提供了一种软件测试方法,包括:通过获取软件中待测功能对应的待测功能信息,并从待测功能信息中确定出待测功能的特征信息;然后根据特征信息,从预设用例库中确定出与待测功能模块的特征信息相匹配的目标测试用例,预设用例库包括测试软件的功能所使用过的测试用例;最后利用目标测试用例对待测功能进行测试,得到测试结果。可见,本公开根据待测功能模块的特征信息,可以自动确定出与待测功能的特征最适合的目标测试用例,进而解决人工选择测试用例效率较低,准确性差的问题。
以下对本公开实施例提供的软件测试方法的应用场景进行示例性说明:
参考图1,其示出本公开实施例提供的一种软件测试系统的结构示意图。如图1所示,该软件测试系统可以包括服务器101和终端设备102,终端设备102具体可以通过有线网络或者无线网络与服务器101连接。
示例性的,本公开实施例中的终端设备可以是手机、平板电脑、桌面型、膝上型、手持计算机、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本,以及蜂窝电话、个人数字助理(personal digital assistant,PDA)、增强现实(augmented reality,AR)\虚拟现实(virtual reality,VR)设备等可以安装软件测试应用,并使用软件测试应用的设备,本公开实施例对该电子设备的具体形态不做特殊限制。
其中,服务器101可以是用于接收用户(如软件开发人员)通过终端设备发送的测试请求,测试请求中包括软件的待测功能对应的待测功能信息。服务器101可以利用本公开所提供的技术方案,对待测功能进行测试。例如,首先从待测功能信息中确定出待测功能的特征信息,并根据特征信息,从预设用例库中确定出与待测功能模块的特征信息相匹配的目标测试用例,预设用例库包括测试软件的功能所使用过的测试用例;然后利用目标测试用例对待测功能进行测试,得到测试结果;最后通过有线或者无线的方式将测试结果返回至该用户所使用的终端设备102。
在一些实施例中,软件测试系统中包括如图2所示的模型架构210。如图2所示,该模型架构210中包括请求接收节点201、特征提取节点202、测试用例确定节点203、测试节点204和数据记录节点205。
需要说明的是,待测软件中包括多个功能模块,每个功能模块分别用于实现该软件不同的功能。例如,软件的显示模块,用于显示软件的各种界面,软件的通讯模块,用于实现软件与其他终端设备进行通讯。
上述请求接收节点201,用于接收终端设备发送的测试请求,测试请求中包括软件中待测功能对应的待测功能信息,其中,该测试请求用于请求对待测功能模块进行测试。请求接收节点201接收到测试请求,将待测功能信息输入至特征提取节点202。
需要说明的是,待测功能模块为待测软件中任意一个经过升级更新后的功能模块。
上述特征提取节点202,用于从待测功能信息中确定出待测功能的特征信息。
在一些实施例中,待测功能对应的待测功能信息包括待测功能对应的程序代码,即用于显示待测功能的程序代码;待测功能的特征信息包括前述程序代码中的接口名称、接口描述信息、函数信息以及预设关键字中的一项或者多项。例如,待测功能A为用于向其他终端设备发送信息,该待测功能A对应的接口名称为“通讯功能”。接口描述信息为“用于向目标设备发送信息”,函数信息为实现该功能所需调用的具体函数及运行条件。
上述特征提取节点202,将待测功能模块进行特征提取后,将待测功能模块的特征信息输入至测试用例确定节点203。
上述测试用例确定节点203,用于根据待测功能对应的特征信息,从预设用例库中确定出与待测功能的特征信息相匹配的目标测试用例。
需要说明的是,预设用例库包括测试软件的功能所使用过的测试用例。当对软件中的功能进行回归测试时,需要通过该软件中对应的功能模块执行对应的测试用例。当测试完成时,该测试用例为测试软件的功能所使用过的测试用例。
上述测试节点204,用于执行该目标测试用例,得到对应的测试结果。其中,测试节点204可以为一台或多台计算设备,计算设备的数量根据目标测试用例对应的参数及待测功能模块对应的硬件资源信息确定。在测试节点204进行测试时,预先在对应的计算设备上安装待测功能的待测功能模块,通过使用待测功能模块执行目标测试用例,得到对应的测试结果。其中,待测功能的待测功能模块可以从数据库206中进行获取。测试节点可以为dubbo分布式服务框架,以利用dubbo分布式服务框架执行目标测试用例,得到测试结果。
上述数据记录节点205用于记录,测试节点204的输入数据、输出数据等数据,输入数据即为待测功能模块和所使用的目标测试用例,以及待测功能的特征信息,输出数据即为测试结果。
基于上述模型架构210,对本公开实施例提供的软件测试方法的具体实现方式进行介绍。
上述软件测试方法的应用场景仅是一种示例性的应用场景。例如,在其他应用场景中,也可以由终端设备独立执行本公开提供的软件测试方法,完成软件测试过程。
在更为具体的实现方式中,本公开提供的软件测试方法的执行主体可以为软件测试装置。软件测试装置可以是服务器或终端设备,或者包含于服务器或终端设备,此处不予限制。例如,软件测试装置可以包含于上述服务器101。
本公开中,服务器或者终端设备具体可以为一种电子设备。进而,本公开提供的软件测试方法的执行主体可以为电子设备。
以下将结合上述软件测试系统所描述的应用场景,对本公开实施例提供的软件测试方法的具体实现方式进行说明。
图3为本公开实施例提供的一种软件测试方法流程图。如图3所示,该软件测试方法可以包括以下步骤S301-S304:
S301、获取软件中待测功能对应的待测功能信息。
作为一种可行的实现方式,软件中可以包括多个功能模块,各个功能模块分别用来实现不同的功能,或者多个功能模块协同实现某一个功能。例如,界面显示功能模块用于显示该软件的操作界面,通讯功能模块用于实现与其他终端设备的通讯功能。当需要对软件中的任一功能进行测试时,发送测试请求给服务器,测试请求包括待测功能信息。其中,待测功能对应的待测功能信息包括待测功能对应的程序代码,即该待测功能模块的代码。该待测功能信息也可以包括该待测功能模块的标识信息,服务器则可以根据该标识信息从数据库中获取待测功能模块的代码。
S302、从待测功能信息中确定出待测功能的特征信息。
作为一种可行的实现方式,根据对待测功能信息进行解析,得到待测功能的特征信息,特征信息包括接口名称、接口描述信息、函数信息以及预设关键字中的一项或者多项。例如,待测功能A为用于向其他终端设备发送信息,该待测功能A对应的接口名称为“通讯功能”。接口描述信息为“用于向目标设备发送信息”,函数信息为实现该功能所需调用的具体函数及运行条件。
S303、根据待测功能的特征信息,从预设用例库中确定出与待测功能的特征信息相匹配的目标测试用例,预设用例库包括测试软件的功能所使用过的测试用例。
在一些实施例中,根据待测功能的特征信息,从预设用例库中确定出与待测功能模块的特征信息相匹配的测试用例,包括:
将待测功能的特征信息输入至最新的测试用例匹配模型中,得到测试用例匹配模型的输出结果,输出结果表征待测功能的特征信息与预设用例库中每个测试用例之间的匹配程度,例如,输出结将预设用例库中与待测功能的特征信息匹配程度最高的测试用例,确定为目标测试用例。果表征待测功能的特征信息与预设用例库中每个测试用例之间匹配的概率。
由于,本公开在使用上述测试用例匹配模型过程中,不断优化该模型,因此上述最新的测试用例匹配模型是指学习到上一个被测功能的特征信息与上一个被测功能对应的测试用例之间匹配关系的测试用例匹配模型。
由上述内容可知,提供了一种确定测试用例的具体实现方式,通过将待测功能的特征信息输入至最新的测试用例匹配模型中,可以由该最新的测试用例匹配模型自动确定出与待测功能的特征最适合的目标测试用例,避免了人工选择测试用例效率较低,准确性差的问题,提高了软件测试的效率和准确性。
在一些实施例中,根据待测功能的特征信息,从预设用例库中确定出与待测功能模块的特征信息相匹配的目标测试用例,包括:
查询预先建立的功能特征信息与测试用例之间的对应关系,将预设用例库中与待测功能模块的特征信息对应的测试用例作为目标测试用例。
示例性的,当输入的待测功能A对应的特征信息为a时,通过特征信息a确定待测功能A相对应的测试用例b,作为目标测试用例。其中,测试用例b根据预先建立的功能的特征信息与测试用例之间的对应关系确定。
S304、利用目标测试用例对待测功能进行测试,得到测试结果。
作为一种可行的具体示例,上述S304可包括以下步骤:将测试用例输入到dubbo分布式服务框架,以利用dubbo分布式服务框架执行测试用例,得到测试结果。dubbo为一种高性能、轻量级的开源Java RPC框架,可以实现待测功能的功能模块的远程调用,同时具有智能容错和负载均衡,以及服务自动注册和发现的优点。当软件开发完成时,需要对软件中的所有功能进行首次测试,确定各功能能否顺利实现,当软件中的任一功能完成首次测试时,将此次首次测试使用的该功能模块对应的测试用例保存在预设用例库中。当该功能更新升级后,再次进行测试时,通过特征信息从该预设用例库中确定该功能对应的测试用例。
示例性的,首先,dubbo分布式服务框架确定当前待测功能模块和目标测试用例所需的测试设备数量,从当前空闲的测试设备中确定出进行测试的目标测试设备,在目标设备上安装待测功能模块,利用待测功能模块执行目标测试用例,完成测试后,得到测试结果。
由上述内容可知,首先通过获取软件中待测功能对应的待测功能信息,并从待测功能信息中确定出待测功能的特征信息;然后根据特征信息,从预设用例库中确定出与待测功能模块的特征信息相匹配的目标测试用例,预设用例库包括测试软件的功能所使用过的测试用例;最后利用目标测试用例对待测功能进行测试,得到测试结果。可见,本公开根据待测功能模块的特征信息,可以自动确定出与待测功能的特征最适合的目标测试用例,进而解决人工选择测试用例效率较低,准确性差的问题。
在一些实施例中,参见图4,在上述S301步骤之前,本实施例提供的软件测试方法还可以包括以下步骤S401-S403:
S401、获取符合预设条件的至少一个训练样本,其中的一个训练样本包括软件的一个功能对应的特征样本、一个功能对应的至少一个用例样本和至少一个标签信息,其中的一个标签信息用于指示特征样本和一个用例样本的匹配程度;
S402、根据至少一个训练样本训练初始的测试用例匹配模型,训练后的测试用例匹配模型用于获取特征样本和用例样本的匹配程度;
S403、将每个功能对应的用例样本添加到预设用例库。
作为一种可行的实现方式,结合图4,参见图5,图5为本公开实施例提供的一种测试用例匹配模型的训练过程示意图,将训练样本输入测试用例匹配模型进行训练,得到训练结果,同时将该训练样本中对应的用例样本添加到预设用例库中。
由上述内容可知,提供了一种训练测试用例匹配模型的具体实现方式,利用训练样本对初始的测试用例匹配模型进行训练,使得初始的测试用例匹配模型学习到功能的特征样本与对应的用例样本之间的匹配程度,进而,当将一个特定功能的特征信息输入到测试用例匹配模型后,测试用例匹配模型可以学习到该特定功能的特征信息与预设用例库中每个用例样本的匹配程度,从而可以根据测试用例匹配模型的输出结果,筛选出与该特定功能最合适的测试用例。
在软件测试的过程中,通过优化训练样本对最新的测试用例匹配模型进行更新训练,可利用测试过程中获得的优化训练样本逐渐完善测试用例匹配模型,使得测试用例匹配模型能够覆盖软件中所有功能,用户选择任一功能作为待测功能时,均能在预设用例库中匹配对应的目标测试用例,并根据该目标测试用例进行测试,得到测试结果。解决人工选择测试用例效率较低,准确性差的问题。
在一些实施例中,参见图6,在上述S304步骤之后,上述方法还包括:
S601、在目标测试用例符合预设条件的情况下,生成优化训练样本,优化训练样本包括待测功能对应的特征信息、目标测试用例以及目标标签信息,目标标签信息用于表征待测功能对应的特征信息与目标测试用例之间的匹配程度;
S602、利用优化训练样本对最新的测试用例匹配模型进行更新训练。
S603、将目标测试用例添加到预设用例库中。
作为一种可行的实现方式,结合图6,参见图7,图7示出了本公开实施例提供的又一种测试用例匹配模型的训练过程示意图,在目标测试用例符合预设条件的情况下,生成优化训练样本,将优化训练样本输入测试用例匹配模型进行更新训练。通过优化训练样本能够实现测试用例匹配模型的不断更新,提升测试用例匹配模型的准确性。
由上述内容可知,通过优化训练样本对最新的测试用例匹配模型进行更新训练,并将目标测试用例添加到预设用例库中,能够逐渐完善测试用例匹配模型和预设用例库,使得测试用例匹配模型和预设用例库逐渐覆盖软件中所有功能。用户选择任一功能作为待测功能时,均能使用测试用例匹配模型,匹配出预设用例库中的最合适的测试用例。解决人工选择测试用例效率较低,准确性差的问题。
上述预设条件为:标签信息表征的特征样本与用例样本之间的匹配程度,大于或者等于预设阈值;其中,特征样本与用例样本之间的匹配程度,与利用用例样本对功能模块进行测试的测试质量正相关。其中,测试质量与用例执行的稳定性、测试结果的准确性有关。例如,如果执行某个用例测试某个功能的过程中,出错率高,稳定性差,测试结果不准确、不全面,则说明测试质量低下,进而该用例不符合预设条件。
示例性的,在目标测试用例不符合预设条件的情况下,此时说明特征样本与用例样本之间的匹配程度小于预设阈值,该目标测试用例不具使用价值,不能得到准确的测试结构,因此,该不符合预设条件的测试用例不能作为优化训练样本对测试用例匹配模型进行更新训练。
由上述内容可知,通过预设条件对测试用例进行筛选,避免匹配程度较低的测试用例作为用例样本对测试用例匹配模型进行更新训练,能够有效提升测试用例匹配模型的准确性,提高测试效率。
在一些实施例中,目标测试用例还包括执行目标测试用例所需的设备信息,上述S304步骤,参见图8,具体包括:
S801、确定出所需数量个测试设备。
作为一种可行的实现方式,上述测试设备包括物理计算机、虚拟机及Docker。
S802、在测试设备上安装待测功能模块。
作为一种可行的实现方式,在测试设备上,自动安装待测功能模块,若目标测试用例在测试过程中其他需要依赖的关联功能模块,在关联功能模块存在对应的image的情况下,直接载入对应的关联功能模块,在上述关联功能模块不存在对应的image的情况下,自动安装测试用例所需的其他关联功能模块。
S803、通过待测功能模块执行目标测试用例,得到测试结果。
当所有目标测试用例所需的关联功能模块及待测功能模块安装完毕后,在测试设备上利用待测功能模块执行并行执行测试用例,得到测试结果。
由上述可知,通过确定对应的测试设备,安装对应的功能模块,完成测试用例的执行,得到对应的测试结果,能够避免选择正在工作的测试设备进行测试,造成测试时间过长,严重影响测试效率,影响用户体验。
在一些实施例中,通过待测功能模块执行目标测试用例,还包括:收集系统信息,系统信息包括CPU信息、GPU信息、内存信息、硬盘信息、网络信息、功耗信息;并将系统信息保存至数据库并实时发送至用户的终端设备。通过实时发送系统信息,用户可以在运行过程中,实时查询目标测试用例运行状态;也可根据自身需求终止目标测试用例的运行。
在一些实施例中,方法还包括:当软件中的任一功能模块完成首次测试时,将功能模块对应的测试用例保存在预设用例库中。
由上述内容可知,当软件中的功能模块完成测试时,通过将其测试使用的测试用例保存到预设用例库中,当需要对该功能模块进行再次测试时,从预设用例库中匹配相应的测试用例,使得预设用例库能够满足不同功能模块的测试需求,覆盖该软件中所有功能模块对应的测试用例,提升测试效率。
在一些实施例中,测试结果还包括索引信息;本实施例提供的软件测试方法还包括:接收测试结果查询请求,测试结果查询请求包括测试结果对应的索引信息;以及,根据索引信息确定对应的测试结果,测试结果可以存储在数据库中。
作为一种可行的实现方式,测试结果中可以包括待测功能的测试报告对应的索引信息。索引信息可以包括目标模块的特征信息及其对应的测试结果的存储地址和接口,当待测功能有多个时,测试结果中可以包括每个待测功能对应的测试结果的存储地址和接口组成的列表,每个待测功能得到测试结果分别对应不同的索引信息,用户可以根据索引信息通过终端设备向服务器发送测试结果查询请求,服务器根据测试结果查询请求中的索引信息确定对应的测试结果的存储地址和接口,将测试结果返回给该用户的终端设备。
由上述内容可知,根据索引信息用户可查询之前待测功能对应的测试结果,有利于比较首次测试和当前待测功能升级更新后进行测试的结果差异,避免对同一功能模块进行多次重复测试,提升测试效率。
例如,图9为本公开实施例提供的软件测试装置的组成示意图。如图9所示,该软件测试装置包括:信息接收单元901、特征确定单元902、测试用例确定单元903和结果确定单元904。信息接收单元901,被配置为执行获取软件中待测功能对应的待测功能信息;例如,执行图3所示的步骤S301。特征确定单元902,被配置为执行从待测功能信息中确定出待测功能的特征信息;例如,执行图3所示的步骤S302。测试用例确定单元903,被配置为执行根据特征信息,从预设用例库中确定出与待测功能模块的特征信息相匹配的目标测试用例,预设用例库包括测试软件的功能所使用过的测试用例;例如,执行图3所示的步骤S303。结果确定单元904,被配置为执行利用目标测试用例对待测功能进行测试,得到测试结果。例如,执行图3所示的步骤S304。
可选的,测试用例确定单元903,具体被配置为执行:将待测功能的特征信息输入至最新的测试用例匹配模型中,得到测试用例匹配模型的输出结果,输出结果表征待测功能的特征信息与预设用例库中每个测试用例之间的匹配程度,最新的测试用例匹配模型是指学习到上一个被测功能的特征信息与上一个被测功能对应的测试用例之间匹配关系的测试用例匹配模型;将预设用例库中与待测功能的特征信息匹配程度最高的测试用例,确定为目标测试用例。
可选的,获取软件中待测功能对应的待测功能信息之前,信息接收单元901还被配置为执行:获取符合预设条件的至少一个训练样本,其中的一个训练样本包括软件的一个功能对应的特征样本、一个功能对应的至少一个用例样本和至少一个标签信息,其中的一个标签信息用于指示特征样本和一个用例样本的匹配程度;根据至少一个训练样本训练初始的测试用例匹配模型,训练后的测试用例匹配模型用于获取特征样本和用例样本的匹配程度;以及,将每个功能对应的用例样本添加到预设用例库。例如,执行图4所示的步骤S401-403。
可选的,预设条件为:标签信息表征的特征样本与用例样本之间的匹配程度,大于或者等于预设阈值;其中,特征样本与用例样本之间的匹配程度,与利用用例样本对功能模块进行测试的测试质量正相关。
可选的,利用目标测试用例对待测功能进行测试,得到测试结果之后,结果确定单元904还被配置为执行:在目标测试用例符合预设条件的情况下,生成优化训练样本,优化训练样本包括待测功能对应的特征信息、目标测试用例以及目标标签信息,目标标签信息用于表征待测功能对应的特征信息与目标测试用例之间的匹配程度;利用优化训练样本对最新的测试用例匹配模型进行更新训练。例如,执行图6所示的步骤S601-603。
可选的,测试用例确定单元903,具体被配置为执行:查询预先建立的功能特征信息与测试用例之间的对应关系,将预设用例库中与待测功能模块的特征信息对应的测试用例作为目标测试用例。
可选的,待测功能对应的待测功能信息包括待测功能对应的程序代码;待测功能的特征信息包括接口名称、接口描述信息、函数信息以及预设关键字中的一项或者多项。
可选的,结果确定单元904,具体被配置为执行:将测试用例输入到dubbo分布式服务框架,以利用dubbo分布式服务框架执行测试用例,得到测试结果。
在示例性的实施例中,本公开实施例还提供了一种软件测试设备,该软件测试设备可以是上述方法实施例中的所述的软件测试装置。图10为本公开实施例提供的软件测试设备的结构示意图。如图10所示,该软件测试设备可以包括:处理器1001,以及用于存储处理器1001可执行指令的存储器1002;其中,处理器被配置为执行指令,以实现上述实施例中的软件测试方法。
在示例性的实施例中,本公开实施例还提供一种计算机可读存储介质,其上存储有指令;当该指令由软件测试设备的处理器执行时,使得处理器执行如前述实施例中所述的方法。其中,计算机可读存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在示例性的实施例中,本公开实施例还提供了一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机实现上述实施例中的软件测试方法。
通过以上实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本公开所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本公开实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上内容,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何在本公开揭露的技术范围内的变化或替换,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以所述权利要求的保护范围为准。
Claims (12)
1.一种软件测试方法,其特征在于,包括:
获取所述软件中待测功能对应的待测功能信息;
从所述待测功能信息中确定出所述待测功能的特征信息;
根据所述待测功能的特征信息,从预设用例库中确定出与所述待测功能的特征信息相匹配的目标测试用例,所述预设用例库包括测试所述软件的功能所使用过的测试用例;
利用所述目标测试用例对所述待测功能进行测试,得到测试结果。
2.根据权利要求1所述的软件测试方法,其特征在于,所述根据所述待测功能的所述特征信息,从预设用例库中确定出与所述待测功能的特征信息相匹配的测试用例,包括:
将所述待测功能的特征信息输入至最新的测试用例匹配模型中,得到所述测试用例匹配模型的输出结果,所述输出结果表征所述待测功能的特征信息与所述预设用例库中每个测试用例之间的匹配程度,所述最新的测试用例匹配模型是指学习到上一个被测功能的特征信息与所述上一个被测功能对应的测试用例之间匹配关系的测试用例匹配模型;
将所述预设用例库中与所述待测功能的所述特征信息匹配程度最高的测试用例,确定为所述目标测试用例。
3.根据权利要求2所述的软件测试方法,其特征在于,所述获取所述软件中待测功能对应的待测功能信息之前,还包括:
获取符合预设条件的至少一个训练样本,其中的一个训练样本包括所述软件的一个功能对应的特征样本、所述一个功能对应的至少一个用例样本和至少一个标签信息,其中的一个标签信息用于指示所述特征样本和一个所述用例样本的匹配程度;
根据所述至少一个训练样本训练初始的测试用例匹配模型,训练后的测试用例匹配模型用于获取所述特征样本和所述用例样本的匹配程度;
以及,将每个所述功能对应的用例样本添加到所述预设用例库。
4.根据权利要求3所述的软件测试方法,其特征在于,所述预设条件为:所述标签信息表征的所述特征样本与用例样本之间的匹配程度,大于或者等于预设阈值;
其中,所述特征样本与用例样本之间的匹配程度,与利用所述用例样本对所述功能模块进行测试的测试质量正相关。
5.根据权利要求3所述的软件测试方法,其特征在于,所述利用所述目标测试用例对所述待测功能进行测试,得到测试结果之后,所述方法还包括:
在所述目标测试用例符合所述预设条件的情况下,生成优化训练样本,所述优化训练样本包括所述待测功能对应的所述特征信息、所述目标测试用例以及目标标签信息,所述目标标签信息用于表征所述待测功能对应的所述特征信息与所述目标测试用例之间的匹配程度;
利用所述优化训练样本对所述最新的测试用例匹配模型进行更新训练;
以及,将所述目标测试用例添加到所述预设用例库中。
6.根据权利要求1所述的软件测试方法,其特征在于,所述根据所述待测功能的特征信息,从预设用例库中确定出与所述待测功能的特征信息相匹配的目标测试用例,包括:
查询预先建立的功能特征信息与测试用例之间的对应关系,将预设用例库中与所述待测功能模块的特征信息对应的测试用例作为目标测试用例。
7.根据权利要求1所述的软件测试方法,其特征在于,所述待测功能对应的待测功能信息包括所述待测功能对应的程序代码;所述待测功能的特征信息包括所述程序代码中的接口名称、接口描述信息、函数信息以及预设关键字中的一项或者多项。
8.根据权利要求1所述的软件测试方法,其特征在于,所述利用所述目标测试用例对所述待测功能进行测试,得到测试结果,包括:
将所述目标测试用例输入到dubbo分布式服务框架,以利用所述dubbo分布式服务框架执行所述目标测试用例,得到所述测试结果。
9.一种软件测试装置,其特征在于,包括:
信息接收单元,被配置为执行获取所述软件中待测功能对应的待测功能信息;
特征确定单元,被配置为执行从所述待测功能信息中确定出所述待测功能的特征信息;
测试用例确定单元,被配置为执行根据所述特征信息,从预设用例库中确定出与所述待测功能模块的所述特征信息相匹配的目标测试用例,所述预设用例库包括测试所述软件的功能所使用过的测试用例;
结果确定单元,被配置为执行利用所述目标测试用例对所述待测功能进行测试,得到测试结果。
10.一种软件测试设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1-8中任一项所述的软件测试方法。
11.一种计算机可读存储介质,其特征在于,当所述计算机可读存储介质中的指令由软件测试设备的处理器执行时,使得软件测试设备能够执行如权利要求1-8中任一项所述的软件测试方法。
12.一种计算机程序产品,包括计算机程序/指令,其特征在于,当所述计算机程序/指令在被处理器执行时实现权利要求1-8中任一项所述的软件测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210303748.3A CN114780386A (zh) | 2022-03-24 | 2022-03-24 | 软件测试方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210303748.3A CN114780386A (zh) | 2022-03-24 | 2022-03-24 | 软件测试方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114780386A true CN114780386A (zh) | 2022-07-22 |
Family
ID=82424576
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210303748.3A Pending CN114780386A (zh) | 2022-03-24 | 2022-03-24 | 软件测试方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114780386A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115509900A (zh) * | 2022-09-15 | 2022-12-23 | 上海宜软检测技术有限公司 | 一种功能测试用例生成方法及系统 |
CN115712561A (zh) * | 2022-10-31 | 2023-02-24 | 上海宜软检测技术有限公司 | 一种基于功能基线的业务路径测试方法及系统 |
-
2022
- 2022-03-24 CN CN202210303748.3A patent/CN114780386A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115509900A (zh) * | 2022-09-15 | 2022-12-23 | 上海宜软检测技术有限公司 | 一种功能测试用例生成方法及系统 |
CN115509900B (zh) * | 2022-09-15 | 2024-02-02 | 上海宜软检测技术有限公司 | 一种功能测试用例生成方法及系统 |
CN115712561A (zh) * | 2022-10-31 | 2023-02-24 | 上海宜软检测技术有限公司 | 一种基于功能基线的业务路径测试方法及系统 |
CN115712561B (zh) * | 2022-10-31 | 2023-12-22 | 上海宜软检测技术有限公司 | 一种基于功能基线的业务路径测试方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107515826B (zh) | 测试用例精准推荐方法、装置、系统、设备及存储介质 | |
CN110221982B (zh) | 业务系统的性能测试方法、装置、设备及可读存储介质 | |
CN114780386A (zh) | 软件测试方法、装置、设备及存储介质 | |
US8745590B2 (en) | Testing an application | |
CN109726108B (zh) | 基于模拟数据的前端代码测试方法、装置、系统和介质 | |
CN109359020A (zh) | 启动时间测试方法及装置、计算机装置及存储介质 | |
CN112052169A (zh) | 测试管理方法、系统、设备以及计算机可读存储介质 | |
CN107391362A (zh) | 应用测试方法、移动终端及存储介质 | |
CN112905435B (zh) | 基于大数据的工作量评估方法、装置、设备及存储介质 | |
CN112306857A (zh) | 用于测试应用的方法和装置 | |
CN110990285A (zh) | 一种ui自动化测试方法及装置 | |
CN113448988A (zh) | 算法模型的训练方法、装置、电子设备及存储介质 | |
CN113704112A (zh) | 数据处理方法及系统 | |
CN110659204B (zh) | 一种代码检测方法、设备及介质 | |
CN112817869A (zh) | 测试方法、装置、介质及电子设备 | |
CN110609786A (zh) | 软件测试方法、装置、计算机设备和存储介质 | |
CN115328891A (zh) | 数据迁移方法、装置、存储介质及电子设备 | |
CN110674024A (zh) | 电子设备集成测试系统及其方法 | |
CN114116480A (zh) | 应用程序测试覆盖率的确定方法、装置、介质及设备 | |
CN114003457A (zh) | 数据获取方法和装置、存储介质及电子设备 | |
CN114328180A (zh) | 接口自动化测试方法、系统、电子设备及存储介质 | |
CN112882937A (zh) | 测试用例的处理方法、装置、计算机设备及存储介质 | |
CN110851254A (zh) | 基于微服务的设备生产方法、装置、服务器和存储介质 | |
CN113608996B (zh) | 一种镜像编译测试方法、系统、装置及可读存储介质 | |
CN111143221B (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 |