CN115373973A - 一种软件***测试方法及装置 - Google Patents
一种软件***测试方法及装置 Download PDFInfo
- Publication number
- CN115373973A CN115373973A CN202110554051.9A CN202110554051A CN115373973A CN 115373973 A CN115373973 A CN 115373973A CN 202110554051 A CN202110554051 A CN 202110554051A CN 115373973 A CN115373973 A CN 115373973A
- Authority
- CN
- China
- Prior art keywords
- target
- tested
- test
- software system
- host file
- 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/3684—Test management for test design, e.g. generating new test cases
-
- 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
-
- 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
技术领域
本发明涉及软件测试技术领域,特别是涉及一种软件***测试方法及装置。
背景技术
随着网络技术的快速发展,越来越多的软件***应用于用户的生活、工作和娱乐等各方面。而随着软件***的业务的不断发展,使得软件***也需要不断地迭代更新,因此,为了保证能够为用户提供稳定可靠的服务,则可以对软件***进行测试。
相关技术中,测试人员可以使用测试设备(例如,服务器)基于测试用例对应的脚本对待测软件***进行测试,得到待测软件***的测试结果。另外,在对待测软件***进行测试时,可能需要覆盖待测软件***不同的环境(可以称为被测环境),例如,针对测试环境进行测试,针对预发布环境进行测试,以及针对线上环境进行测试。
针对不同的被测环境进行测试,则需要测试人员手动修改测试设备的主机文件,以使测试设备与被测环境相适配。然而,测试人员手动修改主机文件,会降低测试的效率。
发明内容
本发明实施例的目的在于提供一种软件***测试方法及装置,以提高测试的效率。具体技术方案如下:
第一方面,为了达到上述目的,本发明实施例公开了一种软件***测试方法,所述方法包括:
接收测试开启指令;其中,所述测试开启指令中携带有待测软件***的被测环境标识,以及用例标识;
获取所述被测环境标识所表示的目标被测环境对应的主机文件,作为目标主机文件,以及获取所述用例标识所表示的目标测试用例对应的脚本,作为目标脚本;所述目标主机文件用于对所述待测软件***进行域名解析;
通过包含所述目标主机文件的目标容器,执行所述目标脚本,以向所述待测软件***发送测试请求,得到测试结果。
可选的,在获取所述被测环境标识所表示的目标被测环境对应的主机文件,作为目标主机文件,以及获取所述用例标识所表示的目标测试用例对应的脚本,作为目标脚本之后,所述方法还包括:
确定与所述目标脚本相匹配的开发环境,作为目标开发环境;
所述通过包含所述目标主机文件的目标容器,执行所述目标脚本,以向所述待测软件***发送测试请求,得到测试结果,包括:
通过包含所述目标主机文件和所述目标开发环境的目标容器,执行所述目标脚本,以向所述待测软件***发送测试请求,得到测试结果。
可选的,所述通过包含所述目标主机文件和所述目标开发环境的目标容器,执行所述目标脚本,以向所述待测软件***发送测试请求,得到测试结果,包括:
启动包含所述目标开发环境的容器化镜像,得到目标容器;
在所述目标容器中加载所述目标主机文件;
在所述目标容器中拉取并执行所述目标脚本,以向所述待测软件***发送测试请求,得到测试结果。
可选的,所述通过包含所述目标主机文件和所述目标开发环境的目标容器,执行所述目标脚本,以向所述待测软件***发送测试请求,得到测试结果,包括:
启动包含所述目标开发环境和所述目标主机文件的容器化镜像,得到目标容器;
在所述目标容器中拉取并执行所述目标脚本,以向所述待测软件***发送测试请求,得到测试结果。
可选的,所述通过包含所述目标主机文件和所述目标开发环境的目标容器,执行所述目标脚本,以向所述待测软件***发送测试请求,得到测试结果,包括:
启动包含所述目标开发环境、所述目标主机文件以及所述目标脚本的容器化镜像,以在包含所述目标开发环境和所述目标主机文件的目标容器中执行所述目标脚本,以向所述待测软件***发送测试请求,得到测试结果。
可选的,所述方法还包括:
在得到所述测试结果后,释放所述目标容器。
可选的,在通过包含所述目标主机文件的目标容器,执行所述目标脚本,以向所述待测软件***发送测试请求,得到测试结果之后,所述方法还包括:
接收客户端发送的测试结果下载请求;
向所述客户端发送所述测试结果。
可选的,所述通过包含所述目标主机文件的目标容器,执行所述目标脚本,以向所述待测软件***发送测试请求,得到测试结果,包括:
通过目标容器解析所述目标主机文件,得到所述待测软件***的网络地址;
基于所述网络地址,按照所述目标脚本,向所述待测软件***发送测试请求,得到测试结果。
第二方面,为了达到上述目的,本发明实施例公开了一种软件***测试装置,所述装置包括:
测试开启指令接收模块,用于接收测试开启指令;其中,所述测试开启指令中携带有待测软件***的被测环境标识,以及用例标识;
获取模块,用于获取所述被测环境标识所表示的目标被测环境对应的主机文件,作为目标主机文件,以及获取所述用例标识所表示的目标测试用例对应的脚本,作为目标脚本;所述目标主机文件用于对所述待测软件***进行域名解析;
处理模块,用于通过包含所述目标主机文件的目标容器,执行所述目标脚本,以向所述待测软件***发送测试请求,得到测试结果。
可选的,所述装置还包括:
目标开发环境确定模块,用于在获取所述被测环境标识所表示的目标被测环境对应的主机文件,作为目标主机文件,以及获取所述用例标识所表示的目标测试用例对应的脚本,作为目标脚本之后,确定与所述目标脚本相匹配的开发环境,作为目标开发环境;
所述处理模块,具体用于通过包含所述目标主机文件和所述目标开发环境的目标容器,执行所述目标脚本,以向所述待测软件***发送测试请求,得到测试结果。
可选的,所述处理模块,包括:
第一目标容器生成子模块,用于启动包含所述目标开发环境的容器化镜像,得到目标容器;
目标主机文件加载子模块,用于在所述目标容器中加载所述目标主机文件;
处理子模块,用于在所述目标容器中拉取并执行所述目标脚本,以向所述待测软件***发送测试请求,得到测试结果。
可选的,所述处理模块,包括:
第二目标容器生成子模块,用于启动包含所述目标开发环境和所述目标主机文件的容器化镜像,得到目标容器;
处理子模块,用于在所述目标容器中拉取并执行所述目标脚本,以向所述待测软件***发送测试请求,得到测试结果。
可选的,所述处理模块,具体用于启动包含所述目标开发环境、所述目标主机文件以及所述目标脚本的容器化镜像,以在包含所述目标开发环境和所述目标主机文件的目标容器中执行所述目标脚本,以向所述待测软件***发送测试请求,得到测试结果。
可选的,所述装置还包括:
释放模块,用于在得到所述测试结果后,释放所述目标容器。
可选的,所述装置还包括:
测试结果发送模块,用于在通过包含所述目标主机文件的目标容器,执行所述目标脚本,以向所述待测软件***发送测试请求,得到测试结果之后,接收客户端发送的测试结果下载请求;
向所述客户端发送所述测试结果。
可选的,所述处理模块,具体用于通过目标容器解析所述目标主机文件,得到所述待测软件***的网络地址;
基于所述网络地址,按照所述目标脚本,向所述待测软件***发送测试请求,得到测试结果。
在本发明实施的另一方面,为了达到上述目的,本发明实施例还公开了一种电子设备,所述电子设备包括处理器、通信接口、存储器和通信总线,其中,所述处理器,所述通信接口,所述存储器通过所述通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存放的程序时,实现如上述任一所述的软件***测试方法。
在本发明实施的又一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时,实现如上述任一所述的软件***测试方法。
本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的软件***测试方法。
本发明实施例有益效果:
本发明实施例提供的软件***测试方法,可以接收测试开启指令;测试开启指令中携带有待测软件***的被测环境标识,以及用例标识;获取被测环境标识所表示的目标被测环境对应的主机文件,作为目标主机文件,以及获取用例标识所表示的目标测试用例对应的脚本,作为目标脚本;目标主机文件用于对待测软件***进行域名解析;通过包含目标主机文件的目标容器,执行目标脚本,以向待测软件***发送测试请求,得到测试结果。如此,针对不同的被测环境,不需要测试人员手动修改主机文件,能够根据被测环境标识,直接获取对应的主机文件部署在容器中进行测试,进而,能够提高测试效率。
当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
图1为本发明实施例提供的一种软件***测试方法的流程图;
图2为本发明实施例提供的另一种软件***测试方法的流程图;
图3为本发明实施例提供的另一种软件***测试方法的流程图;
图4为本发明实施例提供的另一种软件***测试方法的流程图;
图5为本发明实施例提供的另一种软件***测试方法的流程图;
图6为本发明实施例提供的一种软件***测试的原理示意图;
图7为本发明实施例提供的一种软件***测试装置的结构图;
图8为本发明实施例提供的一种电子设备的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员基于本申请所获得的所有其他实施例,都属于本发明保护的范围。
相关技术中,测试人员在使用测试设备(例如,服务器)基于测试用例对应的脚本对待测软件***进行测试时,针对不同的被测环境,则需要测试人员手动修改测试设备的主机文件,以使测试设备与被测环境相适配,会降低测试的效率。
为了解决上述问题,本发明实施例提供了一种软件***测试方法,该方法可以应用于测试设备,该测试设备可以基于容器执行测试用例对应的脚本,以得到测试结果。例如,该测试设备可以为服务器。
参见图1,图1为本发明实施例提供的一种软件***测试方法的流程图,该方法可以包括以下步骤:
S102:接收测试开启指令。
其中,测试开启指令中携带有待测软件***的被测环境标识,以及用例标识。
S104:获取被测环境标识所表示的目标被测环境对应的主机文件,作为目标主机文件,以及获取用例标识所表示的目标测试用例对应的脚本,作为目标脚本。
其中,目标主机文件用于对待测软件***进行域名解析。
S106:通过包含目标主机文件的目标容器,执行目标脚本,以向待测软件***发送测试请求,得到测试结果。
本发明实施例提供的软件***测试方法,针对不同的被测环境,不需要测试人员手动修改主机文件,能够根据被测环境标识,直接获取对应的主机文件部署在容器中进行测试,进而,能够提高测试效率。
在一个实施例中,测试人员可以通过WEB(World Wide Web,万维网)端向测试设备发送测试开启指令。
例如,WEB端的页面中可以设置有用于选择测试用例的组件(可以称为第一组件)、用于选择被测环境的组件(可以称为第二组件),以及“启动”组件。测试人员可以通过该第一组件选择需要执行的测试用例,通过该第二组件选择待测软件***对应的被测环境,然后,可以点击“启动”组件,相应的,WEB端则可以向测试设备发送携带有测试人员选择的测试用例的用例标识,以及测试人员选择的待测软件***的被测环境标识的测试开启指令。
被测环境表示被测软件***当前的环境,可以包括:测试环境、预发布环境和线上环境。
在一个实施例中,测试人员还可以通过测试工具向测试设备发送测试开启指令。
例如,测试人员可以在Jenkins(一个开源软件***项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件***平台,使软件***的持续集成变成可能)平台中创建Jenkins Job,在Jenkins Job中设置需要执行的测试用例,以及对应的被测环境,进而,通过启动Jenkins Job,向测试设备发送测试开启指令。
针对步骤S104,可以预先生成并存储多个主机(Host)文件和多个脚本,多个主机文件分别对应不同的被测环境。例如,可以包括:测试环境对应的主机文件、预发布环境对应的主机文件、线上环境对应的主机文件。多个脚本分别对应不同的测试用例,用于对待测软件***的不同功能进行测试。
具体的,主机文件中可以记录待测试软件***在不同环境下的IP(InternetProtocol,网际协议)地址与域名的对应关系,测试设备可以基于该主机文件进行域名解析,以与待测软件***进行通信。不同的主机文件中记录的IP地址与域名的对应关系不同。
在一个实施例中,上述步骤S106可以包括以下步骤:
步骤一:通过目标容器解析目标主机文件,得到待测软件***的网络地址。
步骤二:基于网络地址,按照目标脚本,向待测软件***发送测试请求,得到测试结果。
在本发明实施例中,测试开启指令中还可以携带有待测软件***的域名,相应的,测试设备可以在目标容器中解析目标主机文件,确定该域名对应的网络地址,也就是待测软件***的IP地址。进而,可以基于该IP地址,与待测软件***进行通信。
在一个实施例中,参见图2,在步骤S104之后,该方法还可以包括以下步骤:
S105:确定与目标脚本相匹配的开发环境,作为目标开发环境。
相应的,上述步骤S106可以包括以下步骤:
S1061:通过包含目标主机文件和目标开发环境的目标容器,执行目标脚本,以向待测软件***发送测试请求,得到测试结果。
在本发明实施例中,脚本可以对应不同的开发环境。例如,基于python3开发的脚本对应的开发环境为python3环境;基于JAVA开发的脚本对应的开发环境为JAVA环境。
因此,在获取到用例标识后,可以确定该用例标识所表示的测试用例(即目标测试用例)对应的脚本相匹配的开发环境(即目标开发环境)。
进而,可以通过包含目标主机文件和目标开发环境的目标容器,执行目标脚本,以向待测软件***发送测试请求,得到测试结果。
可见,本发明实施例提供的软件***测试方法,能够适用于基于不同开发环境开发的脚本,提高软件***测试方法的适用范围。
在一个实施例中,测试设备可以为Docker服务器。
另外,可以采取不同的方式,基于目标容器执行目标脚本,以对待测软件***进行测试。
方式一:
参见图3,在图2的基础上,上述步骤S1061可以包括以下步骤:
S10611:启动包含目标开发环境的容器化镜像,得到目标容器。
S10612:在目标容器中加载目标主机文件。
S10613:在目标容器中拉取并执行目标脚本,以向待测软件***发送测试请求,得到测试结果。
一种实现方式中,测试设备在确定出目标主机文件、目标脚本以及目标开发环境后,可以生成包含目标开发环境的容器化镜像。进而,可以启动该容器化镜像,能够生成具有目标开发环境的容器(即目标容器,为了与下文中的目标容器区分,此处可以称为第一目标容器)。
然后,则可以在第一目标容器中加载目标主机文件,可以得到待测软件***的网络地址。进而,则可以在第一目标容器中拉取目标脚本,然后,则可以根据待测试软件***的网络地址,按照目标脚本,向待测软件***发送测试请求,并得到测试结果。
一种实现方式中,可以将目标主机文件和目标脚本存储在指定目录下,相应的,可以通过第一目标容器读取该指定目录,得到目标主机文件以及目标脚本,进而,则可以在第一目标容器中加载目标主机文件,并执行目标脚本。
基于上述处理,可以在容器中执行目标脚本,相应的,可以通过创建多个容器,实现并行测试,且并行进行的多个测试,可以是分别针对不同的开发环境,针对不同的被测环境的测试,能够进一步提高测试的效率。
方式二:
参见图4,在图2的基础上,上述步骤S1061可以包括以下步骤:
S10614:启动包含目标开发环境和目标主机文件的容器化镜像,得到目标容器。
S10615:在目标容器中拉取并执行目标脚本,以向待测软件***发送测试请求,得到测试结果。
一种实现方式中,测试设备在确定出目标主机文件、目标脚本以及目标开发环境后,可以生成包含目标开发环境和目标主机文件的容器化镜像。进而,可以启动该容器化镜像,能够生成具有目标开发环境以及目标主机文件的容器(即目标容器,此处可以称为第二目标容器)。也就能够得到待测软件***的网络地址。
然后,则可以在第二目标容器中拉取目标脚本,并根据待测试软件***的网络地址,按照目标脚本,向待测软件***发送测试请求,进而,得到测试结果。
一种实现方式中,可以将目标脚本存储在指定目录下,相应的,可以通过第二目标容器读取该指定目录,得到目标脚本,进而,则可以在第二目标容器中执行目标脚本。
基于上述处理,可以在容器中执行目标脚本,相应的,可以通过创建多个容器,实现并行测试,且并行进行的多个测试,可以是分别基于不同的开发环境,针对不同的被测环境的测试,能够进一步提高测试的效率。
方式三:
参见图5,在图2的基础上,上述步骤S1061可以包括以下步骤:
S10616:启动包含目标开发环境、目标主机文件以及目标脚本的容器化镜像,以在包含目标开发环境和目标主机文件的目标容器中执行目标脚本,以向待测软件***发送测试请求,得到测试结果。
在本发明实施例中,测试设备在确定出目标主机文件、目标脚本以及目标开发环境后,可以生成包含目标开发环境、目标主机文件以及目标脚本的容器化镜像。进而,可以启动该容器化镜像,则能够在具有目标开发环境以及目标主机文件的目标容器中执行目标脚本。也就是说,该目标容器能够基于目标主机文件,确定待测软件***的网络地址,并根据该网络地址,按照目标脚本,向待测软件***发送测试请求,进而,得到测试结果。
在一个实施例中,在得到测试结果后,还可以释放上述目标容器,以节省计算资源。
在一个实施例中,在得到测试结果之后,该方法还可以包括以下步骤:
步骤一:接收客户端发送的测试结果下载请求。
步骤二:向客户端发送测试结果。
在本发明实施例中,测试人员可以通过客户端向测试设备发送针对测试结果的下载请求,相应的,测试设备则可以向客户端发送测试结果。例如,测试设备可以生成包含测试结果的测试报告,并向客户端发送该测试报告。
参见图6,图6为本发明实施例提供的一种软件***测试的原理示意图。
其中,对象存储表示基于预设存储空间存储脚本、主机文件和开发环境。MY Sql用于存储账户信息、测试结果。
图6中,线上环境表示线上环境对应的被测软件***、预发环境表示预发布环境对应的被测软件***、测试环境表示测试环境对应的被测软件***。容器1至容器N可以分别对应不同的被测环境,用于执行脚本对不同被测环境的被测软件***进行测试。镜像仓库用于存储容器化镜像。
测试人员在Web端通过账户信息登录后,可以通过Web端向Docker服务器发送测试开启指令。相应的,Docker服务器可以基于该测试开启指令,从上述预设存储空间中获取对应的目标脚本、目标主机文件以及目标开发环境,并生成对应的镜像(即容器化镜像),进而,则可以启动该镜像,以在具有目标开发环境和目标主机文件的容器中执行目标脚本,得到测试结果,并存储在MY Sql。
基于相同的发明构思,本发明实施例还提供了一种软件***测试装置,参见图7,图7为本发明实施例提供的一种软件***测试装置的结构图,该装置可以包括:
测试开启指令接收模块701,用于接收测试开启指令;其中,所述测试开启指令中携带有待测软件***的被测环境标识,以及用例标识;
获取模块702,用于获取所述被测环境标识所表示的目标被测环境对应的主机文件,作为目标主机文件,以及获取所述用例标识所表示的目标测试用例对应的脚本,作为目标脚本;所述目标主机文件用于对所述待测软件***进行域名解析;
处理模块703,用于通过包含所述目标主机文件的目标容器,执行所述目标脚本,以向所述待测软件***发送测试请求,得到测试结果。
可选的,所述装置还包括:
目标开发环境确定模块,用于在获取所述被测环境标识所表示的目标被测环境对应的主机文件,作为目标主机文件,以及获取所述用例标识所表示的目标测试用例对应的脚本,作为目标脚本之后,确定与所述目标脚本相匹配的开发环境,作为目标开发环境;
所述处理模块703,具体用于通过包含所述目标主机文件和所述目标开发环境的目标容器,执行所述目标脚本,以向所述待测软件***发送测试请求,得到测试结果。
可选的,所述处理模块703,包括:
第一目标容器生成子模块,用于启动包含所述目标开发环境的容器化镜像,得到目标容器;
目标主机文件加载子模块,用于在所述目标容器中加载所述目标主机文件;
处理子模块,用于在所述目标容器中拉取并执行所述目标脚本,以向所述待测软件***发送测试请求,得到测试结果。
可选的,所述处理模块703,包括:
第二目标容器生成子模块,用于启动包含所述目标开发环境和所述目标主机文件的容器化镜像,得到目标容器;
处理子模块,用于在所述目标容器中拉取并执行所述目标脚本,以向所述待测软件***发送测试请求,得到测试结果。
可选的,所述处理模块703,具体用于启动包含所述目标开发环境、所述目标主机文件以及所述目标脚本的容器化镜像,以在包含所述目标开发环境和所述目标主机文件的目标容器中执行所述目标脚本,以向所述待测软件***发送测试请求,得到测试结果。
可选的,所述装置还包括:
释放模块,用于在得到所述测试结果后,释放所述目标容器。
可选的,所述装置还包括:
测试结果发送模块,用于在通过包含所述目标主机文件的目标容器,执行所述目标脚本,以向所述待测软件***发送测试请求,得到测试结果之后,接收客户端发送的测试结果下载请求;
向所述客户端发送所述测试结果。
可选的,所述处理模块703,具体用于通过目标容器解析所述目标主机文件,得到所述待测软件***的网络地址;
基于所述网络地址,按照所述目标脚本,向所述待测软件***发送测试请求,得到测试结果。
本发明实施例还提供了一种电子设备,如图8所示,包括处理器801、通信接口802、存储器803和通信总线804,其中,处理器801,通信接口802,存储器803通过通信总线804完成相互间的通信,
存储器803,用于存放计算机程序;
处理器801,用于执行存储器803上所存放的程序时,实现如下步骤:
接收测试开启指令;其中,所述测试开启指令中携带有待测软件***的被测环境标识,以及用例标识;
获取所述被测环境标识所表示的目标被测环境对应的主机文件,作为目标主机文件,以及获取所述用例标识所表示的目标测试用例对应的脚本,作为目标脚本;所述目标主机文件用于对所述待测软件***进行域名解析;
通过包含所述目标主机文件的目标容器,执行所述目标脚本,以向所述待测软件***发送测试请求,得到测试结果。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一软件***测试方法的步骤。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一软件***测试方法。
在上述实施例中,可以全部或部分地通过软件***、硬件、固件或者其任意组合来实现。当使用软件***实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备、计算机可读存储介质以及计算机程序产品实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (18)
1.一种软件***测试方法,其特征在于,所述方法包括:
接收测试开启指令;其中,所述测试开启指令中携带有待测软件***的被测环境标识,以及用例标识;
获取所述被测环境标识所表示的目标被测环境对应的主机文件,作为目标主机文件,以及获取所述用例标识所表示的目标测试用例对应的脚本,作为目标脚本;所述目标主机文件用于对所述待测软件***进行域名解析;
通过包含所述目标主机文件的目标容器,执行所述目标脚本,以向所述待测软件***发送测试请求,得到测试结果。
2.根据权利要求1所述的方法,其特征在于,在获取所述被测环境标识所表示的目标被测环境对应的主机文件,作为目标主机文件,以及获取所述用例标识所表示的目标测试用例对应的脚本,作为目标脚本之后,所述方法还包括:
确定与所述目标脚本相匹配的开发环境,作为目标开发环境;
所述通过包含所述目标主机文件的目标容器,执行所述目标脚本,以向所述待测软件***发送测试请求,得到测试结果,包括:
通过包含所述目标主机文件和所述目标开发环境的目标容器,执行所述目标脚本,以向所述待测软件***发送测试请求,得到测试结果。
3.根据权利要求2所述的方法,其特征在于,所述通过包含所述目标主机文件和所述目标开发环境的目标容器,执行所述目标脚本,以向所述待测软件***发送测试请求,得到测试结果,包括:
启动包含所述目标开发环境的容器化镜像,得到目标容器;
在所述目标容器中加载所述目标主机文件;
在所述目标容器中拉取并执行所述目标脚本,以向所述待测软件***发送测试请求,得到测试结果。
4.根据权利要求2所述的方法,其特征在于,所述通过包含所述目标主机文件和所述目标开发环境的目标容器,执行所述目标脚本,以向所述待测软件***发送测试请求,得到测试结果,包括:
启动包含所述目标开发环境和所述目标主机文件的容器化镜像,得到目标容器;
在所述目标容器中拉取并执行所述目标脚本,以向所述待测软件***发送测试请求,得到测试结果。
5.根据权利要求2所述的方法,其特征在于,所述通过包含所述目标主机文件和所述目标开发环境的目标容器,执行所述目标脚本,以向所述待测软件***发送测试请求,得到测试结果,包括:
启动包含所述目标开发环境、所述目标主机文件以及所述目标脚本的容器化镜像,以在包含所述目标开发环境和所述目标主机文件的目标容器中执行所述目标脚本,以向所述待测软件***发送测试请求,得到测试结果。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在得到所述测试结果后,释放所述目标容器。
7.根据权利要求1所述的方法,其特征在于,在通过包含所述目标主机文件的目标容器,执行所述目标脚本,以向所述待测软件***发送测试请求,得到测试结果之后,所述方法还包括:
接收客户端发送的测试结果下载请求;
向所述客户端发送所述测试结果。
8.根据权利要求1所述的方法,其特征在于,所述通过包含所述目标主机文件的目标容器,执行所述目标脚本,以向所述待测软件***发送测试请求,得到测试结果,包括:
通过目标容器解析所述目标主机文件,得到所述待测软件***的网络地址;
基于所述网络地址,按照所述目标脚本,向所述待测软件***发送测试请求,得到测试结果。
9.一种软件***测试装置,其特征在于,所述装置包括:
测试开启指令接收模块,用于接收测试开启指令;其中,所述测试开启指令中携带有待测软件***的被测环境标识,以及用例标识;
获取模块,用于获取所述被测环境标识所表示的目标被测环境对应的主机文件,作为目标主机文件,以及获取所述用例标识所表示的目标测试用例对应的脚本,作为目标脚本;所述目标主机文件用于对所述待测软件***进行域名解析;
处理模块,用于通过包含所述目标主机文件的目标容器,执行所述目标脚本,以向所述待测软件***发送测试请求,得到测试结果。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
目标开发环境确定模块,用于在获取所述被测环境标识所表示的目标被测环境对应的主机文件,作为目标主机文件,以及获取所述用例标识所表示的目标测试用例对应的脚本,作为目标脚本之后,确定与所述目标脚本相匹配的开发环境,作为目标开发环境;
所述处理模块,具体用于通过包含所述目标主机文件和所述目标开发环境的目标容器,执行所述目标脚本,以向所述待测软件***发送测试请求,得到测试结果。
11.根据权利要求10所述的装置,其特征在于,所述处理模块,包括:
第一目标容器生成子模块,用于启动包含所述目标开发环境的容器化镜像,得到目标容器;
目标主机文件加载子模块,用于在所述目标容器中加载所述目标主机文件;
处理子模块,用于在所述目标容器中拉取并执行所述目标脚本,以向所述待测软件***发送测试请求,得到测试结果。
12.根据权利要求10所述的装置,其特征在于,所述处理模块,包括:
第二目标容器生成子模块,用于启动包含所述目标开发环境和所述目标主机文件的容器化镜像,得到目标容器;
处理子模块,用于在所述目标容器中拉取并执行所述目标脚本,以向所述待测软件***发送测试请求,得到测试结果。
13.根据权利要求10所述的装置,其特征在于,所述处理模块,具体用于启动包含所述目标开发环境、所述目标主机文件以及所述目标脚本的容器化镜像,以在包含所述目标开发环境和所述目标主机文件的目标容器中执行所述目标脚本,以向所述待测软件***发送测试请求,得到测试结果。
14.根据权利要求9所述的装置,其特征在于,所述装置还包括:
释放模块,用于在得到所述测试结果后,释放所述目标容器。
15.根据权利要求9所述的装置,其特征在于,所述装置还包括:
测试结果发送模块,用于在通过包含所述目标主机文件的目标容器,执行所述目标脚本,以向所述待测软件***发送测试请求,得到测试结果之后,接收客户端发送的测试结果下载请求;
向所述客户端发送所述测试结果。
16.根据权利要求9所述的装置,其特征在于,所述处理模块,具体用于通过目标容器解析所述目标主机文件,得到所述待测软件***的网络地址;
基于所述网络地址,按照所述目标脚本,向所述待测软件***发送测试请求,得到测试结果。
17.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1—8任一所述的方法步骤。
18.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1—8任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110554051.9A CN115373973A (zh) | 2021-05-20 | 2021-05-20 | 一种软件***测试方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110554051.9A CN115373973A (zh) | 2021-05-20 | 2021-05-20 | 一种软件***测试方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115373973A true CN115373973A (zh) | 2022-11-22 |
Family
ID=84058306
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110554051.9A Pending CN115373973A (zh) | 2021-05-20 | 2021-05-20 | 一种软件***测试方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115373973A (zh) |
-
2021
- 2021-05-20 CN CN202110554051.9A patent/CN115373973A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7877732B2 (en) | Efficient stress testing of a service oriented architecture based application | |
CN112199300B (zh) | 一种接口测试方法、装置、电子设备及存储介质 | |
CN111209202A (zh) | 终端应用测试方法和装置 | |
CN110879781B (zh) | 程序调试方法、装置、电子设备及计算机可读存储介质 | |
CN110134583B (zh) | 软件测试及数据处理方法及装置 | |
CN111654495B (zh) | 用于确定流量产生来源的方法、装置、设备及存储介质 | |
US8677339B2 (en) | Component relinking in migrations | |
CN114625645A (zh) | 业务测试方法、装置、电子设备以及可读存储介质 | |
CN112379965B (zh) | 沙盒文件映射***、客户端装置、映射端装置、沙盒文件映射方法以及电子设备 | |
CN112988589A (zh) | 一种接口测试方法、装置和*** | |
CN110677307B (zh) | 一种服务监测方法、装置、设备和存储介质 | |
CN112650689A (zh) | 测试方法、装置、电子设备及存储介质 | |
CN107239475B (zh) | 一种调用文件方法及装置 | |
CN112346981A (zh) | 联调测试覆盖率检测方法及*** | |
CN111124545A (zh) | 应用程序启动方法、装置、电子设备及存储介质 | |
CN115373973A (zh) | 一种软件***测试方法及装置 | |
CN111338928A (zh) | 基于chrome浏览器测试的方法及装置 | |
CN113590564B (zh) | 数据存储方法、装置、电子设备及存储介质 | |
CN115687129A (zh) | 一种覆盖率报告生成方法、装置、存储介质和计算机设备 | |
CN112749078B (zh) | 一种埋点测试方法和装置 | |
CN115048295A (zh) | 一种测试方法、装置、终端及计算机可读存储介质 | |
CN114500348A (zh) | 一种cdn网关测试方法及*** | |
CN115373970A (zh) | 一种软件***测试方法及装置 | |
CN115129575A (zh) | 一种代码覆盖结果生成方法及装置 | |
CN112506782A (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 |