软件测试系统、方法与装置、计算机可读存储介质制造方法及图纸

技术编号:24455575 阅读:35 留言:0更新日期:2020-06-10 15:26
本公开实施例提供一种软件测试系统、方法与装置、计算机可读存储介质,该软件测试系统包括公共测试环境与多个开发环境,所述公共测试环境包括多个第一测试模块,每个所述第一测试模块前设置代理模块,每个所述开发环境包括一个或多个第二测试模块;所述代理模块用于:接收测试请求,所述测试请求携带测试标记;根据所述测试标记,调用所述第一测试模块或所述第二测试模块。由此,本公开实施例所提供的技术方案,提高了测试环境的稳定性,并提高了软件测试效率和开发效率。

Software test system, method and device, computer readable storage medium

【技术实现步骤摘要】
软件测试系统、方法与装置、计算机可读存储介质
本公开实施例涉及计算机
,尤其涉及一种软件测试系统、方法与装置、计算机可读存储介质。
技术介绍
在计算机发展早期,软件一般采取单体架构,也即,软件的所有业务处理逻辑都在一套进程中实现。单体架构软件简单且易维护,但难以适应越来越复杂的业务需求。为了支持业务上更快的迭代,软件向着微服务化发展,也就是,将单体架构拆分成一个个独立的微服务模块,并针对每个微服务模块分别进行管理、维护或测试。在对软件进行测试时,对传统的单体架构的软件进行测试的方法多种多样。但是,微服务架构的软件也面临许多挑战,例如,监控、服务发现、服务间依赖关系、配置管理、测试和调试等。在微服务架构下,对软件进行测试时,一般在一个公共的测试环境中实现。这种情况下,若存在多人同时对一个微服务模块进行开发测试的情况,则需要排队等待微服务测试环境可用,才能够进行开发测试,这既容易导致测试环境的不稳定,也极大地影响了软件整体的测试效率和开发效率。
技术实现思路
本公开实施例提供一种软件测试系统、方法与装置、计算机可读存储介质,以提高测试环境的稳定性,并提高软件测试效率和开发效率。第一方面,本公开实施例提供一种软件测试系统,包括公共测试环境与多个开发环境,所述公共测试环境包括多个第一测试模块,每个所述第一测试模块前设置代理模块,每个所述开发环境包括一个或多个第二测试模块;所述代理模块用于:接收测试请求,所述测试请求携带测试标记;根据所述测试标记,调用所述第一测试模块或所述第二测试模块。第二方面,本公开实施例提供一种软件测试方法,应用于包括公共测试环境和多个开发环境的软件测试系统,所述公共测试环境包括多个第一测试模块,每个所述第一测试模块前设置代理模块;每个所述开发环境包括一个或多个第二测试模块;所述方法应用于所述代理模块,所述方法包括:接收测试请求,所述测试请求携带测试标记;根据所述测试标记,调用所述第一测试模块或所述第二测试模块。第三方面,本公开实施例提供一种软件测试装置,包括:接收单元,用于接收测试请求,所述测试请求携带测试标记;处理单元,用于根据所述测试标记,调用所述第一测试模块或所述第二测试模块。第四方面,本公开实施例提供一种软件测试装置,包括:至少一个处理器和存储器;所述存储器存储计算机执行指令;所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上第二方面以及第二方面各种可能的设计所述的软件测试方法。第五方面,本公开实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第二方面以及第二方面各种可能的设计所述的软件测试方法。本实施例提供了一种软件测试系统、方法与装置、计算机可读存储介质,在该软件测试系统中包括一个公共测试环境与多个开发环境,公共测试环境包括多个第一测试模块及其代理模块,而开发环境可用于各开发人员开发使用,包括一个或多个第二测试模块,从而,在进行软件测试时,代理模块在接收到测试请求时,可以依据测试请求中携带的测试标记,来调用第一测试模块或第二测试模块来实现软件测试。在该软件测试系统中,各开发人员在各自的开发环境中对各测试模块进行开发处理,得到第二测试环境,可实现并行开发,有利于提高公共测试环境的稳定性,并且,提高了软件测试效率和开发效率。附图说明为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本公开实施例提供的一种软件测试系统的示意图;图2为本公开实施例提供的一种软件测试方法流程示意图;图3为本公开实施例提供的另一种软件测试方法流程示意图;图4为本公开实施例提供的另一种软件测试系统的示意图;图5为本公开实施例提供的软件测试装置的结构框图;图6为本公开实施例提供的软件测试装置的硬件结构示意图。具体实施方式为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。请参考图1,图1为本公开实施例所应用的软件测试系统的示意图。如图1所示,该软件测试系统100包括公共测试环境110和多个开发环境120。一方面,在公共测试环境110中,包括多个第一测试模块111,以及,在每个第一测试模块111之前设置有代理模块112(Proxy)。如图1中示出了M-A、M-B、M-C、M-D、M-E这5个第一测试模块111,以及,在每个第一测试模块111之前设置有代理模块,为便于说明,记为代理模块a、b、c、d、e。应当理解,第一测试模块111和代理模块112的数目相等,二者一一对应;而本公开实施例对于第一测试模块111的具体数目无特别限制,图1所示的5个第一测试模块111为示例性的一种实施例,对本公开实施例的范围不作限制。针对代理模块112和第一测试模块111的作用及处理机制,后续详述。另一方面,该软件测试系统包括多个开发环境120,每个开发环境120可以对应于一个开发人员(或用户,后续简称为用户)。示例性的,图1所示的软件开发系统中,示出了3个开发环境120,每个开发环境120各自对应于一个用户。其中,示例性的,图1具体示出了小明(用户1)的开发环境、小东(用户2)的开发环境和小红(用户3)的开发环境。应当理解,本公开实施例对于开发环境的数目无特别限定。基于软件测试系统的前述设计,各用户可以在各自的开发环境中对测试模块进行开发和测试。本公开实施例中,将开发环境中的测试模块称为第二测试模块121。换言之,第二测试模块121是用户在开发环境中自行开发或设计的测试模块。实际实现场景中,第二测试模块121可以是用户对第一测试模块111进行开发处理后得到的,或者,第二测试模块121也可以是用户对第二测试模块122进行进一步开发处理后得到的,或者,第二测试模块121也可以是用户独创编写的,本公开实施例对此无特别限定。此外,本公开实施例对于开发环境中所包含的第二测试模块的数目无特别限定。具体而言,在任意一个开发环境中,第二测试模块的数目可以为一个或者多个。如图1所示,在小红的开发环境中,仅包含一个第二测试模块(图1中记为M-C-小红);在小明的开发环境中,包括两个第二测试模块,分别为M-B-小明和M-D-小明。在前述软件测试系统中,测试模块(包括第一测试模块与第二测试模块)中的数据处理方式(测试方式)可以由用户自定义编写并配置,本公开实施本文档来自技高网...

