掌桥专利:专业的专利平台
掌桥专利
首页

软件测试方法及装置、电子设备、存储介质

文献发布时间:2023-06-19 12:24:27


软件测试方法及装置、电子设备、存储介质

技术领域

本公开涉及软件测试领域,具体而言,涉及一种软件测试方法及装置、电子设备、存储介质。

背景技术

当软件功能更新时,需要在生产环境验证更新的功能是否正常,同时对线上用户不产生感知,只允许部分测试账户进行测试,以保证出现问题控制在部分测试账号中,确认无误后再发布除去限制,让所有用户能够使用到新功能。

但是,由于部分软件服务器相互调用关系复杂,按照已有方案,只能在线上所有服务器都部署一份,以达到一个完全的外网测试环境,但是这样对服务器资源消耗极大,几十上百个服务器都需要重新部署一份用于测试的环境,但是其实更新的内容并不是所有服务器都进行更新。

针对上述的问题,目前尚未提出有效的解决方案。

发明内容

本公开实施例提供了一种软件测试方法及装置、电子设备、存储介质,以至少解决现有技术中部分软件服务器相互调用关系复杂,在软件测试过程中对服务器资源的消耗极大,造成服务器资源浪费的技术问题。

根据本公开实施例的一个方面,提供了一种软件测试方法,包括:获取目标软件的待更新服务内容,其中,上述目标软件的不同服务内容分别部署在多个应用服务器上;基于上述待更新服务内容从上述多个应用服务器中选取至少一个测试服务器;将上述待更新服务内容部署至上述至少一个测试服务器,并采用上述待更新服务内容对上述至少一个测试服务器上原有服务内容进行更新;利用上述至少一个测试服务器和上述多个应用服务器中除上述至少一个测试服务器之外的其余应用服务器对上述待更新服务内容进行测试。

可选地,基于上述待更新服务内容从上述多个应用服务器中选取至少一个测试服务器包括:确定与上述待更新服务内容相关的至少一个测试服务器;从上述多个应用服务器中选取上述至少一个测试服务器。

可选地,利用上述至少一个测试服务器和上述多个应用服务器中除上述至少一个测试服务器之外的其余应用服务器对上述待更新服务内容进行测试,包括:检测是否接收到测试请求;若检测结果为是,则利用上述至少一个测试服务器和上述其余应用服务器,分别对上述待更新服务内容进行测试,得到测试结果。

可选地,在利用上述至少一个测试服务器和上述其余应用服务器,分别对上述待更新服务内容进行测试,得到测试结果之后,上述方法还包括:对上述测试结果进行标记处理,得到标记信息,其中,上述标记信息用于区分测试用户与正常用户的广播方式不同;确定与上述标记信息对应的目标广播方式;采用上述目标广播方式向测试用户广播上述测试结果。

可选地,上述方法还包括,测试用户的数据来源方式不同,且不同的测试用户之间的测试环境和测试数据不同。

可选地,上述方法还包括,上述待更新服务内容包括:一个或多个服务内容,其中,多个服务内容之间相互关联或者互不关联。

可选地,上述方法还包括,上述待更新服务内容包括以下至少之一:铭牌、横幅、公屏。

根据本公开实施例的另一方面,还提供了一种软件测试装置,包括:获取模块,用于获取目标软件的待更新服务内容,其中,上述目标软件的不同服务内容分别部署在多个应用服务器上;选取模块,用于基于上述待更新服务内容从上述多个应用服务器中选取至少一个测试服务器;更新模块,用于将上述待更新服务内容部署至上述至少一个测试服务器,并采用上述待更新服务内容对上述至少一个测试服务器上原有服务内容进行更新;测试模块,用于利用上述至少一个测试服务器和上述多个应用服务器中除上述至少一个测试服务器之外的其余应用服务器对上述待更新服务内容进行测试。

根据本公开实施例的另一方面,还提供了一种非易失性存储介质,上述非易失性存储介质包括存储的程序,其中,在上述程序运行时控制上述非易失性存储介质所在设备执行任意一项上述的软件测试方法。

