决策引擎的测试方法、装置及电子设备
技术领域
本申请涉及计算机技术领域,尤其涉及一种决策引擎的测试方法、装置及电子设备。
背景技术
由于决策引擎(如风险决策引擎、营销决策引擎、信贷决策引擎等)本身的质量(如各项功能的可用性和稳定性),对决策结果是否正确起着至关重要的作用。因此,在将决策引擎应用至生产环境之前,需要对该决策引擎的各项功能进行完整、严密地测试,在确定该决策引擎的每项功能具备可用性和稳定性之后,再将该决策引擎应用至生产环境。
目前,基于人工配置的单条测试策略依次对决策引擎的各项功能进行测试。这种测试方式的缺陷在于,如果需要测试的功能很多,则需要花费大量的时间和精力进行每一功能对应的单条测试策略的配置,测试效率低下,亟需改进。
发明内容
本申请实施例提供了一种决策引擎的测试方法、装置及电子设备,以提高决策引擎的测试效率。
为解决上述技术问题,本申请实施例是这样实现的:
第一方面,提出了一种决策引擎的测试方法,所述方法包括:
执行为多个观察变量设计的多个测试用例,以生成多个事件,其中,所述观察变量为用于表征决策引擎的指定功能点的质量的指标,一个所述指定功能点对应存在至少一个观察变量;
执行为所述多个事件配置的决策策略,以触发预设模型的运行,其中,所述预设模型的输入包括所述多个观察变量的真实值,输出为所述决策策略所需的决策值;
响应于所述预设模型的运行操作,基于所述多个事件的事件数据确定所述多个观察变量的真实值;
基于所述多个观察变量的真实值和预设理论值的比对结果,确定所述多个观测变量对应的指定功能点的质量测试结果。
第二方面,提出了一种决策引擎的测试装置,所述装置包括:
第一执行模块,用于执行为多个观察变量设计的多个测试用例,以生成多个事件,其中,所述观察变量为用于表征决策引擎的指定功能点的质量的指标,一个所述指定功能点对应存在至少一个观察变量;
第二执行模块,用于执行为所述多个事件配置的决策策略,以触发预设模型的运行,其中,所述预设模型的输入包括所述多个观察变量的真实值,输出为所述决策策略所需的决策值;
第一确定模块,用于响应于所述预设模型的运行操作,基于所述多个事件的事件数据确定所述多个观察变量的真实值;
第二确定模块,用于基于所述多个观察变量的真实值和预设理论值的比对结果,确定所述多个观测变量对应的指定功能点的质量测试结果。
第三方面,提出了一种电子设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:
执行为多个观察变量设计的多个测试用例,以生成多个事件,其中,所述观察变量为用于表征决策引擎的指定功能点的质量的指标,一个所述指定功能点对应存在至少一个观察变量;
执行为所述多个事件配置的决策策略,以触发预设模型的运行,其中,所述预设模型的输入包括所述多个观察变量的真实值,输出为所述决策策略所需的决策值;
响应于所述预设模型的运行操作,基于所述多个事件的事件数据确定所述多个观察变量的真实值;
基于所述多个观察变量的真实值和预设理论值的比对结果,确定所述多个观测变量对应的指定功能点的质量测试结果。
第四方面,提出了一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行以下操作:
执行为多个观察变量设计的多个测试用例,以生成多个事件,其中,所述观察变量为用于表征决策引擎的指定功能点的质量的指标,一个所述指定功能点对应存在至少一个观察变量;
执行为所述多个事件配置的决策策略,以触发预设模型的运行,其中,所述预设模型的输入包括所述多个观察变量的真实值,输出为所述决策策略所需的决策值;
响应于所述预设模型的运行操作,基于所述多个事件的事件数据确定所述多个观察变量的真实值;
基于所述多个观察变量的真实值和预设理论值的比对结果,确定所述多个观测变量对应的指定功能点的质量测试结果。
由以上本申请实施例提供的技术方案可见,本申请实施例提供的方案至少具备如下一种技术效果:由于执行为多个观察变量设计的测试用例,可以生成多个事件,执行为这多个事件配置的决策策略可以触发预设模型的运行,而预设模型的输入包括所述多个观察变量。因此,触发预设模型运行的同时可以触发针对所述多个变量的真实值的并行计算,而不是单独触发针对各观察变量的真实值的计算,进而可以提升计算所述多个观察变量的真实值的效率,最终提升决策引擎的自动化测试效率。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是本说明书实施例提供的决策引擎的测试方法的流程示意图之一。
图2是本说明书实施例提供的风险决策引擎包含的功能模块示意图。
图3是本说明书实施例提供的决策引擎的测试方法的流程示意图之二。
图4是本说明书实施例提供的一种电子设备的结构示意图。
图5是本说明书实施例提供的决策引擎的测试装置的结构示意图之一。
图6是本说明书实施例提供的决策引擎的测试装置的结构示意图之二。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了提高决策引擎的测试效率,本说明书实施例提供一种决策引擎的测试方法、装置及设备。该方法及装置可以应用于任意的决策引擎中,如应用于第三方支付平台的风控系统的风险决策引擎中,或者应用于网络金融平台的信贷决策引擎中,或者应用于电商平台的营销决策引擎中。
决策引擎,可以看作是一种支撑决策策略运转的工具,能够对传入的事件数据进行计算,得出风险变量的真实值,然后触发决策策略根据风险变量的真实值给出一个相应的决策结果。风险变量是为刻画风险而设置的一些变量。
下面先对本说明书实施例提供的一种决策引擎的测试方法进行说明。如图1所示,本说明书实施例提供了一种决策引擎的测试方法,可应用于决策引擎中,该方法可以包括:
步骤102、执行为多个观察变量设计的多个测试用例,以生成多个事件,其中,所述观察变量为用于表征决策引擎的指定功能点的质量的指标,一个所述指定功能点对应存在至少一个观察变量。
在执行为多个观察变量设计的多个测试用例之前,可以先对决策引擎的待测功能模块进行分析,确定出待测功能模块包含的功能点。功能点,是指决策引擎中不能再细分的最小功能模块。指定功能点,是指需要测试的功能点,需要测试的功能点通常是决策引擎中较为重要或最为依赖的功能模块对应的功能点。不难理解,指定功能点也是决策引擎中不能再细分的最小功能模块。
图2示出了一种风险决策引擎的包含的功能模块的示意图。参考图2可知,该风险决策引擎包括监控中心21、分析中心22、策略中心23、案件中心24、数据中心25、开发者中心26和接入管理27等多个功能模块2。
由于不同功能模块对风控系统能否正常运行的影响程度不同,因此测试时常常会选择风险决策引擎运行时最为依赖的一个或多个功能模块作为测试对象。假如风险决策引擎运行时最为依赖的功能模块为:策略中心23和数据中心25,则可以对策略中心23和数据中心25这两个功能模块进行细分,确定这两个功能模块对应的功能点。其中,数据中心25用于支持各种类型的变量计算;策略中心23用于将这些变量进行组合然后进行逻辑判断,例如通过策略触发模块31触发阈值判断模块311对变量进行阈值判断,触发逻辑组合模块312进行变量的逻辑组合等。
继续参考图2可知,对于策略中心23这一功能模块而言,可以确定出策略配置231、灰度运行232、试运行233和正式运行234这四个功能点。对于数据中心25这一功能模块而言,可以确定出变量管理251、函数管理252、可信管理253、累积管理254、模型管理255、名单管理256和数据服务器257等功能点。
在确定出决策引擎最为依赖的功能模块对应的功能点之后,可以从这些功能点中选择一个或多个功能点作为需要测试的指定功能点。
在确定出需要测试的指定功能点之后,可以继续针对各指定功能点设计观察变量。如图2所示,对于数据中心25这一功能模块对应的功能点而言,可以设计出常规变量321、累计变量322、名单变量323、离线变量324、模型变量325和可信变量326等多种类型的观察变量。
更为具体的,以指定功能点为累计功能为例,可以针对不同的累积时长(如1min、1h、1天等不同的累积时长)、不同的累计计算方式(如求和、计数等)等设计不同的观察变量。例如,可以设计出“过去1min中内的手机访问数”、“指定用户在过去1天内的登录次数”等观察变量。
再比如,假如指定功能点为白名单功能,则可以设计出“用户的ID是否在白名单内”这样的观察变量。假如指定功能点为在线设备属性,则可以设计出“用户在线的设备属性(如手机)”这样的观察变量。
根据上述例子可以知道,观察变量可以理解为是用于表征决策引擎的指定功能点的质量的指标,它可以用于衡量决策引擎的指定功能点的质量,且一个所述指定功能点对应存在至少一个观察变量。
进一步地,在预先确定出需要测试的指定功能点,并为这些指定功能点设计出多个观察变量之后,可以分别为这多个观察变量设计一些独立的测试用例,并提前预估出这些测试用例对应的观察变量的理论值,以用于对这多个观察变量对应的指定功能点的质量(如可用性和稳定性是否满足要求,是否存在缺陷等)进行测试。下面通过表1和表2对观察变量以及为观察量设计的测试用例进行说明。
表1
表2
表1中的一行包含观察变量、观察变量对应的功能模块、指定功能点、测试ID、事件ID、预估的理论值、通下述步骤106确定出的实际值和该观察变量对应的功能点的测试结果等字段。如表1所示,观察变量“fun_p_online_mobile”对应的功能模块为“属性”,对应的功能点包括“在线属性获取”,对应的测试ID为“Property_0”,对应的事件ID为“Property_0_0001”,预估的理论值为18000511007,通下述步骤106确定出的实际值也为18000511007,从而通过下述步骤108可以确定出观察变量“fun_p_online_mobile”对应的功能点“在线属性获取”的测试结果为通过,也即该观察变量对应的功能点的质量符合要求,不存在缺陷。
表2中的一行代表为一个观察变量设计的一个测试用例,同一行中的各列表示该测试用例包含的字段。从表2中可以看出,一个测试用例可以包括功能模块、测试ID、测试说明、事件ID、用户ID、手机和IP地址这几个字段(当然也可以包含其他字段,此处仅是举例说明,不构成对本说明书实施例的限制)。结合表1和表2可知,表2列出了表1中的第一个、第四个至第七个观察变量的测试用例(从表1的第五列的第二行开始数起)。
可选地,预先为所述多个观察变量设计的测试用还可以满足如下至少一个要求:
数据接口最小化;
不同的测试用例之间相互独立;
同一测试用例被重复执行时相互独立。
其中,数据接口最小化,可以最大化利用已有事件数据格式包含的字段,降低设计测试用例工作的成本;不同的测试用例之间相互独立和同一测试用例被重复执行时相互独立,是为了保证自动化测试工作可以互不干扰的重复执行。
为了实现不同的测试用例之间相互独立和同一测试用例被重复执行时相互独立,可以使不同测试用例包含的字段的内容不同。比如对于实时累积测试用例,如果同一主体或客体被用于测试不同的累积功能点,可能后一个累积变量的计算会受到前一个累计变量的影响,因此,可以使不同的测试用例使用不同的字段,同一测试用例的同一主体或客体使用不同的ID,以规避这种影响。
步骤104、执行为所述多个事件配置的决策策略,以触发预设模型的运行,其中,所述预设模型的输入包括所述多个观察变量的真实值,输出为所述决策策略所需的决策值。
决策策略是预先配置在决策引擎中的,当决策引擎中产生一个事件时,会触发决策引擎执行该决策策略。
预设模型可以是预先训练得到的输入参数包括所述多个观察变量的真实值的任意模型,且该预设模型的输出参数为所述决策策略所需的决策值。
举例来说,假如所述多个观察变量包括A、B和C,则预设模型的输入参数包括A、B和C的值。进一步地,假如预设模型的输出参数被看作是变量D,则所述决策策略可以是依赖D的取值进行决策的策略,例如,决策策略可以是:D的取值>80%。
不难理解,由于决策策略的执行是依赖D的取值的,而D的取值是依赖于预设模型的,因此,在执行决策策略时必定会触发预设模型运行。
步骤106、响应于所述预设模型的运行操作,基于所述多个事件的事件数据确定所述多个观察变量的真实值。
通过分析步骤104中所举的例子不难发现,运行预设模型确定D的取值时,又不可避免地要获取A、B和C的取值,因此在响应预设模型的运行操作之后,会触发决策引擎基于所述多个事件的事件数据确定A、B和C的真实值的步骤,以得到预设模型的输入参数,从而确定出输出变量D的取值。
不难理解,由于预设模型运行时,需要同时输入A、B和C的值,才能输出D的取值。因此,通过触发预设模型的运行,可以同时触发针对A、B和C这三个观察变量的真实值的并行计算,而不是逐个的触发针对A、B和C这三个观察变量的真实值的计算,进而可以提升计算A、B和C这三个观察变量的真实值的效率,最终提升决策引擎的测试效率。
其中,基于所述多个事件的事件数据确定所述多个观察变量的真实值,可以包括:对所述多个事件的事件数据进行解析,获得所述多个观察变量的真实值。具体的,可以对多个事件的事件数据中包含的字段进行解析,从这多个事件的事件数据中直接获得这多个观察变量的真实值;或者,对多个事件的事件数据中包含的字段进行解析,获得一些中间值,对这些中间值进行预设形式的计算处理后,得到这多个观察变量的真实值。
步骤108、基于所述多个观察变量的真实值和预设理论值的比对结果,确定所述多个观测变量对应的指定功能点的质量测试结果。
需要说明的是,由于决策引擎针对一个事件会执行一次决策策略,因此,当执行多个测试用例产生多个事件之后,会执行多次的决策策略,相应的,预设模型的运行也会被触发多次。而预设模型每运行一次,就会计算一次所述多个观察变量的真实值,因此,在执行完步骤106之后,针对所述多个观察变量中的一个观察变量会计算出多个真实值,此时,针对一个观察变量,可以从计算出的多个真实值中按预先制定的规则选择一个真实值,作为与该观察变量的理论值比对的真实值。例如,可以将指定事件ID对应的真实值,作为与该观察变量的理论值比对的真实值。
在一个例子中,步骤108可以包括:
如果目标观察变量的指定真实值和预设理论值存在差异,则确定所述目标观察变量对应的指定功能点的质量不满足预设要求;
如果目标观察变量的指定真实值和预设理论值不存在差异,则确定所述目标观察变量对应的指定功能点的质量满足预设要求;
其中,所述目标观察变量为所述多个观察变量中的任一观察变量。
以上表1所列举的例子为例,假如目标观察变量为:fun_p_online_mobile,确定出的真实值为18000511007,预设理论值也为18000511007,二者一致,不存在差异,因此,可以确定目标观察变量“fun_p_online_mobile”对应的指定功能点(在线属性获取)的质量满足预设要求,不存在缺陷。反之,如果确定出的真实值不是18000511007,而是其他手机号码,则可以确定目标观察变量“fun_p_online_mobile”对应的指定功能点(在线属性获取)的质量不满足预设要求,存在缺陷,需要进行修复。
本说明书实施例提供的一种决策引擎的测试方法,由于执行为多个观察变量设计的测试用例,可以生成多个事件,执行为这多个事件配置的决策策略可以触发预设模型的运行,而预设模型的输入包括所述多个观察变量。因此,触发预设模型运行的同时可以触发针对所述多个变量的真实值的并行计算,而不是单独触发针对各观察变量的真实值的计算,进而可以提升计算所述多个观察变量的真实值的效率,最终提升决策引擎的自动化测试效率。
另外,预先为所述多个观察变量设计的测试用还可以满足如下至少一个要求:数据接口最小化、不同的测试用例之间相互独立和同一测试用例被重复执行时相互独立。其中,数据接口最小化,可以最大化利用已有事件数据格式包含的字段,降低设计测试用例工作的成本;不同的测试用例之间相互独立和同一测试用例被重复执行时相互独立,可以保证自动化测试工作可以互不干扰的重复执行。
可选地,如图3所示,本发明实施例提供的一种决策引擎的测试方法,还可以包括:
步骤110、基于所述多个观察变量生成样本数据,所述样本数据中的特征与生成该样本的观察变量存在一一对应关系。
可以汇总所述多个观察变量,并以这些观察变量生成一批随机样本。为了使基于这一批随机样本训练得到的预设模型的输入包含所述多个观察变量,所述样本数据中的特征与生成该样本的观察变量存在一一对应关系,也就是说所述样本数据中存在与所述多个观察变量逐一对应的特征。
为了使所述样本数据中的特征与生成该样本的观察变量存在一一对应关系,一种可选地实施方式为:使样本中的多个特征名称与所述多个观察变量的名称或ID一一对应即可。
步骤112、基于所述样本数据训练所述预设模型。
基于样本数据训练所述预设模型的方式可参照任一模型的训练方式,例如可以参照逻辑回归(Logistic Regression,LR)的训练方式,训练得到所述预设模型。
可以理解,在本说明书实施例中,预设模型的作用是为了将所述多个变量观察变量整合,以在运行所述预设模型的同时并行触发针对这多个变量的真实值的计算,模型本身并没有特殊的含义。
可选地,如图3所示,本发明实施例提供的一种决策引擎的测试方法,还可以包括:
步骤114、接收并响应配置请求,所述配置请求用于配置所述多个观察变量、所述预设模型、所述决策策略和所述多个事件的事件数据格式。
其中,所述多个观察变量、所述预设模型、所述决策策略和所述多个事件的事件数据格式是预先设计好的,具体设计过程可以参照对图1所示的实施例的说明,此处不再赘述。
在实际应用中,当观察变量、预设模型和测试用例都设计好以后,在开始测试之前,还需要在决策引擎中配置所述多个观察变量、所述预设模型、所述决策策略和所述多个事件的事件数据格式(如事件数据包含的字段等)。可选地,在执行完这些配置工作之后,可以将所配置的内容集成到决策引擎中,以避免需要重复配置,也就是说只进行一次配置,就可以实现需要测试的多个功能点的测试,这从另一个角度提高了决策引擎的测试效率。
以上是对本说明书提供一种决策引擎的测试方法的说明,下面对本说明书提供的电子设备进行介绍。
图4是本说明书的一个实施例提供的电子设备的结构示意图。请参考图4,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成决策引擎的测试装置。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
执行为多个观察变量设计的多个测试用例,以生成多个事件,其中,所述观察变量为用于表征决策引擎的指定功能点的质量的指标,一个所述指定功能点对应存在至少一个观察变量;
执行为所述多个事件配置的决策策略,以触发预设模型的运行,其中,所述预设模型的输入包括所述多个观察变量的真实值,输出为所述决策策略所需的决策值;
响应于所述预设模型的运行操作,基于所述多个事件的事件数据确定所述多个观察变量的真实值;
基于所述多个观察变量的真实值和预设理论值的比对结果,确定所述多个观测变量对应的指定功能点的质量测试结果。
上述如本说明书图1或图3所示实施例揭示的决策引擎的测试方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本说明书一个或多个实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本说明书一个或多个实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
该电子设备还可执行图1或图3的决策引擎的测试方法,本说明书在此不再赘述。
当然,除了软件实现方式之外,本说明书的电子设备并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
本说明书实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的便携式电子设备执行时,能够使该便携式电子设备执行图6所示实施例的方法,并具体用于执行以下操作:
执行为多个观察变量设计的多个测试用例,以生成多个事件,其中,所述观察变量为用于表征决策引擎的指定功能点的质量的指标,一个所述指定功能点对应存在至少一个观察变量;
执行为所述多个事件配置的决策策略,以触发预设模型的运行,其中,所述预设模型的输入包括所述多个观察变量的真实值,输出为所述决策策略所需的决策值;
响应于所述预设模型的运行操作,基于所述多个事件的事件数据确定所述多个观察变量的真实值;
基于所述多个观察变量的真实值和预设理论值的比对结果,确定所述多个观测变量对应的指定功能点的质量测试结果。
下面对本说明书提供的决策引擎的测试装置进行说明。
如图5所示,本说明书的一个实施例提供了一种决策引擎的测试装置,可应用于决策引擎中,在一种软件实施方式中,该决策引擎的测试装置可包括:第一执行模块501、第二执行模块502、第一确定模块503和第二确定模块504。
第一执行模块501,用于执行为多个观察变量设计的多个测试用例,以生成多个事件,其中,所述观察变量为用于表征决策引擎的指定功能点的质量的指标,一个所述指定功能点对应存在至少一个观察变量。
在执行为多个观察变量设计的多个测试用例之前,可以先对决策引擎的待测功能模块进行分析,确定出待测功能模块包含的功能点。功能点,是指决策引擎中不能再细分的最小功能模块。指定功能点,是指需要测试的功能点,需要测试的功能点通常是决策引擎中较为重要或最为依赖的功能模块对应的功能点。不难理解,指定功能点也是决策引擎中不能再细分的最小功能模块。
在确定出需要测试的指定功能点之后,可以继续针对各指定功能点设计观察变量。观察变量可以理解为是用于表征决策引擎的指定功能点的质量的指标,它可以用于衡量决策引擎的指定功能点的质量,且一个所述指定功能点对应存在至少一个观察变量。
进一步地,在预先确定出需要测试的指定功能点,并为这些指定功能点设计出多个观察变量之后,可以分别为这多个观察变量设计一些独立的测试用例,并提前预估出这些测试用例对应的观察变量的理论值,以用于对这多个观察变量对应的指定功能点的质量(如可用性和稳定性是否满足要求,是否存在缺陷等)进行测试。
可选地,预先为所述多个观察变量设计的测试用还可以满足如下至少一个要求:
数据接口最小化;
不同的测试用例之间相互独立;
同一测试用例被重复执行时相互独立。
其中,数据接口最小化,可以最大化利用已有事件数据格式包含的字段,降低设计测试用例工作的成本;不同的测试用例之间相互独立和同一测试用例被重复执行时相互独立,是为了保证自动化测试工作可以互不干扰的重复执行。
为了实现不同的测试用例之间相互独立和同一测试用例被重复执行时相互独立,可以使不同测试用例包含的字段的内容不同。比如对于实时累积测试用例,如果同一主体或客体被用于测试不同的累积功能点,可能后一个累积变量的计算会受到前一个累计变量的影响,因此,可以使不同的测试用例使用不同的字段,同一测试用例的同一主体或客体使用不同的ID,以规避这种影响。
第二执行模块502,用于执行为所述多个事件配置的决策策略,以触发预设模型的运行,其中,所述预设模型的输入包括所述多个观察变量的真实值,输出为所述决策策略所需的决策值。
决策策略是预先配置在决策引擎中的,当决策引擎中产生一个事件时,会触发决策引擎执行该决策策略。
预设模型可以是预先训练得到的输入参数包括所述多个观察变量的真实值的任意模型,且该预设模型的输出参数为所述决策策略所需的决策值。
第一确定模块503,用于响应于所述预设模型的运行操作,基于所述多个事件的事件数据确定所述多个观察变量的真实值。
作为一个例子,所述第一确定模块503,可用于对所述多个事件的事件数据进行解析,获得所述多个观察变量的真实值。具体的,可以对多个事件的事件数据中包含的字段进行解析,从这多个事件的事件数据中直接获得这多个观察变量的真实值;或者,对多个事件的事件数据中包含的字段进行解析,获得一些中间值,对这些中间值进行预设形式的计算处理后,得到这多个观察变量的真实值。
第二确定模块504,用于基于所述多个观察变量的真实值和预设理论值的比对结果,确定所述多个观测变量对应的指定功能点的质量测试结果。
作为一个例子,所述第二确定模块504可用于:
如果目标观察变量的指定真实值和预设理论值存在差异,则确定所述目标观察变量对应的指定功能点的质量不满足预设要求;
如果目标观察变量的指定真实值和预设理论值不存在差异,则确定所述目标观察变量对应的指定功能点的质量满足预设要求;
其中,所述目标观察变量为所述多个观察变量中的任一观察变量。
本说明书实施例提供的一种决策引擎的测试装置500,由于执行为多个观察变量设计的测试用例,可以生成多个事件,执行为这多个事件配置的决策策略可以触发预设模型的运行,而预设模型的输入包括所述多个观察变量。因此,触发预设模型运行的同时可以触发针对所述多个变量的真实值的并行计算,而不是单独触发针对各观察变量的真实值的计算,进而可以提升计算所述多个观察变量的真实值的效率,最终提升决策引擎的自动化测试效率。
可选地,如图6所示,在另一实施例中,决策引擎的测试装置500还可以包括:样本数据生成模块505和模型训练模块506。
样本数据生成模块505,用于在所述第一执行模块执行为多个观察变量设计的多个测试用例之前,基于所述多个观察变量生成样本数据,所述样本数据中的特征与生成该样本的观察变量存在一一对应关系。
模型训练模块506,用于基于所述样本数据训练所述预设模型。
可以理解,在本说明书实施例中,预设模型的作用是为了将所述多个变量观察变量整合,以在运行所述预设模型的同时并行触发针对这多个变量的真实值的计算,模型本身并没有特殊的含义。
可选地,如图6所示,在另一实施例中,决策引擎的测试装置500还可以包括:配置请求响应模块507。
配置请求响应模块507,用于在所述第一执行模块执行为多个观察变量设计的多个测试用例之前,接收并响应配置请求,所述配置请求用于配置所述多个观察变量、所述预设模型、所述决策策略和所述多个事件的事件数据格式。
在实际应用中,当观察变量、预设模型和测试用例都设计好以后,在开始测试之前,还需要在决策引擎中配置所述多个观察变量、所述预设模型、所述决策策略和所述多个事件的事件数据格式(如事件数据包含的字段等)。可选地,在执行完这些配置工作之后,可以将所配置的内容集成到决策引擎中,以避免需要重复配置,也就是说只进行一次配置,就可以实现需要测试的多个功能点的测试,这从另一个角度提高了决策引擎的测试效率。
需要说明的是,决策引擎的测试装置500能够实现图1的方法实施例的方法,具体可参考图1所示实施例的决策引擎的测试方法,不再赘述。
上述对本说明书特定实施例进行了描述,其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
总之,以上所述仅为本说明书的较佳实施例而已,并非用于限定本说明书的保护范围。凡在本说明书一个或多个实施例的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例的保护范围之内。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制时,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。