【技术保护点】
1.一种软件测试系统,其特征在于,包括公共测试环境与多个开发环境,所述公共测试环境包括多个第一测试模块,每个所述第一测试模块前设置代理模块,每个所述开发环境包括一个或多个第二测试模块;所述代理模块用于:/n接收测试请求,所述测试请求携带测试标记;/n根据所述测试标记,调用所述第一测试模块或所述第二测试模块。/n

【技术特征摘要】
1.一种软件测试系统,其特征在于,包括公共测试环境与多个开发环境,所述公共测试环境包括多个第一测试模块,每个所述第一测试模块前设置代理模块,每个所述开发环境包括一个或多个第二测试模块;所述代理模块用于:
接收测试请求,所述测试请求携带测试标记;
根据所述测试标记,调用所述第一测试模块或所述第二测试模块。


2.根据权利要求1所述的系统,其特征在于,所述代理模块,具体用于:
在预设的流量转发路径中,获取所述测试标记对应的目标路径;
基于所述目标路径,调用所述第一测试模块或所述第二测试模块。


3.根据权利要求2所述的系统,其特征在于,所述代理模块,还用于:
轮询存储器,并获取所述存储器中存储的流量转发路径。


4.根据权利要求3所述的系统,其特征在于,所述存储器为高可用的分部署存储器ETCD。


5.根据权利要求1-4任一项所述的系统,其特征在于,所述测试请求来自于用户或上一个测试模块;
所述上一个测试模块为上一个第一测试模块或上一个第二测试模块。


6.根据权利要求1-4任一项所述的系统,其特征在于,所述测试标记包括:颜色标记、字符标记、字段标记中的一种或多种。


7.根据权利要求1-4任一项所述的系统,其特征在于,所述测试标记携带于所述测试请求的新增字段;
所述新增字段位于所述测试请求的头部;或者,位于所述测试请求中的指定字段。


8.根据权利要求1-4任一项所述的系统,其特征在于,所述测试请求为HTTP协议请求或者Thirft协议请求。


9.一种软件测试方法,其特征在于,应用于包括公共测试环境和多个开发环境的软件测试系统,所述公共测试环境包括多个第一测试模块,每个所述第一测试模块前设置代理模块;每个所述开发环境包括一个或多个第二测试模块;所述方法应用于所述代理模块,所述方法包括:
接收测试请求,所述测试请求携带测试标记;
根据所述测试标记,调用所述第一测试模块或所述第二测试模块。
...

【专利技术属性】
技术研发人员:颜伟志
申请(专利权)人:北京字节跳动网络技术有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1