根据本公开实施例的另一方面,还提供了一种电子设备,包括:存储器和处理器,上述存储器中存储有计算机程序,上述处理器被设置为运行上述计算机程序以执行任意一项上述的软件测试方法。

在本公开实施例中,通过获取目标软件的待更新服务内容,其中,目标软件的不同服务内容分别部署在多个应用服务器上;基于待更新服务内容从多个应用服务器中选取至少一个测试服务器;将待更新服务内容部署至至少一个测试服务器,并采用待更新服务内容对至少一个测试服务器上原有服务内容进行更新;利用至少一个测试服务器和多个应用服务器中除至少一个测试服务器之外的其余应用服务器对待更新服务内容进行测试,达到了简化软件服务器相互调用关系,提升软件测试效率的目的,从而实现了节省服务器资源的技术效果,进而解决了现有技术中部分软件服务器相互调用关系复杂,在软件测试过程中对服务器资源的消耗极大,造成服务器资源浪费的技术问题。

附图说明

此处所说明的附图用来提供对本公开的进一步理解,构成本公开的一部分,本公开的示意性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。在附图中:

图1是根据本公开实施例的一种软件测试方法的流程图;

图2是根据本公开实施例的一种不需要更新的普通服务器的示意图;

图3是根据本公开实施例的一种需要更新的测试服务器示意图;

图4是根据本公开实施例的一种软件更新涉及多个不关联更新的测试服务器的示意图;

图5是根据本公开实施例的一种需要更新的测试服务器的示意图;

图6是根据本公开实施例的另一种需要更新的测试服务器的示意图;

图7是根据本公开实施例的又一种需要更新的测试服务器的示意图;

图8是根据本公开实施例的一种软件测试方法装置的构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本公开方案,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分的实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本公开保护的范围。

需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

该方法实施例的技术方案可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,该移动终端可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,简称为MID)、PAD等终端设备。移动终端可以包括一个或多个处理器(处理器可以包括但不限于中央处理器(CPU)、图形处理器(GPU)、数字信号处理(DSP)芯片、微处理器(MCU)、可编程逻辑器件(FPGA)、神经网络处理器(NPU)、张量处理器(TPU)、人工智能(AI)类型处理器等的处理装置)和用于存储数据的存储器。可选地,上述移动终端还可以包括用于通信功能的传输设备、输入输出设备以及显示设备。本领域普通技术人员可以理解,上述结构描述仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比上述结构描述更多或者更少的组件,或者具有与上述结构描述不同的配置。

存储器可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本公开实施例中的软件测试方法对应的计算机程序,处理器通过运行存储在存储器内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的软件测试方法。存储器可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

传输设备用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输设备包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。该方法实施例的技术方案可以应用于各种通信系统,例如:全球移动通讯(Global System of Mobile communication,简称为GSM)系统、码分多址(Code Division Multiple Access,简称为CDMA)系统、宽带码分多址(Wideband Code Division Multiple Access,简称为WCDMA)系统、通用分组无线业务(General Packet Radio Service,简称为GPRS)、长期演进(Long Term Evolution,简称为LTE)系统、LTE频分双工(Frequency Division Duplex,简称为FDD)系统、LTE时分双工(Time Division Duplex,简称为TDD)、通用移动通信系统(Universal MobileTelecommunication System,简称为UMTS)、全球互联微波接入(WorldwideInteroperability for Microwave Access,简称为WiMAX)通信系统或5G系统等。可选地,多个移动终端之间可以进行设备到设备(Device to Device,简称为D2D)通信。可选地,5G系统或5G网络又被称为新无线(New Radio,简称为NR)系统或NR网络。

显示设备可以例如触摸屏式的液晶显示器(LCD)和触摸显示器(也被称为“触摸屏”或“触摸显示屏”)。该液晶显示器可使得用户能够与移动终端的用户界面进行交互。在一些实施例中,上述移动终端具有图形用户界面(GUI),用户可以通过触摸触敏表面上的手指接触和/或手势来与GUI进行人机交互,此处的人机交互功能可选的包括如下交互:创建网页、绘图、文字处理、制作电子文档、游戏、视频会议、即时通信、收发电子邮件、通话界面、播放数字视频、播放数字音乐和/或网络浏览等、用于执行上述人机交互功能的可执行指令被配置/存储在一个或多个处理器可执行的计算机程序产品或可读非易失性存储介质中。

