CN106484610B - 一种Beta测试方法和装置 - Google Patents
一种Beta测试方法和装置 Download PDFInfo
- Publication number
- CN106484610B CN106484610B CN201510556877.3A CN201510556877A CN106484610B CN 106484610 B CN106484610 B CN 106484610B CN 201510556877 A CN201510556877 A CN 201510556877A CN 106484610 B CN106484610 B CN 106484610B
- Authority
- CN
- China
- Prior art keywords
- user
- beta
- environment
- line
- request
- 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.)
- Active
Links
Landscapes
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Abstract
本申请提供了一种Beta测试方法和装置。其中,所述方法包括:根据用户与线上环境之间的线上真实数据流量,截取线上实际发生的用户请求,所述截取操作不影响所述线上真实数据流量;所述线上环境是指面向用户的由已发布软件版本构成的软件环境;提取所述线上环境对已截取的所述用户请求进行处理得到的相关数据,所述提取操作不影响所述线上真实数据流量;将所述线上环境已截取的所述用户请求发送给Beta环境;以所述用户请求为输入,获取所述Beta环境对所述用户请求进行处理得到的相关数据;比对所述线上环境和所述Beta环境对所述用户请求分别进行处理得到的各自的相关数据,将比对结果作为对所述待测试软件版本做出评测的依据。
Description
技术领域
本申请涉及互联网领域,尤其涉及一种基于软件版本发布的Beta测试方法和装置。
背景技术
随着互联网的高速发展,尤其是移动互联网的高速发展,人们借助互联网进行的活动种类越来越多样化,并且与实现这些活动对应的软件所面向的用户界面,不仅包括与台式机、笔记本相应的传统操作系统,还包括与多种型号移动设备相应的操作系统,各种软件针对不同的操作系统和设备需要完善和新增各方面的用户体验,从而导致软件频繁的被优化,每次优化后需发布该软件相对于线上面向用户的已发布版本的更高版本。在发布更高版本的软件前,需要针对待发布的软件版本进行相应的测试活动。另外,人们借助互联网进行的活动中还包括借助网络进行交易的此类注重隐私、安全性和时效性的活动,必须保证待发布的软件版本经过相应的测试活动后零错误及零缺陷交付。基于上述背景,如何在短时间内保证待发布的软件版本的测试质量已经成为软件开发过程中至关重要的环节。
在现有技术中,保证待发布的软件版本的测试质量是指基于软件版本发布而进行的产品级测试,偏向于模拟真实环境的场景测试或具有破坏性的可靠性测试,从而站在用户的角度验证该软件的功能、性能,以及可靠性和健壮性。常规的产品级测试手段包括:组织开发人员或测试人员进行测试点和测试用例设计,从而在线下模拟线上真实的场景对软件进行公司内部测试;或者,组织特定的用户,通过让这部分用户试用待发布的软件版本,对软件进行Beta在线测试。
如上所述的常规的产品级测试方法,有以下缺点:
1、真实场景下一个用户请求涉及成百上千个进程的调用,处理过程复杂。组织开发人员或测试人员进行内部测试时,若要使测试用例覆盖一个用户请求处理过程中涉及的全部分支难度很大,因此无法遍历所有的真实场景或无法进行复杂的场景测试,从而不能保证功能和性能测试的充分性,以及软件的可靠性和健壮性;组织特定的用户进行线上测试时,由于受被组织的用户规模和测试时间的限制,也不能保证功能和性能测试的充分性,以及软件的可靠性和健壮性。
2、组织特定的用户对软件进行在线测试,如果软件存在错误或缺陷,则会影响线上真实数据流量,从而影响线上业务,甚至可能会导致网站或应用瘫痪;特别是错误或缺陷涉及到借助网络进行交易活动中的核心交易链路的话,会危及用户的隐私,或交易的安全性和时效性,进而造成用户的资金损失或相关的法律纠纷,若这种损失是不可挽回或不可追溯的,则会严重影响软件的信任度。
3、组织开发人员或测试人员进行内部测试时,设计测试点和测试用例所花费的人力多、时间长,导致测试活动成本高;加之移动应用涉及的设备种类繁多,进一步使测试活动成本增加。
4、不管是组织开发人员或测试人员进行内部测试,还是组织特定的用户进行在线测试,都需要通过人工设置预期结果的方法来对测试结果是否正确进行判断,并通过某种方式获得测试数据,再通过测试数据进行问题的定位;尤其是组织开发人员或测试人员进行内部测试,需要人为的设计测试点和测试用例。因此整个测试过程自动化程度不高,且不利于错误或缺陷的复现和回归验证,从而导致测试效率低,延长软件新版本的上线周期。
5、在预期测试结果时,可能只针对用户请求处理过程的某些位置设置了预期结果,但其它没有设置预期结果的位置发生错误并不能反映出来,从而产生误测。
发明内容
本申请提供一种Beta测试方法和装置,以解决现有的常规产品级测试方法不能保证功能和性能测试的充分性、不能保证软件的可靠性和健壮性、影响线上业务、测试活动成本高、测试效率低,以及存在误测的问题。
为解决上述技术问题,本申请提供的Beta测试方法,包括:
根据用户与线上环境之间的线上真实数据流量,截取线上实际发生的用户请求,所述截取操作不影响所述线上真实数据流量;所述线上环境是指面向用户的由已发布软件版本构成的软件环境;
提取所述线上环境对已截取的所述用户请求进行处理得到的相关数据,所述提取操作不影响所述线上真实数据流量;
将所述线上环境已截取的所述用户请求发送给Beta环境,所述Beta环境是指以与所述已发布软件版本相对应的待测试软件版本为核心构成的软件环境;
以所述用户请求为输入,获取所述Beta环境对所述用户请求进行处理得到的相关数据;
比对所述线上环境和所述Beta环境对所述用户请求分别进行处理得到的各自的相关数据,将比对结果作为对所述待测试软件版本做出评测的依据。
可选的,所述根据用户与线上环境之间的线上真实数据流量,截取线上实际发生的用户请求,具体是指从所述线上真实数据流量中按预先设置的截取百分比,对实际发生的用户请求截取相应百分比的测试样本。
可选的,所述从所述线上真实数据流量中按预先设置的截取百分比,对实际发生的用户请求截取相应百分比的测试样本,以如下步骤实现:
根据所述待测试软件版本的修改状况,设置截取百分比,所述截取百分比范围是≥0,且≤100%;
设置一个随机函数,所述随机函数以已设置的所述截取百分比的概率返回1;
所述线上环境每接收一次所述用户请求,同时调用所述随机函数;
判断所述随机函数返回值,若所述返回值不是1,则不进行截取,若所述返回值是1,则对所述用户请求进行截取。
优选的,所述提取所述线上环境对已截取的所述用户请求进行处理得到的相关数据的步骤中,所述相关数据包括:
所述线上环境返回给用户的线上返回响应、以及对所述用户请求处理过程中涉及调用的多个业务逻辑单元产生的中间消息;所述中间消息包括:所述线上环境内部的相关业务逻辑单元的输入请求和输出响应、所述线上环境依赖的外部业务逻辑单元的输入请求和输出响应、以及所述线上环境对其依赖的数据库的命令或输入请求和所述数据库的返回响应;
相应的,所述获取所述Beta环境对所述用户请求进行处理得到的相关数据的步骤中,所述相关数据包括:
所述Beta环境返回给用户的Beta返回响应、以及所述Beta环境对所述用户请求处理过程中涉及调用的多个业务逻辑单元产生的中间消息。
可选的,所述提取所述线上环境对已截取的所述用户请求进行处理得到的相关数据的步骤中,具体提取操作包括:
为所述用户请求设置Beta预测试标记,所述Beta预测试标记在所述用户请求调用各业务逻辑单元时会作为变量被传递到当前业务逻辑单元的当前调用中;该Beta预测试标记用于在处理所述用户请求的整个调用链中,标识由当前调用得到的相关数据随所述用户请求共同为所述Beta测试提供测试数据;
对所述用户请求处理过程的完整调用链路实施监测;
当所述用户请求处理至各业务逻辑单元时,判断各业务逻辑单元的当前调用是否包含所述Beta预测试标记;
若判断结果为是,则将监测到的与所述用户请求处理相关的信息与所述用户请求对应并生成该用户请求专有的线上监测数据;所述线上监测数据至少包括所述用户请求、所述中间消息和所述线上返回响应,由此构成所述Beta测试的一个测试样本;该测试样本即为所述线上环境对已截取的所述用户请求进行处理得到的相关数据。
优选的,所述获取所述Beta环境对所述用户请求进行处理得到的相关数据,包括:
对所述Beta环境进行配置,配置的内容为使所述Beta环境对所述用户请求的处理不影响所述线上真实数据流量;
提取所述Beta环境对所述用户请求进行处理得到的相关数据。
可选的,所述提取所述Beta环境对所述用户请求进行处理得到的相关数据的步骤中,具体提取操作包括:
为所述用户请求设置Beta测试标记,所述Beta测试标记在所述用户请求调用各业务逻辑单元时会作为变量被传递到当前业务逻辑单元的当前调用中;该Beta测试标记用于在处理所述用户请求的整个调用链中,标识由当前调用得到的相关数据随所述用户请求共同作为所述Beta测试的相关测试结果数据;
对所述用户请求处理过程的完整调用链路实施监测;
当所述用户请求处理至各业务逻辑单元时,判断各业务逻辑单元的当前调用是否包含所述Beta测试标记;
若判断结果为是,则将监测到的与所述用户请求处理相关的信息与所述用户请求对应并生成该用户请求专有的Beta监测数据;所述Beta监测数据至少包括所述用户请求、所述中间消息和所述Beta返回响应,由此构成所述Beta测试的一个测试结果数据;该测试结果数据即为所述Beta环境对所述用户请求进行处理得到的相关数据。
可选的,所述对所述用户请求处理过程的完整调用链路实施监测的步骤中,监测的具体结果通过储存有相应监测日志的日志文件来呈现,具体监测步骤包括:
为所述用户请求分配能够标识该用户请求的调用链ID,所述调用链ID在所述用户请求调用各业务逻辑单元时会作为变量被传递到当前业务逻辑单元的当前调用中;
当所述用户请求处理至各业务逻辑单元时,当前业务逻辑单元生成标识当前业务逻辑单元及当前调用关系的跟踪ID;
将所述调用链ID、所述跟踪ID,以及所述跟踪ID所指示的业务逻辑单元的输入请求、输出响应等所述用户请求处理过程中的中间消息对应,并生成与调用当前业务逻辑单元相应的监测日志;该监测日志写入预先生成的该软件专有的用于储存监测日志的日志文件中;
将所述调用链ID与所述用户请求、所述用户请求对应的线上返回响应或Beta返回响应对应,并生成与所述用户请求及其响应相应的监测日志;将该监测日志写入所述日志文件。
优选的,在执行所述将所述线上环境已截取的所述用户请求发送给Beta环境的步骤的同时,将所述线上环境已提取的所述中间消息发送给所述Beta环境;
所述对所述Beta环境进行配置,配置的内容为使所述Beta环境对所述用户请求的处理不影响所述线上真实数据流量,具体是指若所述用户请求的处理需依赖外部业务逻辑单元或数据库的调用,则在所述用户请求的处理过程中不对当前处理依赖的外部业务逻辑单元或数据库实施远程调用,而是执行以下步骤:
所述Beta环境接收从所述线上环境获取的所述中间消息;
根据所述中间消息获取与当前调用相应的外部业务逻辑单元的输出响应或与当前调用相应的数据库的返回响应;
调用已获取的所述输出响应或所述返回响应。
可选的,所述将所述线上环境已截取的所述用户请求发送给Beta环境,以及所述将所述线上环境已提取的所述中间消息发送给所述Beta环境,均基于预设的异步消息系统,将所述用户请求及所述中间消息以异步消息的方式发送给所述Beta环境。
可选的,所述比对所述线上环境和所述Beta环境对所述用户请求分别进行处理得到的各自的相关数据,将比对结果作为对所述待测试软件版本做出评测的依据,包括:
比对所述用户请求对应的所述线上返回响应和所述Beta返回响应;以及,
比对所述线上环境与所述Beta环境分别对所述用户请求进行处理的过程中,各相应业务逻辑单元产生的中间消息;
生成比对结果日志作为所述比对结果,据该结果对所述待测试软件版本做出评测。
可选的,在所述比对所述线上环境和所述Beta环境对所述用户请求分别进行处理得到的各自的相关数据,将比对结果作为对所述待测试软件版本做出评测的依据的步骤之前,执行以下步骤:
根据所述待测试软件版本的修改状况设置过滤条件,所述过滤条件用于过滤对本次Beta测试而言不需要关注的测试数据;
在从所述线上环境得到的所述相关数据和从所述Beta环境得到的所述相关数据中,将满足所述过滤条件的数据滤除不进行比对。
可选的,所述过滤条件,包括:
设置非关注特性集合,所述非关注特性集合包含本次Beta测试中不需要关注的特性;和/或
设置某些特性的限定条件,所述某些特性的限定条件是指所述特性取值满足所述限定条件时,相应的测试数据不需要被关注。
可选的,所述Beta测试方法应用于包含一个或多个移动应用APP的平台系统中;所述平台系统中每个APP的线上环境对应一个或多个Beta环境,每个所述Beta环境分别指以与所述已发布软件版本相对应的某个待测试软件版本为核心构成的软件环境;所述APP的线上环境与其对应的一个或多个Beta环境通过预先设定的异步消息系统进行数据的传递。
相应的,本申请还提供一种Beta测试装置,包括:
线上用户请求截取单元,用于根据用户与线上环境之间的线上真实数据流量,截取线上实际发生的用户请求,所述截取操作不影响所述线上真实数据流量;所述线上环境是指面向用户的由已发布软件版本构成的软件环境;
线上相关数据提取单元,用于提取所述线上环境对已截取的所述用户请求进行处理得到的相关数据,所述提取操作不影响所述线上真实数据流量;
数据发送单元,用于将所述线上环境已截取的所述用户请求发送给Beta环境,所述Beta环境是指以与所述已发布软件版本相对应的待测试软件版本为核心构成的软件环境;
Beta相关数据获取单元,用于以所述用户请求为输入,获取所述Beta环境对所述用户请求进行处理得到的相关数据;
测试评测单元,用于比对所述线上环境和所述Beta环境对所述用户请求分别进行处理得到的各自的相关数据,将比对结果作为对所述待测试软件版本做出评测的依据。
可选的,所述线上相关数据提取单元,包括:
Beta预测试标记设置子单元,用于为所述用户请求设置Beta预测试标记,所述Beta预测试标记在所述用户请求调用各业务逻辑单元时会作为变量被传递到当前业务逻辑单元的当前调用中;该Beta预测试标记用于在处理所述用户请求的整个调用链中,标识由当前调用得到的相关数据随所述用户请求共同为所述Beta测试提供测试数据;
线上用户请求处理监测子单元,用于对所述用户请求处理过程的完整调用链路实施监测;
线上相关数据提取子单元,用于当所述用户请求处理至各业务逻辑单元时,判断各业务逻辑单元的当前调用是否包含所述Beta预测试标记;若判断结果为是,则将监测到的与所述用户请求处理相关的信息与所述用户请求对应并生成该用户请求专有的线上监测数据;所述线上监测数据至少包括所述用户请求、所述中间消息和所述线上返回响应,由此构成所述Beta测试的一个测试样本;该测试样本即为所述线上环境对已截取的所述用户请求进行处理得到的相关数据。
优选的,所述Beta相关数据获取单元包括:
Beta环境配置子单元,用于对所述Beta环境进行配置,配置的内容为使所述Beta环境对所述用户请求的处理不影响所述线上真实数据流量;
Beta相关数据提取子单元,用于提取所述Beta环境对所述用户请求进行处理得到的相关数据。
可选的,所述Beta相关数据提取子单元包括:
Beta测试标记设置子单元,用于为所述用户请求设置Beta测试标记,所述Beta测试标记在所述用户请求调用各业务逻辑单元时会作为变量被传递到当前业务逻辑单元的当前调用中;该Beta测试标记用于在处理所述用户请求的整个调用链中,标识由当前调用得到的相关数据随所述用户请求共同作为所述Beta测试的相关测试结果数据;
Beta用户请求处理监测子单元,用于对所述用户请求处理过程的完整调用链路实施监测;
提取子单元,用于当所述用户请求处理至各业务逻辑单元时,判断各业务逻辑单元的当前调用是否包含所述Beta测试标记;若判断结果为是,则将监测到的与所述用户请求处理相关的信息与所述用户请求对应并生成该用户请求专有的Beta监测数据;所述Beta监测数据至少包括所述用户请求、所述中间消息和所述Beta返回响应,由此构成所述Beta测试的一个测试结果数据;该测试结果数据即为所述Beta环境对所述用户请求进行处理得到的相关数据。
优选的,所述数据发送单元用于将所述线上环境已截取的所述用户请求发送给Beta环境的同时,还用于将所述线上环境已提取的所述相关数据中的中间消息发送给所述Beta环境。
相应的,本申请还提供一种电子设备,包括:
显示器;
处理器;以及
存储器,所述存储器被配置成存储Beta测试装置,所述Beta测试装置被所述处理器执行时,执行如下步骤:
根据用户与线上环境之间的线上真实数据流量,截取线上实际发生的用户请求,所述截取操作不影响所述线上真实数据流量;所述线上环境是指面向用户的由已发布软件版本构成的软件环境;
提取所述线上环境对已截取的所述用户请求进行处理得到的相关数据,所述提取操作不影响所述线上真实数据流量;
将所述线上环境已截取的所述用户请求发送给Beta环境,所述Beta环境是指以与所述已发布软件版本相对应的待测试软件版本为核心构成的软件环境;
以所述用户请求为输入,获取所述Beta环境对所述用户请求进行处理得到的相关数据;
比对所述线上环境和所述Beta环境对所述用户请求分别进行处理得到的各自的相关数据,将比对结果作为对所述待测试软件版本做出评测的依据。
本申请提供的Beta测试方法,首先根据用户与线上环境之间的线上真实数据流量,截取线上实际发生的用户请求,以及提取线上环境对该些用户请求进行处理得到的相关数据;其次将已截取的用户请求发送给Beta环境,Beta环境以接收到的用户请求为输入,获取Beta环境对该些用户请求进行处理得到的相关数据;最后,比对线上环境和Beta环境对用户请求分别进行处理得到的各自的相关数据,并将此比对结果作为对待测试软件版本做出评测的依据。如上所述Beta测试方法中,线上环境是指面向用户的由已发布软件版本构成的软件环境;Beta环境是指将与已发布软件版本相对应的待发布的软件版本作为待测试版本,以此待测试软件版本为核心构成的软件环境。
首先,这种Beta测试方法的测试样本均通过线上的真实数据流量获取,由此获取的测试样本随机性大,不仅能够获取用户与软件交互的真实场景,而且只要获取的方法适当,就能得到足够丰富的测试样本,从而保证功能和性能测试的充分性、保证软件的可靠性和健壮性,使待测试软件版本在交付前把错误和缺陷排除掉。其次,由于通过线上真实数据流量获取包含用户请求在内的测试样本的操作,不影响线上真实数据流量,且后续的测试在Beta环境上进行,在整个测试过程中线上环境与Beta环境、线上真实数据流量与Beta测试数据流量均处于相隔离状态,因此本申请的Beta测试方法在不影响线上业务的情况下模拟了用户和软件进行交互的场景。再次,本申请的Beta测试方法,不需要人工设计测试用例,不需要针对不同的设备组织不同的测试,不需要人工设置判断测试结果是否正确的条件,可以自动将测试异常的相关数据记录下来,而且通过再次发起已截取的包含用户请求在内的测试样本就能够复现测试异常所反映的错误或缺陷,同时能够对错误或缺陷进行回归测试,从而整个测试过程自动化程度较高,测试效率较高,缩短了软件新版本的上线周期。最后,本申请的Beta测试方法记录了用户请求涉及的各业务逻辑单元的中间消息,不仅方便了对错误或缺陷原因的定位,还能够自动比对相应的中间消息,从而不仅能记录用户请求对应的返回响应异常,还能记录相应的测试过程中产生的中间消息异常,使测试结果更加准确,避免误测。
附图说明
图1是本申请第一实施例提供的Beta测试方法的流程示意图。
图2是第一实施例中提取线上环境相关数据的步骤的具体实施方式的流程图。
图3是第一实施例中获取Beta环境相关数据的步骤的具体实施方式的流程图。
图4是第一实施例中提取Beta环境相关数据的步骤的具体实施方式的流程图。
图5是本申请第二实施例提供的Beta测试装置的示意图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
在本申请中,分别提供了一种Beta测试方法和装置,在下面的实施例中逐一进行详细说明。
请参考图1,其为本申请第一实施例提供的Beta测试方法的流程示意图。所述方法包括如下步骤:
步骤101:根据用户与线上环境之间的线上真实数据流量,截取线上实际发生的用户请求,所述截取操作不影响所述线上真实数据流量;所述线上环境是指面向用户的由已发布软件版本构成的软件环境。
本实施例的方法,主要涉及基于软件版本发布所进行的产品级测试的领域。测试工作中最重要的意义是能够提前发现并改正测试对象的错误或缺陷,若能模拟、甚至是再现真实环境的场景进行测试,必然能使软件的功能、性能、可靠性、健壮性得到更充分的测试。因此,在实施本方法时,首先要得到一个能够模拟或再现真实应用场景的测试样本,具体来说是根据用户与线上环境之间的线上真实数据流量,截取线上实际发生的用户请求。
通常,在一个较短的时间段里,线上真实数据流量所包含的用户请求数量非常多,而这些用户请求由不同用户发起,请求的目的既随机多样,又会有部分重复。若截取的测试样本太少会导致测试不充分,若截取的测试样本太多又会导致测试结果分析困难,因此在本实施例中,步骤101采用以下方法截取线上实际发生的用户请求,所截取的用户请求数量可以由测试人员指定:
从所述线上真实数据流量中按预先设置的截取百分比,对实际发生的用户请求截取相应百分比的测试样本,具体执行步骤为:
1)根据所述待测试软件版本的修改状况,设置截取百分比,所述截取百分比范围是≥0,且≤100%。
在实际情况下,同一款软件会有不同的主版本,各主版本下又包含子版本,主版本是对功能修改相对较大的版本,子版本主要是完善修复上一个版本的缺陷。测试开始时,将本次待发布的软件版本作为待测试软件版本,若当前待测试软件版本为主版本,则说明其修改相对较大,若当前待测试软件版本为子版本,则说明其修改相对较小。因此根据所述待测试软件版本是主版本还是子版本,设置一个合适的截取百分比,由该截取百分比控制需截取的用户请求数量。实际测试时,测试者也可以针对待测试软件版本的实际修改状况,决定截取百分比的数值大小,但该截取百分比的范围必须是≥0,且≤100%。当截取百分比设置为0时,表示对线上真实数据流量不进行截取,即线上环境正常运行但不进行所述Beta测试。
2)设置一个随机函数,所述随机函数以已设置的所述截取百分比的概率返回1。
3)所述线上环境每接收一次所述用户请求,同时调用所述随机函数。
4)判断所述随机函数返回值,若所述返回值不是1,则不进行截取,若所述返回值是1,则对所述用户请求进行截取。
如上所述,设置的随机函数以已设置的截取百分比的概率返回1,那么当前用户请求被截取的概率就是已设置的截取百分比的具体值。总的来看,就达到了从所述线上真实数据流量中按预先设置的截取百分比,对实际发生的用户请求截取相应百分比的测试样本的效果。只要设置合适的截取百分比,就能得到充足的测试样本,从而将待测试软件版本中的错误和缺陷尽可能充分的暴露。
对本实施例而言,所述软件是基于面向对象的语言实现的,在用户与所述线上环境之间交互时,线上环境是以Request对象形式接收用户请求,以及以Response对象形式发送返回响应的;各业务逻辑单元之间的信息传递也是以Request对象、Response对象的形式作为输入请求和输出响应的。
以上是本实施例对步骤101的具体实施,另外,如上所述的截取操作,仅是将已截取的用户请求选中作为所述Beta测试的测试样本,并不会影响线上环境对线上真实数据流量中的实际发生的用户请求的处理。
步骤102:提取所述线上环境对已截取的所述用户请求进行处理得到的相关数据,所述提取操作不影响所述线上真实数据流量。
在步骤101中,已经截取了线上一定数量的用户请求,即选中了线上一定数量的用户请求作为所述Beta测试的测试样本,步骤102继续提取线上环境对已截取的所述用户请求进行处理得到的相关数据。
一个用户请求的处理,往往包含多级业务逻辑单元的调用,这些业务逻辑单元在软件中,可以是一个进程、子进程,或者是一个线程,又或者是一个储存有相关数据的数据库。在线上环境中,用户请求通过这些进程或线程间的相互调用,以及进程或线程对数据库的调用,获得与该用户请求相应的返回给用户的线上返回响应。在用户请求的处理过程中,各进程、线程、数据库会产生各自输入、输出的中间消息,以及能反映相互间调用关系的中间消息,通过提取这些用户请求处理过程中的中间消息,就能获得该用户请求处理过程的完整调用链路中各个业务逻辑单元的调用关系和各级调用的详细过程。
所谓相关数据包括:如上所述的线上环境返回给用户的线上返回响应、以及对所述用户请求处理过程中涉及调用的多个业务逻辑单元产生的中间消息。
如上所述的业务逻辑单元,一部分是软件版本内部的相关业务逻辑单元,即内部的进程或线程,一部分是软件版本所依赖的外部业务逻辑单元,即外部软件的进程或线程,另一部分是软件版本所依赖的数据库。相应的,如上所述的中间消息包括:所述线上环境内部的相关业务逻辑单元的输入请求和输出响应、所述线上环境依赖的外部业务逻辑单元的输入请求和输出响应、以及所述线上环境对其依赖的数据库的命令或输入请求和所述数据库的返回响应。
在本实施例中,提取操作是在不影响所述线上真实数据流量的前提下实施的,图2是上述提取线上环境相关数据的步骤的具体实施方式的流程图,具体步骤是:
步骤201:为所述用户请求设置Beta预测试标记,所述Beta预测试标记在所述用户请求调用各业务逻辑单元时会作为变量被传递到当前业务逻辑单元的当前调用中;该Beta预测试标记用于在处理所述用户请求的整个调用链中,标识由当前调用得到的相关数据随所述用户请求共同为所述Beta测试提供测试数据。
在本实施例中,具体是提取步骤101中已截取的用户请求处理过程中的相关数据,因此在步骤101中已截取的用户请求对应的各Request对象里,分别设置Beta预测试标记变量。该Beta预测试标记变量在其所属的用户请求调用各业务逻辑单元时会作为变量被传递到被调用的各业务逻辑单元中。具体来说,例如在已截取的用户请求对应的各Request对象里,分别设置一个叫PreBeta的变量,同时将该变量的值设为1,并把该Beta预测试标记变量,即PreBeta,传递到被调用的各进程、线程、数据库的Request对象中,从而使各业务逻辑单元被调用的过程中,产生的所有中间消息都携带该Beta预测试标记变量。
步骤202:对所述用户请求处理过程的完整调用链路实施监测。
对所述用户请求处理过程的完整调用链路实施监测的目的是通过监测获取线上环境对所述用户请求进行处理得到的相关数据。在现有技术中有很多方法能够实现这一目的,本实施例采用如下步骤实现监测:
1)为所述用户请求分配能够标识该用户请求的调用链ID,所述调用链ID在所述用户请求调用各业务逻辑单元时会作为变量被传递到当前业务逻辑单元的当前调用中。可以根据当前用户请求发生的时间与当前用户请求对应的Request对象的对象名称,生成调用链ID,该调用链ID与当前用户请求是唯一对应的。
2)当所述用户请求处理至各业务逻辑单元时,当前业务逻辑单元生成标识当前业务逻辑单元及当前调用关系的跟踪ID。
可以根据当前调用发生的时间,和与当前调用对应的进程、线程或数据库名称生成跟踪ID,并随该跟踪ID设置存储当前调用所属的调用链ID、当前调用层次的变量,从而根据跟踪ID能够唯一标识业务逻辑单元的当前调用,并根据跟踪ID建立当前调用所属的用户请求处理过程的整个调用链关系。
3)将所述调用链ID、所述跟踪ID,以及所述跟踪ID所指示的业务逻辑单元的输入请求、输出响应等所述用户请求处理过程中的中间消息对应,并生成与调用当前业务逻辑单元相应的监测日志;该监测日志写入预先生成的该软件专有的用于储存监测日志的日志文件中。
在步骤202中,监测的具体结果通过储存有相应监测日志的日志文件来呈现,所述用户请求处理过程中调用的各业务逻辑单元结束各自的处理时,需要将各业务逻辑单元在处理过程中产生的中间消息作为监测日志储存到日志文件中,以便日后查看。
储存的格式为:将所述调用链ID、所述跟踪ID,以及所述跟踪ID所指示的业务逻辑单元的输入请求、输出响应等所述用户请求处理过程中的中间消息对应,从而生成相应的监测日志。如上所述,根据跟踪ID能够唯一标识业务逻辑单元的当前调用,因此,根据该监测日志能够找到所述用户请求在软件中执行的具体时间、各业务逻辑单元的调用位置顺序和嵌套层次关系,以及详细处理过程。
生成的与调用当前业务逻辑单元相应的监测日志中,除了上述中间消息,还可以包括当前业务逻辑单元内部的函数运行的相关信息或运行错误信息等,从而进行全流程的跟踪监测,为错误或缺陷原因的定位提供了依据。
4)将所述调用链ID与所述用户请求、所述用户请求对应的线上返回响应或Beta返回响应对应,并生成与所述用户请求及其响应相应的监测日志;将该监测日志写入所述日志文件。
当前用户请求处理完毕时,将所述调用链ID与所述用户请求、所述用户请求对应的返回响应对应,从而生成包含所述用户请求及其返回响应的监测日志,并将该监测日志储存到日志文件中,以便日后查看。如前所述调用链ID与当前用户请求是唯一对应的,从而根据该监测日志能够找到所述用户请求的处理结果数据。
在本实施例中,本步骤中具体的监测内容至少包括如下内容:
监测所述用户请求处理涉及的所述线上环境内部进程或线程的输入请求的Request对象与输出响应的Response对象,并生成和储存相应监测日志;
监测所述用户请求处理涉及的所述线上环境依赖的外部进程或线程的输入请求的Request和输出响应的Response对象,并生成和储存相应监测日志;
监测所述用户请求处理涉及的所述线上环境依赖的数据库的SQL命令或输入请求的Request对象,以及所述数据库的返回响应的Response对象,并生成和储存相应监测日志;
监测所述用户请求的Request对象及所述线上环境返回给用户的所述线上返回响应的Response,并生成和储存相应监测日志。
步骤203:当所述用户请求处理至各业务逻辑单元时,判断各业务逻辑单元的当前调用是否包含所述Beta预测试标记。
如步骤201所述,所述用户请求、所述线上返回响应,以及各业务逻辑单元被调用的过程中产生的所有中间消息都携带Beta预测试标记变量,因此在当前用户请求处理完毕时,或所述用户请求处理过程中调用的各业务逻辑单元结束各自的处理时,通过判断相应的监测日志是否携带Beta预测试标记,就可以判断该监测日志是否需作为测试样本。
步骤204:若判断结果为是,则将监测到的与所述用户请求处理相关的信息与所述用户请求对应并生成该用户请求专有的线上监测数据;所述线上监测数据至少包括所述用户请求、所述中间消息和所述线上返回响应,由此构成所述Beta测试的一个测试样本;该测试样本即为所述线上环境对已截取的所述用户请求进行处理得到的相关数据。
经过步骤203的判断,将需要作为测试样本的监测日志生成所述用户请求专有的线上监测数据。该线上监测数据的内容与步骤202中的监测内容相对应。
例如,步骤202的监测可以采用EagleEye工具进行监测,该工具在生成并储存与各个用户请求相应的全部监测日志的同时,生成各个用户请求专属的Context,生成的各Context由该用户请求对应的调用链ID进行标识,并用于存储相应用户请求的线上监测数据。由各Context中存储的线上监测数据构成所述Beta测试的测试样本,相应的各Context中存储的线上监测数据即为所述线上环境对已截取的所述用户请求进行处理得到的相关数据。
步骤201至步骤204,在监测的时候,生成储存有监测日志的日志文件,同时生成线上监测数据,这些活动既不参与也不影响原来的数据流向,从而满足所述Beta测试方法的实施不影响线上真实数据流量的条件。
步骤103:将所述线上环境已截取的所述用户请求发送给Beta环境,所述Beta环境是指以与所述已发布软件版本相对应的待测试软件版本为核心构成的软件环境。
测试开始时,将本次待发布的软件版本作为待测试软件版本,以与所述已发布软件版本相对应的待测试软件版本为核心构成的软件环境。
在本实施例中,在执行所述将所述线上环境已截取的所述用户请求发送给Beta环境的步骤的同时,还需将所述线上环境已提取的所述中间消息发送给所述Beta环境;并且均基于预设的异步消息系统发送。预设的异步消息系统可以采用Metaq消息中间件。具体来说,是把步骤204中所述的各用户请求专有的Context中存储的线上监测数据以Metaq消息的方式发送给所述Beta环境。采用异步消息系统,使Beta环境与线上环境的耦合度降低,从而使Beta环境的运行与线上环境的运行相对独立、互不影响。
步骤104:以所述用户请求为输入,获取所述Beta环境对所述用户请求进行处理得到的相关数据。
图3是获取Beta环境相关数据的步骤的具体实施方式的流程图,具体步骤是:
步骤301:以所述用户请求为输入,向所述Beta环境发起与所述线上环境相同的请求。
在本实施例中,是指所述Beta环境接收所述线上环境发送的如步骤204所述的存储在Context中的线上监测数据,从各线上监测数据中获取相应的用户请求,从而向所述Beta环境发起与所述线上环境相同的请求。
步骤302:对所述Beta环境进行配置,配置的内容为使所述Beta环境对所述用户请求的处理不影响所述线上真实数据流量。
所述Beta环境是指以与所述已发布软件版本相对应的待测试软件版本为核心构成的软件环境,那么该Beta环境运行时必然会调用线上环境所依赖的外部业务逻辑单元或数据库。一方面,当Beta环境接收到线上环境所截取的用户请求时,与线上环境处理该用户请求的时间存在滞后性,例如该用户请求涉及到对库存的调用时,由于所述滞后性,使Beta环境处理该用户请求时的库存状态与线上环境处理该用户请求时的库存状态不同;如果Beta环境在处理该用户请求时,真实的去远程调用库存,则查到的库存状态和线上环境发生真实用户请求时查到的库存状态是不同的,那么从Beta环境获取的相关数据与从线上环境获取的相关数据就会失去可比性,失去了测试的意义。另一方面,Beta环境上的待测试软件版本可能会有缺陷或错误,若Beta环境真实的调用线上环境所依赖的外部业务逻辑单元或数据库,则其缺陷或错误可能会影响外部业务逻辑单元或数据库的运行。
因此,Beta环境不能真实的对其运行所依赖的外部业务逻辑单元或数据库实施远程调用,而是通过以下步骤来模拟线上环境对当前用户请求处理时的外部业务逻辑单元或数据库的返回:
1)所述Beta环境接收从所述线上环境获取的所述中间消息。
在本实施例中,上述中间消息储存在步骤204中所述的线上监测数据中,Beta环境通过接收各线上监测数据得到相应来自线上的中间消息。
2)根据所述中间消息获取与当前调用相应的外部业务逻辑单元的输出响应或与当前调用相应的数据库的返回响应。
如步骤202所述,根据跟踪ID能够唯一标识业务逻辑单元的当前调用,并根据跟踪ID建立当前调用所属的用户请求处理过程的整个调用链关系,因此,依据Beta环境接收到的来自线上的中间消息,可以建立相应用户请求对应的整个调用链关系,从而将Beta环境接收到的来自线上的中间消息中的各跟踪ID与Beta环境处理相同的用户请求时在发生与线上环境处理该用户请求时所需要调用的相同外部业务逻辑单元或数据库对应起来。
当Beta环境在处理当前用户请求的过程中,通过预先设置是否存在Beta测试标记的判断条件,来区分调用外部业务逻辑单元或数据库的方式。若存在Beta测试标记,则执行根据所述中间消息获取与当前调用相应的外部业务逻辑单元的输出响应或与当前调用相应的数据库的返回响应的步骤,其中所述中间消息是指Beta环境接收的来自线上的中间消息。所述Beta测试标记是Beta环境对接收到来自线上的用户请求预先设置的标记,该标记此处用于区分以何种方式调用外部业务逻辑单元或数据库,还在下述步骤303中用于在处理所述用户请求的整个调用链中,标识由当前调用得到的相关数据随所述用户请求共同作为所述Beta测试的相关测试结果数据。
在本实施例中,具体是以与当前调用对应的跟踪ID为依据,从Beta环境接收到的线上监测数据中查找相应的外部进程或线程输出响应的response或相应的数据库返回响应的response。例如,Beta环境在处理与线上环境相同的用户请求时,当需要调用库存时,并不真实的远程调用库存逻辑,而是从Beta环境接收到的线上监测数据中查找线上环境处理该用户请求时在相同位置发生调用该库存逻辑时所返回的response,并直接调用该response。
3)调用已获取的所述输出响应或所述返回响应。
上述方法使Beta环境所依赖的外部调用与线上环境所依赖的外部调用的返回一致,真实的再现了线上环境对用户请求的处理过程,从而使Beta环境和线上环境各自的相关数据的差异只反映了待测试软件版本和已发布软件版本的逻辑差异而不依赖外部环境;同时,避免了Beta环境对线上真实数据流量的影响。
步骤303:提取所述Beta环境对所述用户请求进行处理得到的相关数据。
本步骤中的相关数据包括:所述Beta环境返回给用户的Beta返回响应、以及所述Beta环境对所述用户请求处理过程中涉及调用的多个业务逻辑单元产生的中间消息。该中间消息包括,所述Beta环境内部的相关业务逻辑单元的输入请求和输出响应、所述Beta环境依赖的外部业务逻辑单元的输入请求和输出响应、以及所述Beta环境对其依赖的数据库的命令或输入请求和所述数据库的返回响应。其中,所述Beta环境依赖的外部业务逻辑单元的输入请求和输出响应、以及所述Beta环境对其依赖的数据库的命令或输入请求和所述数据库的返回响应中的输出响应和返回响应,不是由真实的远程调用得到的,而是从Beta环境接收的中间数据中获取的;另外,所述Beta环境依赖的外部业务逻辑单元的输入请求和输出响应、以及所述Beta环境对其依赖的数据库的命令或输入请求和所述数据库的返回响应中的输入请求或命令,也没有真实的发送给外部业务逻辑单元或数据库,仅是作为Beta环境的相关数据。
图4是上述提取Beta环境相关数据的步骤的具体实施方式流程图,具体步骤是:
步骤401:为所述用户请求设置Beta测试标记,所述Beta测试标记在所述用户请求调用各业务逻辑单元时会作为变量被传递到当前业务逻辑单元的当前调用中;该Beta测试标记用于在处理所述用户请求的整个调用链中,标识由当前调用得到的相关数据随所述用户请求共同作为所述Beta测试的相关测试结果数据。
在本实施例中,在所述用户请求对应的Request对象里设置Beta测试标记变量。该Beta测试标记变量在当前用户请求调用各业务逻辑单元时会作为变量被传递到被调用的各业务逻辑单元中。具体来说,例如在接收到的来自线上的用户请求对应的各Request对象里,分别设置一个叫Beta的变量,同时将该变量的值设为1,并把该Beta测试标记变量,即Beta,传递到被调用的各进程、线程、数据库的Request对象中,从而使各业务逻辑单元被调用的过程中,产生的所有中间消息都携带该Beta测试标记变量。
步骤402:对所述用户请求处理过程的完整调用链路实施监测。
对所述用户请求处理过程的完整调用链路实施监测的目的是通过监测获取Beta环境对所述用户请求进行处理得到的相关数据。具体的监测步骤请参考步骤202中的描述。
在本实施例中,本步骤中具体的监测内容是:
监测所述用户请求处理涉及的所述Beta环境内部进程或线程的输入请求的Request对象和输出响应的Response对象,并生成和储存相应监测日志;
监测所述用户请求处理涉及的所述Beta环境依赖的外部进程或线程的输入请求的Request对象和输出响应的Response对象,并生成和储存相应监测日志;其中,所述Beta环境没有把该Request对象真实的发送给外部进程或线程,仅是作为相应的监测日志进行储存,该Response对象也不是由真实的远程调用得到,而是从Beta环境接收的中间消息中获取;
监测所述用户请求处理涉及的所述Beta环境依赖的数据库的SQL命令或输入请求的Request对象、所述数据库的返回响应的Response对象,并生成和储存相应监测日志;其中,所述Beta环境没有把该Request对象真实的发送给数据库,仅是作为相应的监测日志进行储存,该Response对象也不是由真实的远程调用得到,而是从Beta环境接收的中间消息中获取。
监测所述用户请求的Request对象及其对应的所述Beta环境返回给用户的所述Beta返回响应的Response,并生成和储存相应监测日志;其中,该Beta返回响应不会真实的返回给用户,仅是作为相应的监测日志进行储存。
步骤403:当所述用户请求处理至各业务逻辑单元时,判断各业务逻辑单元的当前调用是否包含所述Beta测试标记。
如步骤401所述,所述用户请求、所述Beta返回响应,以及各业务逻辑单元被调用的过程中产生的所有中间消息都携带Beta测试标记变量,因此在当前用户请求处理完毕时,或所述用户请求处理过程中调用的各业务逻辑单元结束各自的处理时,通过判断相应的监测日志是否携带Beta测试标记,就可以判断该监测日志是否需作为相关测试结果数据。
步骤404:若判断结果为是,则将监测到的与所述用户请求处理相关的信息与所述用户请求对应并生成该用户请求专有的Beta监测数据;所述Beta监测数据至少包括所述用户请求、所述中间消息和所述Beta返回响应,由此构成所述Beta测试的一个测试结果数据;该测试结果数据即为所述Beta环境对所述用户请求进行处理得到的相关数据。
经过步骤403的判断,将需要作为测试结果数据的监测日志生成所述用户请求专有的Beta监测数据。该Beta监测数据的内容与步骤402中的监测内容相对应。
例如,步骤402的监测可以采用EagleEye工具进行监测,该工具在生成并储存与Beta环境处理各个用户请求相应的全部监测日志的同时,将各Beta监测数据存储到步骤204所述的与线上相同用户请求对应的Context中。由各Context中存储的Beta监测数据构成所述Beta测试的相关测试结果数据,相应的各Beta监测数据即为所述Beta环境对所述用户请求进行处理得到的相关数据。
步骤401至步骤404,在监测的时候,生成储存有监测日志的日志文件,同时生成Beta监测数据,这些活动既不参与也不影线上真实数据流量。
步骤105:比对所述线上环境和所述Beta环境对所述用户请求分别进行处理得到的各自的相关数据,将比对结果作为对所述待测试软件版本做出评测的依据。
通常,待测试软件版本中会包含已发布软件版本中所没有的新增功能,从线上环境提取的相关数据中不包括这些功能对应的相关数据,针对这些新功能的比对是没有意义的,或是出于某些原因不希望对某些功能进行Beta测试,因此在进行比对之前,用以下方法将该些数据滤除:
1)根据所述待测试软件版本的修改状况设置过滤条件,所述过滤条件用于过滤对本次Beta测试而言不需要关注的测试数据。
所述过滤条件,包括:
设置非关注特性集合,所述非关注特性集合包含本次Beta测试中不需要关注的特性;和/或
设置某些特性的限定条件,所述某些特性的限定条件是指所述特性取值满足所述限定条件时,相应的测试数据不需要被关注。
在本实施例中,例如对Beta监测数据中某个Response中的x属性不关注,那么就需要忽略比对线上监测数据和Beta监测数据时,x属性不一致的情况。
或者,仅当x属性为特定值,比如x=100时,需要忽略比对不一致的情况。
2)在从所述线上环境得到的所述相关数据和从所述Beta环境得到的所述相关数据中,将满足所述过滤条件的数据滤除不进行比对。
在本实施例中,如步骤101至步骤104所述,在所述Beta环境对所述待测试软件版本的测试中,所述Beta环境的输入请求及其所依赖的外部环境与所述线上环境的输入请求及所述线上环境依赖的外部环境完全一致,因此从所述Beta环境获得的相关数据和从所述线上环境获得的相关数据具有可比对性,具体比对步骤如下:
1)比对所述用户请求对应的所述线上返回响应和所述Beta返回响应;以及,
比对所述线上环境与所述Beta环境分别对所述用户请求进行处理的过程中,各相应业务逻辑单元产生的中间消息。
如步骤102和步骤104所述,在本实施例中,线上环境得到的各线上监测数据即为所述线上环境对已截取的所述用户请求进行处理得到的相关数据,Beta环境得到的各Beta监测数据即为所述Beta环境对所述用户请求进行处理得到的相关数据;相同用户请求的线上监测数据和Beta监测数据都存储在同一个Context中,继而比对该用户请求对应的线上返回响应和Beta返回响应;同时,根据该用户请求对应的线上监测数据和Beta监测数据内存储的跟踪ID,找到并比对线上环境与Beta环境分别对该用户请求进行处理的过程中,各相应业务逻辑单元产生的中间消息;该中间消息具体包括:所述线上环境和所述Beta环境内部的相应业务逻辑单元的输入请求和输出响应、所述线上环境和所述Beta环境依赖的相应外部业务逻辑单元的输入请求和输出响应、以及所述线上环境和所述Beta环境对各自依赖的相应数据库的命令或输入请求和所述数据库的返回响应。
2)生成比对结果日志作为所述比对结果,据该结果对所述待测试软件版本做出评测。
上述的比对过程由系统自动完成,生成的比对结果日志包括比对不一致的相应线上返回响应和Beta返回响应,以及比对不一致的相应中间消息。将此比对结果日志作为比对结果进行分析,就能够得到待测试软件版本的交付质量,并对已发现的错误或缺陷进行分析定位。
由于相关数据中记录了用户请求在执行过程中对各业务逻辑单元调用的具体层级、位置,以及详细处理过程,因此不仅方便了对错误或缺陷原因的定位,通过保留线上环境的相关数据,就可以再次模拟故障,从而对修改后的代码进行回归验证;另外,也使用户请求处理过程中各业务逻辑单元的异常也能比对出来,使测试结果更加准确。
本申请所述的Beta测试方法还可以应用于包含一个或多个移动应用APP的平台系统中;所述平台系统中每个APP的线上环境对应一个或多个Beta环境,每个所述Beta环境分别指以与所述已发布软件版本相对应的某个待测试软件版本为核心构成的软件环境;所述APP的线上环境与其对应的一个或多个Beta环境通过预先设定的异步消息系统进行数据的传递。
例如,所述Beta测试方法应用于包含交易逻辑应用、库存逻辑应用,以及价格逻辑应用的平台系统中,当用户通过交易逻辑应用发起一个交易请求,该交易请求需调用库存逻辑获取待交易对象的库存,还需调用价格逻辑获取待交易对象的价格,最终返回给用户一个交易确认信息。在此平台展开Beta测试时,可以针对交易逻辑应用、库存逻辑应用或价格逻辑应用中的至少一个应用展开测试,即分别将待测试应用对应的Beta环境接入平台系统中,并对需要进行Beta测试的应用分别设置流量截取百分比,各待测试应用生成各自的线上监测数据及Beta监测数据,从而展开期望的测试。
在上述的实施例中,提供了一种Beta测试方法,与之相对应的,本申请第二实施例提供一种Beta测试装置。请参看图5,其为一种Beta测试装置的实施例的示意图。由于装置实施例基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。
本实施例的一种Beta测试装置,包括:线上用户请求截取单元1、线上相关数据提取单元2、数据发送单元3、Beta相关数据获取单元4和测试评测单元5。
线上用户请求截取单元1,用于根据用户与线上环境之间的线上真实数据流量,截取线上实际发生的用户请求,所述截取操作不影响所述线上真实数据流量;所述线上环境是指面向用户的由已发布软件版本构成的软件环境。
线上相关数据提取单元2,用于提取所述线上环境对已截取的所述用户请求进行处理得到的相关数据,所述提取操作不影响所述线上真实数据流量。该线上相关数据提取单元2又包括:Beta预测试标记设置子单元2-1、线上用户请求处理监测子单元2-2、线上相关数据提取子单元2-3。具体的提取方法在方法实施例中已详细介绍,在本实施例中不再赘述,具体实现方式参见方法实施例的相应部分。
数据发送单元3,用于将所述线上环境已截取的所述用户请求发送给Beta环境;所述Beta环境是指以与所述已发布软件版本相对应的待测试软件版本为核心构成的软件环境。在本实施例中,所述数据发送单元3用于将线上环境已截取的所述用户请求发送给Beta环境的同时,还用于将线上环境已提取的所述相关数据中的中间消息发送给所述Beta环境。
Beta相关数据获取单元4,用于以所述用户请求为输入,获取所述Beta环境对所述用户请求进行处理得到的相关数据。该Beta相关数据获取单元4又包括:Beta环境配置子单元4-1和Beta相关数据提取子单元4-2。
上述Beta环境配置子单元4-1,用于对所述Beta环境进行配置,配置的内容为使所述Beta环境对所述用户请求的处理不影响所述线上真实数据流量。具体配置方法在方法实施例中已详细介绍,在本实施例中不再赘述,具体实现方式参见方法实施例的相应部分。
上述Beta相关数据提取子单元4-2,用于提取所述Beta环境对所述用户请求进行处理得到的相关数据,该子单元包括:Beta测试标记设置子单元4-2-1、Beta用户请求处理监测子单元4-2-2、提取子单元4-2-3。具体的提取方法在方法实施例中已详细介绍,在本实施例中不再赘述,具体实现方式参见方法实施例的相应部分。
测试评测单元5,用于比对所述线上环境和所述Beta环境对所述用户请求分别进行处理得到的各自的相关数据,将比对结果作为对所述待测试软件版本做出评测的依据。
本申请虽然以较佳实施例公开如上,但其并不是用来限定本申请,任何本领域技术人员在不脱离本申请的精神和范围内,都可以做出可能的变动和修改,因此本申请的保护范围应当以本申请权利要求所界定的范围为准。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
1、计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
2、本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
Claims (20)
1.一种Beta测试方法,其特征在于,包括:
根据用户与线上环境之间的线上真实数据流量,截取线上实际发生的用户请求,所述截取操作不影响所述线上真实数据流量;所述线上环境是指面向用户的由已发布软件版本构成的软件环境;
提取所述线上环境对已截取的所述用户请求进行处理得到的相关数据,所述提取操作不影响所述线上真实数据流量;
将所述线上环境已截取的所述用户请求发送给Beta环境,所述Beta环境是指以与所述已发布软件版本相对应的待测试软件版本为核心构成的软件环境;
以所述用户请求为输入,获取所述Beta环境对所述用户请求进行处理得到的相关数据;
比对所述线上环境和所述Beta环境对所述用户请求分别进行处理得到的各自的相关数据,将比对结果作为对所述待测试软件版本做出评测的依据。
2.根据权利要求1所述的Beta测试方法,其特征在于,所述根据用户与线上环境之间的线上真实数据流量,截取线上实际发生的用户请求,具体是指从所述线上真实数据流量中按预先设置的截取百分比,对实际发生的用户请求截取相应百分比的测试样本。
3.根据权利要求2所述的Beta测试方法,其特征在于,所述从所述线上真实数据流量中按预先设置的截取百分比,对实际发生的用户请求截取相应百分比的测试样本,以如下步骤实现:
根据所述待测试软件版本的修改状况,设置截取百分比,所述截取百分比范围是≥0,且≤100%;
设置一个随机函数,所述随机函数以已设置的所述截取百分比的概率返回1;
所述线上环境每接收一次所述用户请求,同时调用所述随机函数;
判断所述随机函数返回值,若所述返回值不是1,则不进行截取,若所述返回值是1,则对所述用户请求进行截取。
4.根据权利要求1所述的Beta测试方法,其特征在于,所述提取所述线上环境对已截取的所述用户请求进行处理得到的相关数据的步骤中,所述相关数据包括:
所述线上环境返回给用户的线上返回响应、以及对所述用户请求处理过程中涉及调用的多个业务逻辑单元产生的中间消息;所述中间消息包括:所述线上环境内部的相关业务逻辑单元的输入请求和输出响应、所述线上环境依赖的外部业务逻辑单元的输入请求和输出响应、以及所述线上环境对其依赖的数据库的命令或输入请求和所述数据库的返回响应;
相应的,所述获取所述Beta环境对所述用户请求进行处理得到的相关数据的步骤中,所述相关数据包括:
所述Beta环境返回给用户的Beta返回响应、以及所述Beta环境对所述用户请求处理过程中涉及调用的多个业务逻辑单元产生的中间消息。
5.根据权利要求4所述的Beta测试方法,其特征在于,所述提取所述线上环境对已截取的所述用户请求进行处理得到的相关数据的步骤中,具体提取操作包括:
为所述用户请求设置Beta预测试标记,所述Beta预测试标记在所述用户请求调用各业务逻辑单元时会作为变量被传递到当前业务逻辑单元的当前调用中;该Beta预测试标记用于在处理所述用户请求的整个调用链中,标识由当前调用得到的相关数据随所述用户请求共同为所述Beta测试提供测试数据;
对所述用户请求处理过程的完整调用链路实施监测;
当所述用户请求处理至各业务逻辑单元时,判断各业务逻辑单元的当前调用是否包含所述Beta预测试标记;
若判断结果为是,则将监测到的与所述用户请求处理相关的信息与所述用户请求对应并生成该用户请求专有的线上监测数据;所述线上监测数据至少包括所述用户请求、所述中间消息和所述线上返回响应,由此构成所述Beta测试的一个测试样本;该测试样本即为所述线上环境对已截取的所述用户请求进行处理得到的相关数据。
6.根据权利要求4所述的Beta测试方法,其特征在于,所述获取所述Beta环境对所述用户请求进行处理得到的相关数据,包括:
对所述Beta环境进行配置,配置的内容为使所述Beta环境对所述用户请求的处理不影响所述线上真实数据流量;
提取所述Beta环境对所述用户请求进行处理得到的相关数据。
7.根据权利要求6所述的Beta测试方法,其特征在于,所述提取所述Beta环境对所述用户请求进行处理得到的相关数据的步骤中,具体提取操作包括:
为所述用户请求设置Beta测试标记,所述Beta测试标记在所述用户请求调用各业务逻辑单元时会作为变量被传递到当前业务逻辑单元的当前调用中;该Beta测试标记用于在处理所述用户请求的整个调用链中,标识由当前调用得到的相关数据随所述用户请求共同作为所述Beta测试的相关测试结果数据;
对所述用户请求处理过程的完整调用链路实施监测;
当所述用户请求处理至各业务逻辑单元时,判断各业务逻辑单元的当前调用是否包含所述Beta测试标记;
若判断结果为是,则将监测到的与所述用户请求处理相关的信息与所述用户请求对应并生成该用户请求专有的Beta监测数据;所述Beta监测数据至少包括所述用户请求、所述中间消息和所述Beta返回响应,由此构成所述Beta测试的一个测试结果数据;该测试结果数据即为所述Beta环境对所述用户请求进行处理得到的相关数据。
8.根据权利要求5或权利要求7所述的Beta测试方法,其特征在于,所述对所述用户请求处理过程的完整调用链路实施监测的步骤中,监测的具体结果通过储存有相应监测日志的日志文件来呈现,具体监测步骤包括:
为所述用户请求分配能够标识该用户请求的调用链ID,所述调用链ID在所述用户请求调用各业务逻辑单元时会作为变量被传递到当前业务逻辑单元的当前调用中;
当所述用户请求处理至各业务逻辑单元时,当前业务逻辑单元生成标识当前业务逻辑单元及当前调用关系的跟踪ID;
将所述调用链ID、所述跟踪ID,以及所述跟踪ID所指示的业务逻辑单元的用户请求处理过程中的中间消息对应,并生成与调用当前业务逻辑单元相应的监测日志;该监测日志写入预先生成的所述待测试软件专有的用于储存监测日志的日志文件中;
将所述调用链ID与所述用户请求、所述用户请求对应的线上返回响应或Beta返回响应对应,并生成与所述用户请求及其响应相应的监测日志;将该监测日志写入所述日志文件。
9.根据权利要求6所述的Beta测试方法,其特征在于,在执行所述将所述线上环境已截取的所述用户请求发送给Beta环境的步骤的同时,将所述线上环境已提取的所述中间消息发送给所述Beta环境;
所述对所述Beta环境进行配置,配置的内容为使所述Beta环境对所述用户请求的处理不影响所述线上真实数据流量,具体是指若所述用户请求的处理需依赖外部业务逻辑单元或数据库的调用,则在所述用户请求的处理过程中不对当前处理依赖的外部业务逻辑单元或数据库实施远程调用,而是执行以下步骤:
所述Beta环境接收从所述线上环境获取的所述中间消息;
根据所述中间消息获取与当前调用相应的外部业务逻辑单元的输出响应或与当前调用相应的数据库的返回响应;
调用已获取的所述输出响应或所述返回响应。
10.根据权利要求9所述的Beta测试方法,其特征在于,所述将所述线上环境已截取的所述用户请求发送给Beta环境,以及所述将所述线上环境已提取的所述中间消息发送给所述Beta环境,均基于预设的异步消息系统,将所述用户请求及所述中间消息以异步消息的方式发送给所述Beta环境。
11.根据权利要求4所述的Beta测试方法,其特征在于,所述比对所述线上环境和所述Beta环境对所述用户请求分别进行处理得到的各自的相关数据,将比对结果作为对所述待测试软件版本做出评测的依据,包括:
比对所述用户请求对应的所述线上返回响应和所述Beta返回响应;以及,
比对所述线上环境与所述Beta环境分别对所述用户请求进行处理的过程中,各相应业务逻辑单元产生的中间消息;
生成比对结果日志作为所述比对结果,据该结果对所述待测试软件版本做出评测。
12.根据权利要求1所述的Beta测试方法,其特征在于,在所述比对所述线上环境和所述Beta环境对所述用户请求分别进行处理得到的各自的相关数据,将比对结果作为对所述待测试软件版本做出评测的依据的步骤之前,执行以下步骤:
根据所述待测试软件版本的修改状况设置过滤条件,所述过滤条件用于过滤对本次Beta测试而言不需要关注的测试数据;
在从所述线上环境得到的所述相关数据和从所述Beta环境得到的所述相关数据中,将满足所述过滤条件的数据滤除不进行比对。
13.根据权利要求12所述的Beta测试方法,其特征在于,所述过滤条件,包括:
设置非关注特性集合,所述非关注特性集合包含本次Beta测试中不需要关注的特性;和/或
设置某些特性的限定条件,所述某些特性的限定条件是指所述特性取值满足所述限定条件时,相应的测试数据不需要被关注。
14.根据权利要求1所述的Beta测试方法,其特征在于,所述Beta测试方法应用于包含一个或多个移动应用APP的平台系统中;所述平台系统中每个APP的线上环境对应一个或多个Beta环境,每个所述Beta环境分别指以与所述已发布软件版本相对应的某个待测试软件版本为核心构成的软件环境;所述APP的线上环境与其对应的一个或多个Beta环境通过预先设定的异步消息系统进行数据的传递。
15.一种Beta测试装置,其特征在于,包括:
线上用户请求截取单元,用于根据用户与线上环境之间的线上真实数据流量,截取线上实际发生的用户请求,所述截取操作不影响所述线上真实数据流量;所述线上环境是指面向用户的由已发布软件版本构成的软件环境;
线上相关数据提取单元,用于提取所述线上环境对已截取的所述用户请求进行处理得到的相关数据,所述提取操作不影响所述线上真实数据流量;
数据发送单元,用于将所述线上环境已截取的所述用户请求发送给Beta环境,所述Beta环境是指以与所述已发布软件版本相对应的待测试软件版本为核心构成的软件环境;
Beta相关数据获取单元,用于以所述用户请求为输入,获取所述Beta环境对所述用户请求进行处理得到的相关数据;
测试评测单元,用于比对所述线上环境和所述Beta环境对所述用户请求分别进行处理得到的各自的相关数据,将比对结果作为对所述待测试软件版本做出评测的依据。
16.根据权利要求15所述的Beta测试装置,其特征在于,所述线上相关数据提取单元,包括:
Beta预测试标记设置子单元,用于为所述用户请求设置Beta预测试标记,所述Beta预测试标记在所述用户请求调用各业务逻辑单元时会作为变量被传递到当前业务逻辑单元的当前调用中;该Beta预测试标记用于在处理所述用户请求的整个调用链中,标识由当前调用得到的相关数据随所述用户请求共同为所述Beta测试提供测试数据;
线上用户请求处理监测子单元,用于对所述用户请求处理过程的完整调用链路实施监测;
线上相关数据提取子单元,用于当所述用户请求处理至各业务逻辑单元时,判断各业务逻辑单元的当前调用是否包含所述Beta预测试标记;若判断结果为是,则将监测到的与所述用户请求处理相关的信息与所述用户请求对应并生成该用户请求专有的线上监测数据;所述线上监测数据至少包括所述用户请求、对用户请求处理过程中涉及调用的多个业务逻辑单元产生的中间消息和线上返回响应,由此构成所述Beta测试的一个测试样本;该测试样本即为所述线上环境对已截取的所述用户请求进行处理得到的相关数据。
17.根据权利要求15所述的Beta测试装置,其特征在于,所述Beta相关数据获取单元包括:
Beta环境配置子单元,用于对所述Beta环境进行配置,配置的内容为使所述Beta环境对所述用户请求的处理不影响所述线上真实数据流量;
Beta相关数据提取子单元,用于提取所述Beta环境对所述用户请求进行处理得到的相关数据。
18.根据权利要求17所述的Beta测试装置,其特征在于,所述Beta相关数据提取子单元包括:
Beta测试标记设置子单元,用于为所述用户请求设置Beta测试标记,所述Beta测试标记在所述用户请求调用各业务逻辑单元时会作为变量被传递到当前业务逻辑单元的当前调用中;该Beta测试标记用于在处理所述用户请求的整个调用链中,标识由当前调用得到的相关数据随所述用户请求共同作为所述Beta测试的相关测试结果数据;
Beta用户请求处理监测子单元,用于对所述用户请求处理过程的完整调用链路实施监测;
提取子单元,用于当所述用户请求处理至各业务逻辑单元时,判断各业务逻辑单元的当前调用是否包含所述Beta测试标记;若判断结果为是,则将监测到的与所述用户请求处理相关的信息与所述用户请求对应并生成该用户请求专有的Beta监测数据;所述Beta监测数据至少包括所述用户请求、对用户请求处理过程中涉及调用的多个业务逻辑单元产生的中间消息和Beta返回响应,由此构成所述Beta测试的一个测试结果数据;该测试结果数据即为所述Beta环境对所述用户请求进行处理得到的相关数据。
19.根据权利要求15所述的Beta测试装置,其特征在于,所述数据发送单元用于将所述线上环境已截取的所述用户请求发送给Beta环境的同时,还用于将所述线上环境已提取的所述相关数据中的中间消息发送给所述Beta环境。
20.一种电子设备,其特征在于,包括:
显示器;
处理器;以及
存储器,所述存储器被配置成存储Beta测试装置,所述Beta测试装置被所述处理器执行时,执行如下步骤:
根据用户与线上环境之间的线上真实数据流量,截取线上实际发生的用户请求,所述截取操作不影响所述线上真实数据流量;所述线上环境是指面向用户的由已发布软件版本构成的软件环境;
提取所述线上环境对已截取的所述用户请求进行处理得到的相关数据,所述提取操作不影响所述线上真实数据流量;
将所述线上环境已截取的所述用户请求发送给Beta环境,所述Beta环境是指以与所述已发布软件版本相对应的待测试软件版本为核心构成的软件环境;
以所述用户请求为输入,获取所述Beta环境对所述用户请求进行处理得到的相关数据;
比对所述线上环境和所述Beta环境对所述用户请求分别进行处理得到的各自的相关数据,将比对结果作为对所述待测试软件版本做出评测的依据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510556877.3A CN106484610B (zh) | 2015-09-02 | 2015-09-02 | 一种Beta测试方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510556877.3A CN106484610B (zh) | 2015-09-02 | 2015-09-02 | 一种Beta测试方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106484610A CN106484610A (zh) | 2017-03-08 |
CN106484610B true CN106484610B (zh) | 2018-12-04 |
Family
ID=58238047
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510556877.3A Active CN106484610B (zh) | 2015-09-02 | 2015-09-02 | 一种Beta测试方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106484610B (zh) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107273284B (zh) * | 2017-04-20 | 2020-12-25 | 北京星选科技有限公司 | 测试应用程序性能的方法及装置 |
CN107247669A (zh) * | 2017-06-07 | 2017-10-13 | 北京小度信息科技有限公司 | 一种程序接口的性能测试方法及装置 |
CN107967204B (zh) * | 2017-11-21 | 2020-12-25 | 百度在线网络技术(北京)有限公司 | 线下压测的方法、系统及终端设备 |
CN109960647A (zh) * | 2017-12-26 | 2019-07-02 | 腾讯科技(深圳)有限公司 | 一种软件测试方法及装置、计算设备和存储介质 |
CN108563580B (zh) * | 2017-12-27 | 2024-02-23 | 贵阳忆芯科技有限公司 | 介质接口控制器微码执行路径提取方法 |
CN108304319B (zh) * | 2018-01-05 | 2021-01-29 | 珠海金山网络游戏科技有限公司 | 一种移动终端数据归类的方法 |
CN108427638A (zh) * | 2018-01-19 | 2018-08-21 | 口碑(上海)信息技术有限公司 | 地域相关网络营销活动测试方法及装置 |
CN108399114B (zh) * | 2018-03-21 | 2021-02-02 | 财付通支付科技有限公司 | 一种系统性能测试方法、装置及存储介质 |
CN110362464B (zh) * | 2018-04-11 | 2022-02-11 | 腾讯科技(深圳)有限公司 | 软件分析方法及设备 |
CN108415849A (zh) * | 2018-05-23 | 2018-08-17 | 百度在线网络技术(北京)有限公司 | 用于测试应用的方法和装置 |
CN109491885A (zh) * | 2018-09-26 | 2019-03-19 | 深圳壹账通智能科技有限公司 | 测试问题定位方法、装置、计算机设备和存储介质 |
CN109165166B (zh) * | 2018-10-15 | 2022-04-19 | 华泰证券股份有限公司 | 一种金融产品估值与会计核算系统高仿真测试方法 |
CN109408397A (zh) * | 2018-11-13 | 2019-03-01 | 苏州大禹网络科技有限公司 | 一种游戏预发布系统及方法 |
CN109831357B (zh) * | 2019-01-30 | 2020-12-29 | 北京大米科技有限公司 | 一种服务验证方法、装置、存储介质及服务器 |
CN110134597A (zh) * | 2019-04-25 | 2019-08-16 | 阿里巴巴集团控股有限公司 | 业务系统资金安全的回归测试方法及其系统 |
CN110309064B (zh) * | 2019-05-30 | 2024-07-26 | 邓辉 | 基于日志记录的单元测试方法、装置、设备及存储介质 |
CN110347591A (zh) * | 2019-06-19 | 2019-10-18 | 平安普惠企业管理有限公司 | 基于用例测试系统的方法、装置、电子设备及存储介质 |
CN110928765B (zh) * | 2019-10-11 | 2021-08-03 | 京东数字科技控股有限公司 | 一种链路测试方法及装置 |
CN112988560A (zh) * | 2019-12-17 | 2021-06-18 | 北京沃东天骏信息技术有限公司 | 测试系统健壮性的方法和装置 |
CN111552648A (zh) * | 2020-05-08 | 2020-08-18 | 支付宝(杭州)信息技术有限公司 | 用于应用的自动验证方法和系统 |
CN111897723A (zh) * | 2020-07-20 | 2020-11-06 | 腾讯科技(深圳)有限公司 | 一种测试应用的方法及装置 |
CN114371866A (zh) * | 2020-10-14 | 2022-04-19 | 腾讯科技(深圳)有限公司 | 业务系统的版本重构测试方法、装置和设备 |
CN112416798B (zh) * | 2020-12-04 | 2024-04-09 | 深圳前海微众银行股份有限公司 | 数据处理方法、装置、设备和存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103905502A (zh) * | 2012-12-27 | 2014-07-02 | 中国移动通信集团江苏有限公司 | 一种获取用户位置信息的方法及系统 |
CN104580316A (zh) * | 2013-10-24 | 2015-04-29 | 深圳市国信互联科技有限公司 | 软件授权管理方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9483570B2 (en) * | 2010-12-30 | 2016-11-01 | International Business Machines Corporation | Driving a user experience of a web application using rules that establish or change requests based on user behavior |
-
2015
- 2015-09-02 CN CN201510556877.3A patent/CN106484610B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103905502A (zh) * | 2012-12-27 | 2014-07-02 | 中国移动通信集团江苏有限公司 | 一种获取用户位置信息的方法及系统 |
CN104580316A (zh) * | 2013-10-24 | 2015-04-29 | 深圳市国信互联科技有限公司 | 软件授权管理方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN106484610A (zh) | 2017-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106484610B (zh) | 一种Beta测试方法和装置 | |
CN105095970B (zh) | 第三方应用的执行方法及系统 | |
CN109165168A (zh) | 一种压力测试方法、装置、设备及介质 | |
CN110088744B (zh) | 一种数据库维护方法及其系统 | |
WO2022110913A1 (zh) | 突发事件推演图结构的构建及突发事件推演的方法和装置 | |
CN114237466B (zh) | 一种巡检点配置方法及装置 | |
CN112181786B (zh) | 一种巡检应用的配置方法、装置及设备 | |
CN110262975A (zh) | 测试数据管理方法、装置、设备及计算机可读存储介质 | |
CN110221933A (zh) | 代码缺陷辅助修复方法及系统 | |
CN112015648A (zh) | 基于自动化脚本的测试方法、装置、计算机设备和介质 | |
CN115080827A (zh) | 一种敏感数据处理方法及装置 | |
CN114816815A (zh) | 故障定位方法、日志格式的配置方法、设备及存储介质 | |
KR102156581B1 (ko) | 실전 작업을 기반으로 한 검증용 크라우드소싱 작업을 제공하는 방법 및 장치 | |
CN109934267A (zh) | 模型检测方法及装置 | |
KR102205810B1 (ko) | 인공지능 학습데이터 생성을 위한 크라우드소싱 기반 프로젝트의 재작업 결과의 자동 반려 방법 | |
JP2004192125A (ja) | プロジェクトマネジメントシステム及びそれに用いられるデータ構造、並びに、プロジェクトマネジメント方法 | |
CN113791980A (zh) | 测试用例的转化分析方法、装置、设备及存储介质 | |
CN117195183B (zh) | 一种数据安全合规风险评估系统 | |
CN117195253B (zh) | 一种个人信息安全保护方法和系统 | |
CN109271306A (zh) | 基于故障注入的寿命试验方法、装置、设备及介质 | |
CN113515401B (zh) | 一种异常交易的定位排错方法、系统、电子设备及介质 | |
KR20050006554A (ko) | 업무 프로세스 기반의 위험 분석 평가 방법 및 시스템 | |
CN115809950B (zh) | 一种机房运维管理平台及管理办法 | |
US20240303571A1 (en) | Automated risk control | |
Li et al. | Understanding the Challenges of Data Management in the AI Application Development |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |