本申请涉及计算机技术领域,特别是涉及一种业务组件测试方法、装置、计算机设备和存储介质。
背景技术:
随着测试技术的发展,出现了a/b测试技术,a/b测试也叫拆分测试,是一种通过在同一时间显示两个变体给类似的访问者来比较两个版本的网页,以查看哪一个更好,以此来提高转换率和反响率的组件测试方法,常用于网页优化和市场营销。在进行a/b测试时,确定需要测试的项目,然后将项目的测试版本部署到生产环境中和已部署的版本同时运行,从而进行测试。
然而,目前的a/b测试技术通常是对相同的项目进行测试,当需要测试多个项目时,就需要分别获取到多个项目对应的测试版本,再分别将测试版本部署到生产环境中进行测试,这种方法使得在对多个项目进行测试时,测试效率低下。
技术实现要素:
基于此,有必要针对上述技术问题,提供一种能够提高测试效率的业务组件测试方法、装置、计算机设备和存储介质。
一种业务组件测试方法,所述方法包括:
接收终端发送的第一业务请求和第二业务请求;
将第一业务请求发送测试申请组件中,通过测试申请组件获取对应的测试项目模板和测试项目标识,并向测试配置组件发送测试配置请求,测试配置请求中携带有第一业务请求和测试项目标识,并在测试配置组件中根据第一业务请求和测试项目标识查找对应的测试项目配置信息;
根据测试项目模板和测试项目配置信息向业务组件发送测试请求,业务组件根据测试项目模板和测试项目配置信息进行执行,得到测试执行结果;
将第二业务请求发送到业务组件中,以使业务组件根据第二业务请求执行,得到执行结果;
将测试执行结果返回第一业务请求对应的终端和将执行结果返回第二业务请求对应的终端。
在其中一个实施例中,在接收终端发送的各个业务请求,识别各个业务请求,得到第一业务请求和第二业务请求之前,还包括:
获取用户历史业务数据,提取用户历史业务数据中的业务特征;
使用业务特征进行聚类计算,得到聚类结果;
根据聚类结果确定用户类别,根据用户类别确定对应的业务请求标识。
在其中一个实施例中,接收终端发送的第一业务请求和第二业务请求,包括:
接收终端发送的各个业务请求,解析各个业务请求,得到各个业务请求标识;
将各个业务请求标识发送到分流组件中,以使分流组件计算各个业务请求标识的哈希值,对哈希值取余计算,得到计算结果;
当计算结果与预设结果一致时,将与预设结果一致的计算结果对应的业务请求作为第一业务请求,当计算结果与预设结果不一致时,将与预设结果不一致的计算结果对应的业务请求作为第二业务请求。
在其中一个实施例中,在将测试执行结果返回第一业务请求对应的终端和将执行结果返回第二业务请求对应的终端之后,还包括:
获取第一业务请求对应的终端返回的测试业务数据和第二业务请求对应的终端返回的正常业务数据;
将测试业务数据和正常业务数据发送到测试分析组件中,以使测试分析组件根据测试业务数据和正常业务数据生成测试结果,将测试结果发送到管理终端。
在其中一个实施例中,根据测试项目模板和测试项目配置信息向业务组件发送测试请求,以使业务组件根据测试项目模板和测试项目配置信息进行执行,得到测试执行结果,包括:
根据测试项目模板和测试项目配置信息向业务组件发送测试请求,以使业务组件根据测试请求向数据库服务器发送业务执行数据获取请求,获取数据库服务器根据业务执行数据获取请求查找到的业务执行数据;根据测试项目模板、测试项目配置信息和业务执行数据进行执行,得到测试执行结果。
在其中一个实施例中,方法,还包括:
通过测试申请组件监控业务组件,当监控到业务组件执行业务处理出现异常时,向业务组件发送停止业务执行请求,以使业务组件停止执行业务处理。
一种业务组件测试装置,装置包括:
请求接收模块,用于接收终端发送的第一业务请求和第二业务请求;
测试信息获取模块,用于将第一业务请求发送测试申请组件中,通过测试申请组件获取对应的测试项目模板和测试项目标识,并向测试配置组件发送测试配置请求,测试配置请求中携带有第一业务请求和测试项目标识,并在测试配置组件中根据第一业务请求和测试项目标识查找对应的测试项目配置信息;
第一执行模块,用于根据测试项目模板和测试项目配置信息向业务组件发送测试请求,以使业务组件根据测试项目模板和测试项目配置信息进行执行,得到测试执行结果;
第二执行模块,用于将第二业务请求发送到业务组件中,以使业务组件根据第二业务请求执行,得到执行结果;
结果返回模块,用于将测试执行结果返回第一业务请求对应的终端和将执行结果返回第二业务请求对应的终端。
在其中一个实施例中,请求接收模块,包括:
解析单元,用于接收终端发送的各个业务请求,解析各个业务请求,得到各个业务请求标识;
计算单元,用于将各个业务请求标识发送到分流组件中,以使分流组件计算各个业务请求标识的哈希值,对哈希值取余计算,得到计算结果;
判断单元,用于当计算结果与预设结果一致时,将与预设结果一致的计算结果对应的业务请求作为第一业务请求,当所述计算结果与预设结果不一致时,将与预设结果不一致的计算结果对应的业务请求作为第二业务请求。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
接收终端发送的第一业务请求和第二业务请求;
将第一业务请求发送测试申请组件中,通过测试申请组件获取对应的测试项目模板和测试项目标识,并向测试配置组件发送测试配置请求,测试配置请求中携带有第一业务请求和测试项目标识,并在测试配置组件根据第一业务请求和测试项目标识查找对应的测试项目配置信息;
根据测试项目模板和测试项目配置信息向业务组件发送测试请求,以使业务组件根据测试项目模板和测试项目配置信息进行执行,得到测试执行结果;
将第二业务请求发送到业务组件中,以使业务组件根据第二业务请求执行,得到执行结果;
将测试执行结果返回第一业务请求对应的终端和将执行结果返回第二业务请求对应的终端。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
接收终端发送的第一业务请求和第二业务请求;
将第一业务请求发送测试申请组件中,通过测试申请组件获取对应的测试项目模板和测试项目标识,并向测试配置组件发送测试配置请求,测试配置请求中携带有第一业务请求和测试项目标识,并在测试配置组件中根据第一业务请求和测试项目标识查找对应的测试项目配置信息;
根据测试项目模板和测试项目配置信息向业务组件发送测试请求,以使业务组件根据测试项目模板和测试项目配置信息进行执行,得到测试执行结果;
将第二业务请求发送到业务组件中,以使业务组件根据第二业务请求执行,得到执行结果;
将测试执行结果返回第一业务请求对应的终端和将执行结果返回第二业务请求对应的终端。
上述业务组件测试方法、装置、计算机设备和存储介质,通过接收第一业务请求和第二业务请求,将第一业务请求发送到测试申请组件中获取到测试项目模板,并通过测试配置组件中获取到测试项目配置信息,然后向业务组件发送测试请求,业务组件根据测试项目模板和测试项目配置信息进行执行,得到测试执行结果,即可以在生产环境中根据第一业务请求实时通过测试申请组件和测试配置组件获取到需要测试项目对应的测试项目模板和测试项目配置信息,然后直接使用测试项目模板和测试项目配置信息通过业务组件执行业务处理,得到测试执行结果,当需要进行多个项目进行测试时,只需要将多个项目对应的测试版本信息配置到测试配置组件中,从而实现在生产环境中的测试,即不需要将多个项目分别在生产环境中进行部署,提高了多个项目测试时的测试效率。
附图说明
图1为一个实施例中业务组件测试方法的应用场景图;
图2为一个实施例中业务组件测试方法的流程示意图;
图3为一个实施例中确定业务请求标识的流程示意图;
图4为一个实施例中识别业务请求的流程示意图;
图5为一个实施例中生成测试结果的流程示意图;
图6为一个具体实施例中业务组件测试方法的流程示意图;
图7为一个实施例中业务组件测试装置的结构框图;
图8为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的业务组件测试方法,可以应用于如图1所示的应用环境中。其中,各个终端通过网络与服务器104进行通信。服务器104接收终端发送的第一业务请求和第二业务请求;将第一业务请求发送测试申请组件中,通过测试申请组件获取对应的测试项目模板和测试项目标识,向测试配置组件发送测试配置请求,测试配置请求中携带有第一业务请求和测试模板标识,并在测试配置组件中根据第一业务请求和测试项目标识查找对应的测试项目配置信息;根据测试项目模板和测试项目配置信息向业务组件发送测试请求,业务组件根据测试项目模板和测试项目配置信息进行执行,得到测试执行结果;服务器104将第二业务请求发送到业务组件中,以使业务组件根据第二业务请求执行,得到执行结果;服务器104将测试执行结果返回第一业务请求对应的终端和将执行结果返回第二业务请求对应的终端。其中,终端可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种业务组件测试方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
s202,接收终端发送的第一业务请求和第二业务请求。
其中,业务请求是指需要进行处理的服务。比如,网页展示请求中网页展示就是服务器要进行处理的服务器。第一业务请求是指需要按照测试版本执行的业务请求。第二业务请求是指需要按照正常版本执行的业务请求。比如,网页展示请求中需要展示的网页是测试版本的网页的请求为第一业务请求。网页展示请求中需要展示的网页是正常版本的网页的请求为第二业务请求。
具体地,服务器接收到各个用户对应的终端发送的各个业务请求,对各个业务请求进行识别,得到需要按照测试版本执行的业务请求作为第一业务请求,得到需要按照正常版本执行的业务请求作为第一业务请求。其中,具体可以根据各个业务请求中的业务请求标识进行识别。也可以根据预先在业务请求中设置好的测试标识进行识别。
s204,将第一业务请求发送测试申请组件中,通过测试申请组件获取对应的测试项目模板和测试项目标识,并向测试配置组件发送测试配置请求,测试配置请求中携带有第一业务请求和测试项目标识,并在测试配置组件根据第一业务请求和测试项目标识查找对应的测试项目配置信息。
其中,测试申请组件用于接收到测试业务请求时获取到对应已建立的测试项目模板,测试项目模板是已经创建好的测试项目的模板。该测试申请组件还支持测试项目模板的创建、修改、编辑和监控到测试请求执行异常时停止业务执行。测试项目标识用于唯一标识测试项目。测试配置组件是指已经配置好测试项目执行策略信息的组件。测试项目配置信息是指已经配置好的测试项目的执行策略信息,比如,配置测试按钮的显示颜色,显示形状等等。每一个业务中都有不同的具体项目。比如在网页展示业务中,具体项目可以有按钮项目,页面样式项目,页面功能项目,网页展示流程项目等等。可以预先在测试配置组件中配置好需要进行测试的项目的具体策略信息,比如,要测试新版本网页样式,此时,就需要预先在测试配置组件中配置好新版本网页样式。
具体地,服务器将第一业务请求发送测试申请组件中,测试申请组件根据第一业务请求获取对应的测试项目模板和测试项目标识。然后测试申请组件向测试配置组件发送测试配置请求,测试配置请求中携带有第一业务请求和测试项目标识,测试配置组件根据第一业务请求和测试项目标识从预先设置的配置信息表中查找对应的测试项目配置信息。
s206,根据测试项目模板和测试项目配置信息向业务组件发送测试请求,以使业务组件根据测试模板和测试版本信息进行执行,得到测试执行结果。
具体地,服务器根据测试项目模板和测试项目配置信息向业务组件发送测试请求,业务组件根据该测试请求使用测试项目模板和测试项目配置信息进行业务的执行,得到业务的测试执行结果。比如,该业务是网页展示业务,测试项目模板是网页中按钮模板,测试项目配置信息是需要进行测试项目的配置信息,比如,对网页中按钮的样式进行测试。则将网页中按钮模板和测试按钮的按钮样式发送到业务组件中,业务组件根据网页中按钮模板和测试按钮的按钮样式生成测试按钮样式的网页,即得到测试执行结果。
s208,将第二业务请求发送到业务组件中,以使业务组件根据第二业务请求执行,得到执行结果。
具体地,服务器可以将第二业务请求发送到业务组件中,业务组件接收到第二业务请求,业务组件根据第二请求进行正常版本的业务执行,得到执行结果。比如,网页展示业务中,可以将识别未通过的第二业务请求发送到业务组件中,该业务组件生成正常版本的网页。
s210,将测试执行结果返回第一业务请求对应的终端和将执行结果返回第二业务请求对应的终端。
具体地,服务器将测试执行结果返回第一业务请求对应的终端,然后再将执行结果返回第二业务请求对应的终端。例如,在得到网页测试执行结果时,将测试版本的网页返回的测试用户对应的终端中进行展示。此时服务器可以监控该网页并获取监控结果。比如,用户点击按钮占比,用户点击按钮次数等等。服务器在得到网页正常秩序结果时,将正常版本的网页返回正常用户对应的终端中进行展示。
在上述业务组件测试方法中,通过接收到第一业务请求和第二业务请求,识别出需要进行测试的第一业务请求,将第一业务请求发送到测试申请组件中获取到测试项目模板,并通过测试配置组件中获取到测试项目配置信息,然后向业务组件发送测试请求,业务组件根据测试项目模板和测试项目配置信息进行执行,得到测试执行结果,即可以在生产环境中根据第一业务请求实时通过测试申请组件和测试配置组件获取到需要测试项目对应的测试项目模板和测试项目配置信息,然后直接使用测试项目模板和测试项目配置项目信息通过业务组件执行业务处理,得到测试执行结果,当需要进行多个项目进行测试时,只需要将多个项目对应的测试版本信息配置到测试配置组件中,从而实现在生产环境中的测试,即不需要将多个项目分别在生产环境中进行部署,提高了多个项目测试时的测试效率。
在一个实施例中,如图3所示,在步骤s202之前,在接收终端发送的各个业务请求,识别各个业务请求,得到第一业务请求和第二业务请求之前,还包括步骤:
s302,获取用户历史业务数据,提取用户历史业务数据中的业务特征。
其中,用户历史业务数据是指用户在历史时间段中使用业务时产生的数据。比如,用户浏览展示网页时产生的数据,可以包括页面停留时间,页面操作数据等等。业务特征是根据用户的历史业务数据提取到的特征,包括页面停留时间特征,页面操作特征等等。
具体地,服务器从历史数据库中获取到各个用户对应的用户历史业务数据,提取用户历史业务数据中的业务特征。
s304,使用业务特征进行聚类计算,得到聚类结果。
s306,根据聚类结果确定用户类别,根据用户类别确定对应的业务请求标识。
具体地,根据业务特征使用聚类算法进行聚类计算,得到聚类结果。根据聚类结果确定业务特征对应的用户类别。该用户类别可以包括能够使用测试版本业务的用户和使用正常版本业务的用户。然后根据用户类别确定业务特征对应的用户的业务请求标识,比如,测试版本业务的用户类别对应的业务请求标识的哈希值为偶数。也可以设置好同一用户类别对应的分流标识,将该分流标识加入业务请求中作为业务请求标识。服务器将得到的业务请求标识分配到各个用户对应的终端中。然后用户在发送业务请求时,该业务请求中写道有分配到的业务请求标识。
在上述实例中,通过将业务特征进行聚类,得到用户类别,然后根据用户类别确定业务请求标识,使得到的用户对应的业务请求标识更加的精准,使用用户类别确定业务请求标识进行测试,能够提高测试的准确性。
在一个实施例中,如图4所示,步骤s202,即识别各个业务请求,得到第一业务请求,包括步骤:
s402,接收终端发送的各个业务请求,解析各个业务请求,得到各个业务请求标识。
其中,业务请求标识用于唯一标识业务请求的发送方。比如,网页端业务请求,可以使用cookieid(储存在用户本地终端上的数据)进行标识。app(手机软件)端业务请求可以使用设备标识进行标识,小程序端业务请求可以采用openid(一个以用户为中心的数字身份识别框架,它具有开放、分散性)作为业务请求标识。
具体地,服务器接收到不同终端发送的各个业务请求,解析接收到的各个业务请求,得到各个业务请求标识。
s404,将各个业务请求标识发送到分流组件中,以使分流组件计算各个业务请求标识的哈希值,对哈希值取余计算,得到计算结果。
其中,分流组件用于将业务请求进行划分。计算结果是指对哈希值取余之后得到的余数。
具体地,服务器将各个业务请求标识发送到分流组件中,分流组件接收到业务请求标识时,分流组件计算各个业务请求标识的哈希值,对哈希值进行取余计算,得到计算结果即余数。
在一个实施例中,将各个业务请求首先通过代理服务器进行负载均衡处理,将负载均衡后的业务请求分配到服务器中。比如,可以通过使用f5/nginx功能来对大量的业务请求进行负载均衡分配,将分配后的业务请求发送到业务服务器中。其中,f5/nginx是硬件和软件负载均衡器技术,nginx是一个高性能的http和反向代理服务器,也是一个imap/pop3/smtp代理服务器,是软件负载均衡解决方案。f5负载均衡器是一个负载均衡器专用设备。
s406,当计算结果与预设结果一致时,将与预设结果一致的计算结果对应的业务请求作为第一业务请求,当计算结果与预设结果不一致时,将与预设结果不一致的计算结果对应的业务请求作为第二业务请求。
其中,预测结果是指预先设置好的属于需要测试业务请求的余数。比如,余数为偶数的哈希值对应的业务请求为需要进行测试的业务请求。余数为奇数的哈希值对应的业务请求为正常的业务请求。
具体地,服务器将计算结果与预设结果进行匹配,当计算结果与预设结果一致时,将与预设结果一致的计算结果对应的业务请求作为第一业务请求。当计算结果与预设结果不一致时,将与预设结果不一致的计算结果对应的业务请求作为第二业务请求。
在上述实施例中,通过哈希值对业务请求进行分流,方便快捷。
在一个实施例中,如图5所示,步骤s210之后,即在将测试执行结果返回第一业务请求对应的终端和将执行结果返回第二业务请求对应的终端之后,还包括步骤:
s502,获取第一业务请求对应的终端返回的测试业务数据和第二业务请求对应的终端返回的正常业务数据。
其中,测试业务数据是指测试版本的业务返回的用户数据,比如,测试页面展示业务中用户在测试页面产生的数据。例如,用户页面停留时间,用户页面操作数据等等。正常业务数据是指正常版本的业务返回的用户数据,比如,正常页面展示业务中用户在正常页面产生的数据。
s504,将测试业务数据和正常业务数据发送到测试分析组件中,以使测试分析组件根据测试业务数据和正常业务数据生成测试结果,将测试结果发送到管理终端。
其中,测试分析组件用于对测试业务数据和正常业务数据按照预先设置好的各个指标进行对比分析。指标是设定好的业务数据相关指标,通常设定的指标应比正常版本的高。比如,在网页展示业务中,用户在测试版本页面中的停留时间的指标是否超过正常版本页面的停留时间或者是否超过预先设定好的停留时间阈值等等。测试结果是指测试版本的业务的测试结果,该测试结果包括测试版本的业务不符合设定的指标和测试版本的业务符合设定的指标。
具体地,服务器将测试业务数据和正常业务数据发送到测试分析组件中,测试分析组件根据测试业务数据和正常业务数据按照设定的指标进行对比分析,根据对比分析结果生成测试结果,将测试结果发送到管理终端进行展示。
在上述实施例中,通过测试分析组件对测试业务数据和正常业务数据进行对比分析,得到测试结果,提高了得到测试结果的准确性。
在一个实施例中,步骤s206,即根据测试项目模板和测试项目配置信息向业务组件发送测试请求,以使业务组件根据测试项目模板和测试项目配置信息进行执行,得到测试执行结果,包括步骤:
根据测试项目模板和测试项目配置信息向业务组件发送测试请求,以使业务组件根据测试请求向数据库服务器发送业务执行数据获取请求,获取数据库服务器根据业务执行数据获取请求查找到的业务执行数据,根据测试项目模板、测试项目配置信息和业务执行数据进行执行,得到测试执行结果。
其中,业务执行数据是指业务在执行时所需要的必不可少的数据,比如,比如在生成网页时所需要的网页资源数据,包括图片、文档等等,比如支付业务中执行中所需要的银行账户信息等等。
具体地,业务组件根据测试请求可以从数据库中查找业务执行数据,也可以向数据库服务器发送业务执行数据获取请求,数据库服务器接收到业务执行数据获取请求时,可以根据业务执行数据获取请求中待获取数据标识查找对应的业务执行数据。该待获取数据标识用于标识业务执行数据,是在业务组件中预先配置好的。然后数据库服务器将查找到的业务执行数据返回到服务器中。
服务器获取到数据库服务器返回的业务执行数据,根据测试项目模板、测试项目配置信息和业务执行数据进行执行,得到测试执行结果。比如,通过获取到网页展示的执行数据,根据测试网页按钮模板、测试网页按钮项目配置信息和业务执行数据进行执行,得到测试按钮网页,将测试按钮网页返回到测试用户对应的终端中进行展示。
在一个实施例中,业务组件测试方法,还包括:
通过测试申请组件监控业务组件,当监控到业务组件执行业务处理出现异常时,向业务组件发送停止业务执行请求,以使业务组件停止执行业务处理。
其中,业务处理出现异常是指业务组件在执行相应的业务时执行流程出现异常,无法正常执行完业务处理。比如,业务组件长时间未接受到业务请求响应。业务执行时测试模板或者测试版本信息有误,无法继续执行等等。
具体地,服务器可以通过测试申请组件对业务组件进行监控,当监控到业务组件执行业务处理出现异常时,测试申请组件可以向业务组件发送停止业务执行请求,业务组件接收到业务组件停止业务执行请求,根据停止业务执行请求终止测试业务的执行,并可以向测试分析组件返回停止业务执行的提示,该提示表明业务组件执行业务处理出现异常。
在一个实施例中,服务器接收到管理终端发送的停止业务执行指令,服务器根据停止业务执行指令向业务组件发送停止业务执行请求,以使业务组件停止执行业务处理。可以使管理人员灵活控制测试业务的执行,提高了测试的灵活性。
在一个具体的实施例中,如图6所述,为测试银行app的流程示意图。具体来说:用户通过具有银行app的终端向服务器发送支付业务请求,该支付业务请求中携带有业务请求标识,服务器接收到各个支付业务请求,根据业务请求标识通过分流组件进行分流识别。当分流识别通过时,将对应的支付业务请求发送到测试申请组件中,测试申请组件根据支付业务请求获取对应的测试支付业务模板和测试支付业务模板标识,并向测试配置组件发送测试配置请求,测试配置请求中携带有该支付业务请求和测试支付业务模板标识,测试配置组件根据支付业务请求和支付业务模板标识查找对应的测试支付版本信息。根据测试支付业务模板和测试支付版本信息向业务组件发送测试请求,业务组件根据测试支付业务模板和测试支付版本信息进行执行,得到测试支付结果并将测试支付结果返回给分流识别通过的业务请求对应的用户银行app中进行展示。当分流识别未通过时,将未通过的支付业务请求直接发送到业务组件中,业务组件根据未通过业务请求执行,得到支付结果,然后可以将支付结果返回给分流识别未通过的业务请求对应的用户银行app中进行展示。
应该理解的是,虽然图2-6的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-6中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图7所示,提供了一种业务组件测试装置700,包括:请求接收模块702、测试信息获取模块704、第一执行模块706、第二执行模块708和c结果返回模块710,其中:
请求接收模块702,用于接收终端发送的第一业务请求和第二业务请求;
测试信息获取模块704,用于将第一业务请求发送测试申请组件中,通过测试申请组件获取对应的测试项目模板和测试项目标识,并向测试配置组件发送测试配置请求,测试配置请求中携带有第一业务请求和测试项目标识,并在测试配置组件中根据第一业务请求和测试项目标识查找对应的测试项目配置信息;
第一执行模块706,用于根据测试项目模板和测试项目配置信息向业务组件发送测试请求,业务组件根据测试项目模板和测试项目配置信息进行执行,得到测试执行结果;
第二执行模块708,用于将第二业务请求发送到业务组件中,以使业务组件根据第二业务请求执行,得到执行结果;
结果返回模块710,用于将测试执行结果返回第一业务请求对应的终端和将执行结果返回第二业务请求对应的终端。
在一个实施例中,业务组件测试装置700,还包括:
标识确定模块,用于获取用户历史业务数据,提取用户历史业务数据中的业务特征;使用业务特征进行聚类计算,得到聚类结果;根据聚类结果确定用户类别,根据用户类别确定对应的业务请求标识。
在一个实施例中,请求接收模块702,包括:
解析单元,用于接收终端发送的各个业务请求,解析各个业务请求,得到各个业务请求标识;
计算单元,用于将各个业务请求标识发送到分流组件中,以使分流组件计算各个业务请求标识的哈希值,对哈希值取余计算,得到计算结果;
判断单元,用于当计算结果与预设结果一致时,将与预设结果一致的计算结果对应的业务请求作为第一业务请求,当所述计算结果与预设结果不一致时,将与预设结果不一致的计算结果对应的业务请求作为第二业务请求。
在一个实施例中,业务组件测试装置700,还包括:
测试结果生成模块,用于获取第一业务请求对应的终端返回的测试业务数据和第二业务请求对应的终端返回的正常业务数据;将测试业务数据和正常业务数据发送到测试分析组件中,以使测试分析组件根据测试业务数据和正常业务数据生成测试结果,将测试结果发送到管理终端。
在一个实施例中,第一执行模块706,包括:
执行数据查找单元,用于,根据测试项目模板和测试项目配置信息向业务组件发送测试请求,以使业务组件根据测试请求向数据库服务器发送业务执行数据获取请求,获取数据库服务器根据业务执行数据获取请求查找到的业务执行数据,根据测试项目模板、测试项目配置信息和业务执行数据进行执行,得到测试执行结果。
在一个实施例中,业务组件测试装置700,还包括:
测试监控模块,用于通过测试申请组件监控业务组件,当监控到业务组件执行业务处理出现异常时,向业务组件发送停止业务执行请求,以使业务组件停止执行业务处理
关于业务组件测试装置的具体限定可以参见上文中对于业务组件测试方法的限定,在此不再赘述。上述业务组件测试装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储测试结果数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种业务组件测试方法。
本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行计算机程序时实现上述任意实施例中业务组件测试方法所述的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任意实施例中业务组件测试方法所述的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。