根据本公开实施例,提供了一种软件测试的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

图1是根据本公开实施例的一种软件测试方法的流程图,如图1所示,该方法包括如下步骤:

步骤S102,获取目标软件的待更新服务内容,其中,上述目标软件的不同服务内容分别部署在多个应用服务器上;

步骤S104,基于上述待更新服务内容从上述多个应用服务器中选取至少一个测试服务器;

步骤S106,将上述待更新服务内容部署至上述至少一个测试服务器,并采用上述待更新服务内容对上述至少一个测试服务器上原有服务内容进行更新;

步骤S108,利用上述至少一个测试服务器和上述多个应用服务器中除上述至少一个测试服务器之外的其余应用服务器对上述待更新服务内容进行测试。

在本公开实施例中,通过获取目标软件的待更新服务内容,其中,目标软件的不同服务内容分别部署在多个应用服务器上;基于待更新服务内容从多个应用服务器中选取至少一个测试服务器;将待更新服务内容部署至至少一个测试服务器,并采用待更新服务内容对至少一个测试服务器上原有服务内容进行更新;利用至少一个测试服务器和多个应用服务器中除至少一个测试服务器之外的其余应用服务器对待更新服务内容进行测试,达到了解决外网测试环境的目的,从而实现了节省服务器资源提高测试效率的技术效果,进而解决了现有技术中部分软件服务器相互调用关系复杂,在软件测试过程中对服务器资源的消耗极大,造成服务器资源浪费的技术问题。

可选的,上述目标软件可以为手机或电脑上的某应用软件,也可以为手机或电脑上的某系统软件,还可以为某具体应用软件中部分程序,本公开实施例提供的软件测试方法可以但不限于尤其适用于多服务器上的部分软件更新场景中。

可选的,如图2所示,上述应用服务器可以是正常用户使用的不需要更新的普通服务器;如图3所示,上述测试服务器可以是测试用户使用的需要更新的测试服务器;上述测试服务器可以是多个服务器,这里的服务器不是物理上的服务器的意思,而是部署微服务的意思;将软件更新部分部署至对应的测试服务器,测试用户的请求由测试服务器和不需更新的应用服务器共同完成,节约测试所需的服务器资源;由测试数据库提供数据,测试数据库可以由测试人员随意调试而不影响正常用户。

在一种可选的实施例中,基于上述待更新服务内容从上述多个应用服务器中选取至少一个测试服务器包括:

步骤S202,确定与上述待更新服务内容相关的至少一个测试服务器;

步骤S204,从上述多个应用服务器中选取上述至少一个测试服务器。

在本公开实施例中,上述服务器涉及软件更新时,可以先确定上述待更新服务内容,然后从上述多个服务器中选取至少一个测试服务器,将软件更新部分部署至对应的测试服务器。

在一种可选的实施例中,利用上述至少一个测试服务器和上述多个应用服务器中除上述至少一个测试服务器之外的其余应用服务器对上述待更新服务内容进行测试,包括:

步骤S306,检测是否接收到测试请求;

步骤S308,若检测结果为是,则利用上述至少一个测试服务器和上述其余应用服务器,分别对上述待更新服务内容进行测试,得到测试结果。

在本公开实施例中,测试用户的请求由测试服务器和不需更新的应用服务器共同完成,节约测试所需的服务器资源;测试用户由测试数据库提供数据,测试数据库可以由测试人员随意调试,正常用户由应用数据库提供数据;若测试用户接收到测试数据,则上述待更新服务内容更新成功。

在一种可选的实施例中,在利用上述至少一个测试服务器和上述其余应用服务器,分别对上述待更新服务内容进行测试,得到测试结果之后,上述方法还包括:

