测试方法、测试装置和存储介质制造方法及图纸

技术编号:22166436 阅读:31 留言:0更新日期:2019-09-21 10:22
本申请实施例中提供了一种测试方法、测试装置和存储介质,该方法包括:接收第一调用请求,其中,在对应于非测试流量的第一调用请求中以第一状态设置了预定字段,而在对应于测试流量的第一调用请求中以第二状态设置了预定字段,第二状态不同于第一状态;根据第一调用请求中的预定字段的状态调用相应线程池中的线程。采用本申请实施例中的方案,根据不同类型的调用请求调用不同的线程,从而实现了测试流量与一般流量的隔离。

Test methods, test devices and storage media

【技术实现步骤摘要】
测试方法、测试装置和存储介质本专利技术专利申请是申请号为201510574104.8,申请日为2015年9月10日,专利技术名称为“一种流量隔离方法及装置”的中国专利技术专利申请的分案申请。
本申请涉及测试技术,尤其涉及一种在测试过程中实现流量隔离的测试方法及装置。
技术介绍
生产环境是指提供服务给线上真实用户使用的计算机系统,有别于供开发和测试人员进行例如开发、测试等非生产活动使用的非生产环境。计算机系统是指提供某种服务的计算机集群系统,如,提供物品详情浏览页服务的计算机集群就称为一个计算机系统,一个计算机系统由多个应用组成。应用是组成整个计算机系统的各个子系统,比如和物品相关的物品应用,和交易相关的交易应用。应用可以直接提供服务,也可以依赖于别的应用提供的服务;各个应用通过相互依赖的调用一起完成整个计算机系统的功能。各个应用之间互相调用完成某个功能就是一个调用链路,例如,应用A调用应用B的服务,应用B为了完成该服务,又需要调用应用C的服务,这样A调用B,触发B调用C;A->B->C就是一个调用链路。用户访问系统以向计算机系统请求一个调用链路,称之为一个单位的流量。在现有技术中,为了发现生产环境中的问题,需要使非生产环境和生产环境保持高度一致,通常的做法是直接在生产环境中进行研发或测试等非生产活动。但是采用现有技术中的方案存在以下问题:非生产活动与生产活动产生的流量无法隔离,导致不同用途的流量产生交叉影响。例如,测试人员构造的测试数据和用户在使用服务时产生的数据无法区分,造成用户数据污染,还可能导致用户看到测试数据,进而产生业务纠纷或线上故障
技术实现思路
本申请实施例中提供了一种测试方法和装置,用于解决现有技术中不同用途的流量无法隔离的问题。根据本申请实施例的第一方面,提供了一种测试方法,包括:接收第一调用请求,其中,在对应于非测试流量的第一调用请求中以第一状态设置了预定字段,而在对应于测试流量的第一调用请求中以第二状态设置了预定字段,第二状态不同于第一状态;以及根据第一调用请求中的预定字段的状态调用相应线程池中的线程。可选地,在根据第一调用请求中的预定字段的状态调用相应线程池中的线程之前,还包括:创建第一线程池和第二线程池,其中,第一线程池和第二线程池对等。可选地,根据第一调用请求中的预定字段的状态调用相应线程池中的线程的步骤包括:在第一调用请求中的预定字段处于第一状态的情况下,调用第一线程池中的线程;在第一调用请求中的预定字段处于第二状态的情况下,调用第二线程池中的线程。可选地,该方法还可以包括:创建第二调用请求;根据第一调用请求中的预定字段设置第二调用请求中的相应预定字段;以及发送第二调用请求。可选地,该方法还可以包括:创建针对数据库的第三调用请求;根据第一调用请求中的预定字段设置第三调用请求中的相应预定字段;以及根据第三调用请求中的预定字段的状态将第三调用请求路由至数据库中相应的数据表。可选地,在根据第三调用请求中的预定字段的状态将第三调用请求路由至数据库中相应的数据表之前,还包括:创建第一数据表和第二数据表,其中,第二数据表为第一数据表的映射表。可选地,根据第三调用请求中的预定字段的状态将第三调用请求路由至数据库中相应的数据表的步骤包括:在第三调用请求中的预定字段处于第一状态的情况下,将第三调用请求路由至第一数据表;在第三调用请求中的预定字段处于第二状态的情况下,则将第三调用请求路由至第二数据表。可选地,第一状态为没有设置预定字段,而第二状态为设置了预定字段;或者在第一状态和第二状态下,分别为预定字段设置了不同的值。根据本申请实施例的第二方面,提供了一种测试方法,包括:接收第一调用请求,其中,在对应于非测试流量的第一调用请求中以第一状态设置了预定字段,而在对应于测试流量的第一调用请求中以第二状态设置了预定字段,第二状态不同于第一状态;创建第二调用请求;根据第一调用请求中的预定字段设置第二调用请求中的相应预定字段;以及发送第二调用请求。可选地,第一状态为没有设置预定字段,而第二状态为设置了预定字段;或者在第一状态和第二状态下,分别为预定字段设置了不同的值。根据本申请实施例的第三方面,提供了一种测试方法,包括:创建针对数据库的第三调用请求,其中,在对应于非测试流量的第三调用请求中以第一状态设置了预定字段,而在对应于测试流量的第三调用请求中以第二状态设置了预定字段,第二状态不同于第一状态;以及根据第三调用请求中的预定字段的状态将第三调用请求路由至数据库中相应的数据表。可选地,该方法还可以包括:接收第一调用请求,其中,在对应于非测试流量的第一调用请求中以第一状态设置了预定字段,而在对应于测试流量的第一调用请求中以第二状态设置了预定字段,第二状态不同于第一状态;以及根据第一调用请求中的预定字段设置第三调用请求中的相应预定字段。可选地,在根据第三调用请求中的预定字段的状态将第三调用请求路由至数据库中相应的数据表之前,还包括:创建第一数据表和第二数据表,其中,第二数据表为第一数据表的映射表。可选地,根据第三调用请求中的预定字段的状态将第三调用请求路由至数据库中相应的数据表的步骤包括:在第一调用请求中的预定字段处于第一状态的情况下,将第三调用请求路由至第一数据表;在第一调用请求中的预定字段处于第二状态的情况下,则将第三调用请求路由至第二数据表。可选地,第一状态为没有设置预定字段,而第二状态为设置了预定字段;或者在第一状态和第二状态下,分别为预定字段设置了不同的值。根据本申请实施例的第四方面,提供了一种测试装置,包括:接收模块,用于接收第一调用请求,其中,在对应于非测试流量的第一调用请求中以第一状态设置了预定字段,而在对应于测试流量的第一调用请求中以第二状态设置了预定字段,第二状态不同于第一状态;以及第一调用模块,用于根据第一调用请求中的预定字段的状态调用相应线程池中的线程。可选地,该装置还可以包括:线程创建模块,用于创建第一线程池和第二线程池,其中,第一线程池和第二线程池对等。可选地,第一调用模块包括:第一线程调用子模块,用于在第一调用请求中的预定字段处于第一状态的情况下,调用第一线程池中的线程;以及第二线程调用子模块,用于在第一调用请求中的预定字段处于第二状态的情况下,调用第二线程池中的线程。可选地,该装置还可以包括:第二调用请求创建模块,用于创建第二调用请求;第一字段设置模块,用于根据第一调用请求中的预定字段设置第二调用请求中的相应预定字段;以及发送模块,用于发送第二调用请求。可选地,该装置还可以包括:第三调用请求创建模块,用于创建针对数据库的第三调用请求;第二字段设置模块,用于根据第一调用请求中的预定字段设置第三调用请求中的相应预定字段;以及路由模块,用于根据第三调用请求中的预定字段的状态将第三调用请求路由至数据库中相应的数据表。可选地,该装置还可以包括:数据表创建模块,用于创建第一数据表和第二数据表,其中,第二数据表为第一数据表的映射表。可选地,路由模块包括:第一路由子模块,用于在第三调用请求中的预定字段处于第一状态的情况下,将第三调用请求路由至第一数据表;第二路由子模块,用于在第三调用请求中的预定字段处于第二状态的情况下,将第三调用请求路由至第二数据表。可选地,第一状态为没有设置预本文档来自技高网
...

【技术保护点】
1.一种测试方法,其特征在于,包括:接收第一调用请求,其中,在对应于非测试流量的第一调用请求中以第一状态设置了预定字段,而在对应于测试流量的第一调用请求中以第二状态设置了所述预定字段,所述第二状态不同于所述第一状态;以及根据所述第一调用请求中的预定字段的状态调用相应线程池中的线程。

【技术特征摘要】
1.一种测试方法,其特征在于,包括:接收第一调用请求,其中,在对应于非测试流量的第一调用请求中以第一状态设置了预定字段,而在对应于测试流量的第一调用请求中以第二状态设置了所述预定字段,所述第二状态不同于所述第一状态;以及根据所述第一调用请求中的预定字段的状态调用相应线程池中的线程。2.根据权利要求1所述的方法,在根据所述第一调用请求中的预定字段的状态调用相应线程池中的线程之前,还包括:创建第一线程池和第二线程池,其中,所述第一线程池和所述第二线程池对等。3.根据权利要求2所述的方法,根据所述第一调用请求中的预定字段的状态调用相应线程池中的线程的步骤包括:在所述第一调用请求中的预定字段处于第一状态的情况下,调用第一线程池中的线程;在所述第一调用请求中的预定字段处于第二状态的情况下,调用第二线程池中的线程。4.根据权利要求1所述的方法,还包括:创建第二调用请求;根据所述第一调用请求中的预定字段设置所述第二调用请求中的相应预定字段;以及发送所述第二调用请求。5.根据权利要求1所述的方法,还包括:创建针对数据库的第三调用请求;根据所述第一调用请求中的预定字段设置所述第三调用请求中的相应预定字段;以及根据所述第三调用请求中的预定字段的状态将所述第三调用请求路由至所述数据库中相应的数据表。6.根据权利要求5所述的方法,在根据所述第三调用请求中的预定字段的状态将所述第三调用请求路由至所述数据库中相应的数据表之前,还包括:创建第一数据表和第二数据表,其中,所述第二数据表为所述第一数据表的映射表。7.根据权利要求6所述的方法,根据所述第三调用请求中的预定字段的状态将所述第三调用请求路由至所述数据库中相应的数据表的步骤包括:在所述第三调用请求中的预定字段处于第一状态的情况下,将所述第三调用请求路由至第一数据表;在所述第三调用请求中的预定字段处于第二状态的情况下,则将所述第三调用请求路由至第二数据表。8.根据权利要求1至7中任一项所述的方法,其中,所述第一状态为没有设置所述预定字段,而所述第二状态为设置了所述预定字段;或者在所述第一状态和所述第二状态下,分别为所述预定字段设置了不同的值。9.一种测试方法,其特征在于,包括:接收第一调用请求,其中,在对应于非测试流量的第一调用请求中以第一状态设置了预定字段,而在对应于测试流量的第一调用请求中以第二状态设置了所述预定字段,所述第二状态不同于所述第一状态;创建第二调用请求;根据所述第一调用请求中的预定字段设置所述第二调用请求中的相应预定字段;以及发送所述第二调用请求。10.根据权利要求9所述的方法,其中,所述第一状态为没有设置所述预定字段,而所述第二状态为设置了所述预定字段;或者在所述第一状态和所述第二状态下,分别为所述预定字段设置了不同的值。11.一种测试方法,其特征在于,包括:创建针对数据库的第三调用请求,其中,在对应于非测试流量的第三调用请求中以第一状态设置了预定字段,而在对应于测试流量的第三调用请求中以第二状态设置了所述预定字段,所述第二状态不同于所述第一状态;以及根据所述第三调用请求中的预定字段的状态将所述第三调用请求路由至所述数据库中相应的数据表。12.根据权利要求11所述的方法,还包括:接收第一调用请求,其中,在对应于非测试流量的第一调用请求中以第一状态设置了预定字段,而在对应于测试流量的第一调用请求中以第二状态设置了所述预定字段,所述第二状态不同于所述第一状态;以及根据所述第一调用请求中的所述预定字段设置所述第三调用请求中的相应预定字段。13.根据权利要求11所述的方法,在根据所述第三调用请求中的预定字段的状态将所述第三调用请求路由至所述数据库中相应的数据表之前,还包括:创建第一数据表和第二数据表,其中,所述第二数据表为所述第一数据表的映射表。14.根据权利要求13所述的方法,根据所述第三调用请求中的预定字段的状态将所述第三调用请求路由至所述数据库中相应的数据表的步骤包括:在所述第一调用请求中的预定字段处于第一状态的情况下,将所述第三调用请求路由至第一数据表;在所述第一调用请求中的预定字段处于第二状态的情况下,则将所述第三调用请求路由至第二数据表。15.根据权利要求11至14中任一项所述的方法,其中所述第一状态为没有设置所述预定字段,而所述第二状态为设置了所述预定字段;或者在所述第一状态和所述第二状态下,分别为所述预定字段设置了不同的值。16.一种测试装置,其特征在于,包括:接收模块,用于接收第一调用请求,其中,在对应于非测试流量的第一调用请求中以第一状态设置了预定字段,而在对应于测试流量的第一调用请求中以第二状态设置了所述预定字段,所述第二状态不同于所述第一状态;以及第一调用模块,用于根据所述第一调用请求中的预定字段的状态调用相应线程池中的线程。17.根据权利要求16所述的装置,还包括:线程创建模块,用于创建第一线程池和第二线程池,其中,所述第一线程池和所述第二线程池对等。18.根据权利要求17所述的装置,所述第一调用模块包括:第一线程调用子模块,用于在所述第一调用请求中的预定字段处于第一状态的情况下,调用第一线程池中的线程;以及第二线程调用子模块,用于在所述...

【专利技术属性】
技术研发人员:丁宇
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

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

1