步骤S402,对上述测试结果进行标记处理,得到标记信息,其中,上述标记信息用于区分测试用户与正常用户的广播方式不同;

步骤S404,确定与上述标记信息对应的目标广播方式;

步骤S406,采用上述目标广播方式向测试用户广播上述测试结果。

在本公开实施例中,上述测试用户和普通用户都是有id的;标记测试用户,即为将此用户的id加入一个白名单(test_uid:[111,2222]),服务器中每个用户连接任何服务或进行交互都需要上传用户的id,那么当服务器接收到了用户id即可以知道是否是测试用户。

在本公开实施例中,在服务器的显示中,会触发所有用户的广播,假如一个测试用户触发了一个测试数据的广播,如果不做限制的话,那么测试数据的广播会到达正式用户那边,出现测试数据外泄的事故,因此必须处理测试用户触发的广播不能到达正式用户,处理方法为,只要是从测试服务器发出的广播都进行标记,根据标记来判定是否真的需要进行全服广播,处理广播的应用便可以确定对应的目标广播方式,如果是来自于测试服务器的,那么就只进行白名单广播,这里的白名单可以理解为用户分群的白名单,只在测试服务器内广播。

在一种可选的实施例中,上述正常用户与上述测试用户的数据来源方式不同,且不同的测试用户之间的测试环境和测试数据不同。

在一种可选的实施例中,上述待更新服务内容包括:一个或多个服务内容,其中,多个服务内容之间相互关联或者互不关联。

在一种可选的实施例中,上述待更新服务内容包括以下至少之一:铭牌、横幅、公屏。

在一种可选的实施例中,当上述软件更新仅涉及一台应用服务器时,将软件更新部分部署至对应的测试服务器,测试用户的请求由测试服务器和不需更新的应用服务器共同完成,节约测试所需的服务器资源;例如:部署在铭牌、横幅、公屏三个服务器上的软件需要更新,本次更新的内容仅涉及铭牌服务器,则在测试服务器上部署铭牌服务器的内容并进行更新,由测试服务器和未变动的横幅服务器、公屏服务器共同完成测试用户的请求。

在一种可选的实施例中,如图4所示,当上述软件更新涉及多个不关联更新时,分别将软件更新部分部署至对应的测试服务器1、测试服务器2…,测试用户的请求由测试服务器和其他的应用服务器共同完成,节约测试所需的服务器资源,同时,可以提高测试效率,可以同时测试多个不关联更新,也可以比较测试多个更新的关联情况;例如:部署在铭牌、横幅、公屏三个服务器上的软件同时需要测试2个更新,更新的内容分别涉及铭牌、横幅服务,在测试服务器1上部署铭牌服务器的内容并进行更新,在测试服务器2上部署横幅服务器的内容并进行更新,由测试服务器1和未变动的横幅、公屏服务器共同完成测试用户1的请求,由测试服务器2和未变动的铭牌、公屏服务器共同完成测试用户2的请求,由测试服务器1、2和未变动公屏服务器共同完成测试用户3的请求。

在本公开实施例中,由于预先给定测试用户有标记id,测试用户由测试数据库提供数据,测试数据库可以由测试人员随意调试,正常用户由应用数据库提供数据;将测试用户设置为白名单用户,在得到测试结果之后对测试结果进行标记处理,得到标记信息,即由测试用户触发的广播标记为白名单广播,仅对白名单用户播放,正常用户触发的广播正常进行广播。

在一种可选的实施例中,采用如图5所示的微服务构架,也即微服务构架中的每一个服务是有专门的处理内容的,区分是否为关联更新的方法是在实际测试过程中,根据程序提供的协议sid来确认完成一个新增需求是否涉及多个微服务,如果只涉及1个服务,那么就是1个服务,如果涉及多个服务那么就是多服务更新的情况;可以部署多套测试环境,如图5、图6、图7所示,测试用户1可以测试针对微服务1的修改,他的测试环境只有微服务1有变化,测试用户2可以测试微服务2的变化,测试用户3可以测试微服务2、微服务3都需要共同起作用的功能测试,这套测试方法,可以轻易构建多钟测试环境,用于多种测试场景。

根据本公开实施例,还提供了一种用于实施上述软件测试方法的装置实施例,图8是根据本公开实施例的一种软件测试方法装置的构示意图,如图8所示,上述软件测试方法的装置,包括:获取模块50、选取模块52、更新模块54和测试模块56,其中:

获取模块50,用于获取目标软件的待更新服务内容,其中,上述目标软件的不同服务内容分别部署在多个应用服务器上;选取模块52,用于基于上述待更新服务内容从上述多个应用服务器中选取至少一个测试服务器;更新模块54,用于将上述待更新服务内容部署至上述至少一个测试服务器,并采用上述待更新服务内容对上述至少一个测试服务器上原有服务内容进行更新;测试模块56,用于利用上述至少一个测试服务器和上述多个应用服务器中除上述至少一个测试服务器之外的其余应用服务器对上述待更新服务内容进行测试。

需要说明的是,上述各个模块是可以通过软件或硬件来实现的,例如,对于后者,可以通过以下方式实现:上述各个模块可以位于同一处理器中;或者,上述各个模块以任意组合的方式位于不同的处理器中。

此处需要说明的是,上述获取模块50、选取模块52、更新模块54和测试模块56对应于方法实施例中的步骤S102至步骤S108,上述模块与对应的步骤所实现的实例和应用场景相同,但不限于上述方法实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在计算机终端中。

需要说明的是,本实施例的可选或优选实施方式可以参见方法实施例中的相关描述,此处不再赘述。

上述的软件测试装置还可以包括处理器和存储器,上述获取模块50、选取模块52、更新模块54和测试模块56等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。

处理器中包含内核,由内核去存储器中调取相应的程序单元,上述内核可以设置一个或以上。存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。

根据本公开实施例,还提供了一种非易失性存储介质实施例。可选地,在本实施例中,上述非易失性存储介质包括存储的程序,其中,在上述程序运行时控制上述非易失性存储介质所在设备执行上述任意一种软件测试方法。

可选地,在本实施例中,上述非易失性存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中,上述非易失性存储介质包括存储的程序。

可选地,在程序运行时控制非易失性存储介质所在设备执行以下功能:获取目标软件的待更新服务内容,其中,上述目标软件的不同服务内容分别部署在多个应用服务器上;基于上述待更新服务内容从上述多个应用服务器中选取至少一个测试服务器;将上述待更新服务内容部署至上述至少一个测试服务器,并采用上述待更新服务内容对上述至少一个测试服务器上原有服务内容进行更新;利用上述至少一个测试服务器和上述多个应用服务器中除上述至少一个测试服务器之外的其余应用服务器对上述待更新服务内容进行测试。

根据本公开实施例,还提供了一种处理器实施例。可选地,在本实施例中,上述处理器用于运行程序,其中,上述程序运行时执行上述任意一种软件测试方法。

根据本公开实施例提供了一种电子设备的实施例,包括存储器和处理器,上述存储器中存储有计算机程序,上述处理器被设置为运行上述计算机程序以执行任意一项上述的软件测试方法。

本公开还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:获取目标软件的待更新服务内容,其中,上述目标软件的不同服务内容分别部署在多个应用服务器上;基于上述待更新服务内容从上述多个应用服务器中选取至少一个测试服务器;将上述待更新服务内容部署至上述至少一个测试服务器,并采用上述待更新服务内容对上述至少一个测试服务器上原有服务内容进行更新;利用上述至少一个测试服务器和上述多个应用服务器中除上述至少一个测试服务器之外的其余应用服务器对上述待更新服务内容进行测试。

上述本公开实施例序号仅仅为了描述,不代表实施例的优劣。

在本公开的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本公开所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取非易失性存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个非易失性存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的非易失性存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅是本公开的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本公开原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本公开的保护范围。

相关技术
  • 软件测试方法、装置、电子设备及存储介质
  • 软件测试方法及装置、电子设备、存储介质
技术分类

06120113284204