一种系统测试的方法和装置制造方法

文档序号:6487803阅读:103来源:国知局
一种系统测试的方法和装置制造方法
【专利摘要】本发明提供了一种系统测试的方法和装置,针对包含两个以上模块的流式系统,其中方法包括:S1、提取所述流式系统中各模块自身的策略效果作为单效果以及两个以上模块相互配合的策略效果作为组合效果;S2、将各单效果和组合效果的效果特征构成效果特征集合,以及提取各效果特征之间的相互关系构成特征关系集合;S3、对各模块对应的效果特征进行监控并收集效果特征值;S4、利用收集的效果特征值对特征关系集合进行逐条验证,并相应输出验证结果。通过本发明能够实现流式系统的效果测试,并方便快速地实现问题定位。
【专利说明】一种系统测试的方法和装置
【【技术领域】】
[0001]本发明涉及计算机测试【技术领域】,特别涉及一种系统测试的方法和装置。
【【背景技术】】
[0002]系统效果测试是系统测试中的一种,主要对系统运行中产生的日志或者模块状态参数进行监控,依据监控数据,判断系统是否达到预期效果。对于多模块组成的流式系统,现有的测试方式主要是结果导向的测试方法。
[0003]结果导向的测试方法只关注系统或者模块运行的最终结果。虽然能够检测出系统的输出结果是否在一个合理的范围内,但是不能检测出系统的运行是否合理。这种方式在系统较为简单,策略单一时,可以很好的达到测试目的;但如果系统较为复杂,存在多个策略分支产生同一个结果时,测试不能完整覆盖,同时在系统测试结果出现问题时,问题定位困难,耗时漫长。

【发明内容】

[0004]有鉴于此,本发明提供了一种系统测试的方法和装置,以便于在实现流式系统的效果测试时,便于问题定位。
[0005]具体技术方案如下:
[0006]一种系统 测试的方法,针对包含两个以上模块的流式系统,该方法包括:
[0007]S1、提取所述流式系统中各模块自身的策略效果作为单效果以及两个以上模块相互配合的策略效果作为组合效果;
[0008]S2、将各单效果和组合效果的效果特征构成效果特征集合,以及提取各效果特征之间的相互关系构成特征关系集合;
[0009]S3、对效果特征集合中各模块对应的效果特征进行监控并收集效果特征值;
[0010]S4、利用收集的效果特征值对特征关系集合进行逐条验证,并相应输出验证结果。
[0011]根据本发明一优选实施例,所述步骤SI具体包括:
[0012]基于流式系统的功能列表提取各功能点以及功能点之间的依赖关系;
[0013]以功能点为节点,对所有功能点建立数据结构有向图;
[0014]提取所述数据结构有向图中入度为O且出度为O的节点作为单效果,提取所述数据结构有向图中入度为O但出度不为O的节点及其关联节点作为组合效果。
[0015]根据本发明一优选实施例,在所述步骤S2中通过运行日志、模块状态或者命令响应端口获取各模块的参数作为对应单效果和组合效果的效果特征。
[0016]根据本发明一优选实施例,所述步骤S4具体包括:
[0017]S41、从特征关系集合中读取未被验证的特征关系;
[0018]S43、判断收集到的当前特征关系涉及的效果特征值是否满足当前特征关系,如果是,标注当前特征关系验证通过,执行步骤S44 ;否则,标注当前特征关系验证失败,执行步骤 S44 ;[0019]S44、判断特征关系集合中所有特征关系是否验证完毕,如果是,执行步骤S45 ;否则转至步骤S41 ;
[0020]S45、输出特征关系集合中标注验证失败的特征关系所对应的策略效果或者标注验证通过的特征关系所对应的策略效果。
[0021]根据本发明一优选实施例,在所述步骤S41和步骤S43之间还包括:
[0022]S42、判断当前特征关系涉及的效果特征值是否被收集到,如果是,执行步骤S43 ;否则,标注当前特征关系验证失败,执行步骤S44。
[0023]一种系统测试的装置,针对包含两个以上模块的流式系统,该装置包括:
[0024]效果提取单元,用于提取所述流式系统中各模块自身的策略效果作为单效果以及两个以上模块相互配合的策略效果作为组合效果;
[0025]特征提取单元,用于将各单效果和组合效果的效果特征构成效果特征集合;
[0026]关系提取单元,用于提取各效果特征之间的相互关系构成特征关系集合;
[0027]特征确定单元,用于确定效果特征集合中各模块对应的效果特征;
[0028]数据监控单元,用于对各模块对应的效果特征进行监控并收集效果特征值;
[0029]关系验证单元,用于利用收集的效果特征值对特征关系集合进行逐条验证,并相应输出验证结果。
[0030]根据本发明一优选实施例,所述效果提取单元具体基于所述流式系统的功能列表提取各功能点以及功能点之间的依赖关系,以功能点为节点,对所有功能点建立数据结构有向图,提取所述数据结构有向图中入度为O且出度为O的节点作为单效果,提取所述数据结构有向图中入度为O但出度不为O的节点及其关联节点作为组合效果。
[0031]根据本发明一优选实施例,所述特征提取单元通过运行日志、模块状态或者命令响应端口获取各模块的参数作为对应单效果和组合效果的效果特征。
[0032]根据本发明一优选实施例,所述关系验证单元具体包括:
[0033]读取子单元,用于从特征关系集合中读取未被验证的特征关系提供给第一判断子单元;
[0034]第一判断子单元,用于判断收集到的当前特征关系涉及的效果特征值是否满足当前特征关系,如果是,标注当前特征关系验证通过,触发第二判断子单元;否则,标注当前特征关系验证失败,触发第二判断子单元;
[0035]第二判断子单元,用于判断特征关系集合中所有特征关系是否验证完毕,如果是,触发输出子单元;否则,触发所述读取子单元;
[0036]输出子单元,用于输出特征关系集合中标注验证失败的特征关系所对应的策略效果或者标注验证通过的特征关系所对应的策略效果。
[0037]根据本发明一优选实施例,所述关系验证单元还包括:
[0038]第三判断子单元,用于在所述第一判断子单元执行判断操作之前,首先判断当前特征关系涉及到的效果特征值是否被收集到,如果是,触发所述第一判断子单元执行所述判断操作;否则,标注当前特征关系验证失败,禁止所述第一判断子单元执行所述判断操作,触发所述第二判断子单元。
[0039]由以上技术方案可以看出,本发明通过提取模块的单效果和组合效果的效果特征,以及各效果特征之间的相互关系,将系统效果分解为一系列可衡量的效果特征和特征关系,通过对各模块的效果特征进行监控和基于特征关系的验证来实现流式系统的效果测试,能够及时获知验证失败的特征关系,从而方便快速地实现问题定位。
【【专利附图】

【附图说明】】
[0040]图1为本发明实施例一提供的系统测试方法流程图;
[0041]图2为本发明实施例一提供的对特征关系集合进行逐条验证的流程图;
[0042]图3为本发明实施例二提供的系统测试装置结构图;
[0043]图4为本发明实施例二提供的关系验证单元的结构图。
【【具体实施方式】】
[0044]为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
[0045]本发明提供的针对流式系统的检测方法主要包括系统效果建模、模块化的监控部署以及特征关系化的效果测试三个阶段,下面通过实施例一对具体的检测方法进行描述。
[0046]实施例一、
[0047]图1为本发明实施例一提供的主要方法流程图,如图1所示,该方法包括:
[0048]步骤101:提取流式系统中各模块自身实现的策略效果作为单效果,以及提取两个以上模块相互配合的策略效果作为组合效果,将提取的单效果和组合效果构成策略集合。
[0049]在一个多模块组成的流式系统中,如果某个策略效果的合理性通过一个效果特征的数值或者该效果特征的历史数值来判断,那么称该策略效果为单效果。例如,模块A需要均速处理数据,那么模块A对应一个单效果,即“数据匀速处理,P+-10%”,其中P表示模块A单位时间内日志滚动条目的波动在10%以内。
[0050]在一个多模块组成的流式系统中,如果某个策略效果的合理性需要通过两个以上的效果特征的数值或者两个以上效果特征的相互关系来判断,那么称该策略效果为组合效果。例如,模块AO将数据分发给下游模块A1,A2,A3,那么存在一个组合效果,即“传输数据无丢失,P0=P1+P2+P3 “ ;其中PO表示AO发送的数据条目,P1、P2和P3分别表示Al、A2和A3接收到的数据条目。
[0051]本步骤中单效果和组合效果的提取通常可以基于流式系统已有的功能列表实现,这些功能列表可以通常由流失系统的详细设计、使用说明、功能说明等生成,功能列表为现有的内容,本发明基于该功能列表实现上述单效果和组合效果的提取。
[0052]其中,单效果的提取方式具体包括:基于流式系统的功能列表提取各功能点以及功能点之间的依赖关系;依据功能点之间的依赖关系,以功能点为节点,对所有功能点建立数据结构有向图;提取图中入度为O且出度为O的节点作为单效果。
[0053]组合效果的提取方式具体包括:基于流式系统的功能列表提取各功能点以及功能点之间的依赖关系,以功能点为节点,对所有功能点建立数据结构有向图;提取图中入度为O但出度不为O的节点及其所有的关联节点作为组合效果。
[0054]步骤102:提取策略集合中各单效果和组合效果的效果特征构成效果特征集合,以及提取各效果特征之间的相互关系构成特征关系集合。[0055]本步骤中可以通过运行日志、模块状态或者命令响应端口获取各模块的参数作为对应单效果和组合效果的效果特征,例如,上例中的P、P1、P2和P3。
[0056]为了更好的对策略效果进行描述,将效果特征进行关联抽象为一系列的特征关系,特征关系之间采用与关系联系,具体是指效果特征之间由于效果而存在的关联关系,包含策略id和与关系表达式。其中表达式可以包括但不限于以下几种:
[0057]阀值类:类似“p〈num”或者“p>num”,其中p代表效果特征值,num代表特定数值。
[0058]历史波动类:类似“P+-10”表示历史波动幅度小于10% ;“p++10”表示历史波动增幅小于10% ;“p—10”表示历史波动减幅小于10%。
[0059]算数类:类似“pl=p2+p3+…+pn”表示效果特征值pi是p2、p3、…、Pn之和。
[0060]与或类:类似“R11 I R2”表示该项特征关系是特征关系Rl和R2的或关联。
[0061]上述步骤101和步骤102为系统效果建模阶段,即将系统效果分解为一系列组合效果和单效果,并进一步将组合效果和单效果分解为一系列可衡量的效果特征,从而得到效果特征集合和特征关系集合。
[0062]步骤103:确定效果特征集合中各模块对应的效果特征。
[0063]各模块对应的效果特征可以包括:日志类效果特征、模块状态类效果特征和模块端口响应类效果特征中的至少一种。
[0064]同理,本步 骤中可以通过运行日志、模块状态或者命令响应端口获取各模块的参数作为各模块对应的效果特征。实际上该步骤与步骤102没有固定的先后顺序,也就是说,可以在确定效果特征集合时就确定出各模块对应的效果特征。
[0065]步骤104:对各模块对应的效果特征进行监控并收集效果特征值。
[0066]可以预先订制获取各模块对应的效果特征的监控程序,该监控程序可以以模块运行日志、模块状态或命令响应端口作为输入,从而实现对各模块对应的效果特征的监控。在进行监控程序的实际部署时,可以采用单机或者分布式的方式,如果采用分布式的方式,对收集到的监控数据可能进行必要的汇总。
[0067]上述步骤103和步骤104为模块化的监控部署阶段,即将特征结合分散到模块,进行部署和监控,并进行必要的汇总。
[0068]步骤105:利用收集的效果特征值对特征关系集合进行逐条验证,并相应输出验证结果。
[0069]依据步骤102可知,特征关系集合中实际上是效果特征之间的相互关系被抽象出的表达式,逐条对这些表达式进行验证。本步骤的具体过程如图2所示,可以包括以下步骤:
[0070]步骤201:从特征关系集合中读取未被验证的特征关系。
[0071]步骤202:判断当前特征关系涉及到的效果特征值是否被收集到,如果是,执行步骤203 ;否则,标注当前特征关系验证失败,执行步骤204。
[0072]步骤203:判断收集到的效果特征值是否满足当前特征关系,如果是,标注当前特征关系验证通过,执行步骤204,否则标注当前特征关系验证失败,执行步骤204。
[0073]本步骤实际上就是将效果特征值代入对应的表达式,判断表达式是否成立,如果成立,则说明效果特征满足当前特征关系。
[0074]另外,也可以不执行上述步骤202,如果某效果特征值没有收集到,包含该效果特征的特征关系必然不会被满足,从而导致验证失败,执行步骤202可以提高验证效率。
[0075]步骤204:判断特征关系集合中所有特征关系是否验证完毕,如果否,转至步骤201 ;如果是,执行步骤205。以特征关系“P0=P1+P2+P3”为例,即将效果特征值,即PO、P1、P2和P3的值分别代入上述的表达式,判断该表达式是否成立,如果成立,则说明验证通过,也就是说,模块AO将数据分发给下游模块Al,A2,A3时,“传输数据无丢失”这一策略效果满足要求,否则说明这一策略效果不满足要求。
[0076]步骤205:输出特征关系集合中标注验证失败的特征关系所对应的策略效果。
[0077]当然,在本步骤中也可以输出特征关系集合中标注验证通过的特征关系所对应的策略效果。
[0078]上述步骤105是规则化的效果测试阶段,即利用监控得到的数据和特征关系集合,判断策略效果是否通过。
[0079]以上是对本发明所提供的方法进行的描述,下面通过实施例二对本发明所提供的装置进行详细描述。
[0080]实施例二、
[0081]图3为本发明实施例二提供的系统测试装置结构图,同样该装置针对包含两个以上模块的流式系统,如图3所示,该装置包括:效果提取单元300、特征提取单元310、关系提取单元320、特征确定单元330、数据监控单元340和关系验证单元350。
[0082]效果提取单元300,用于提取流式系统中各模块自身的策略效果作为单效果以及两个以上模块相互配合的策略效果作为组合效果,将提取的单效果和组合效果构成策略集
口 ο
[0083]具体地,效果提取单元300可以基于流式系统的功能列表提取各功能点以及功能点之间的依赖关系;以功能点为节点,对所有功能点建立数据结构有向图;提取数据结构有向图中入度为O且出度为O的节点作为单效果,提取数据结构有向图中入度为O但出度不为O的节点及其关联节点作为组合效果。
[0084]特征提取单元310,用于将各单效果和组合效果的效果特征构成效果特征集合。具体地,特征提取单元310可以通过运行日志、模块状态或者命令响应端口获取各模块的参数作为对应单效果和组合效果的效果特征。
[0085]关系提取单元320,用于提取各效果特征之间的相互关系构成特征关系集合。为了更好的对策略效果进行描述,将效果特征进行关联抽象为一系列的特征关系,特征关系之间采用与关系联系,具体是指效果特征之间由于效果而存在的关联关系,包含策略id和与关系表达式。同样表达式可以包括但不限于:阈值类、历史波动类、算数类、与或类等,具体参见实施例一中的相关描述。
[0086]特征确定单元330,用于确定效果特征集合中各模块对应的效果特征。此处可以通过运行日志、模块状态或者命令响应端口获取各模块的参数作为各模块对应的效果特征。
[0087]数据监控单元340,用于对各模块对应的效果特征进行监控并收集效果特征值。该数据监控单元340可以由预先订制的获取各模块对应的效果特征的监控程序构成,监控程序可以以模块运行日志、模块状态或命令响应端口作为输入,从而实现对各模块对应的效果特征的监控。在进行监控程序的实际部署时,可以采用单机或者分布式的方式,如果采用分布式的方式,对收集到的监控数据可能进行必要的汇总。[0088]关系验证单元350,用于利用收集的效果特征值对特征关系集合进行逐条验证,并相应输出验证结果。特征关系集合中实际上是效果特征之间的相互关系被抽象出的表达式,因此关系验证单元350逐条对这些表达式进行验证。
[0089]其中关系验证单元350的结构可以如图4所示,具体包括:读取子单元401、第一判断子单元402、第二判断子单元403和输出子单元404。
[0090]读取子单元401,用于从特征关系集合中读取未被验证的特征关系提供给第一判断子单元402。
[0091]第一判断子单元402,用于判断收集到的当前特征关系涉及的效果特征值是否满足当前特征关系,如果是,标注当前特征关系验证通过,触发第二判断子单元403 ;否则,标注当前特征关系验证失败,触发第二判断子单元403。
[0092]实际上,第一判断子单元402就是将效果特征值代入对应的表达式,判断表达式是否成立,如果成立,则说明效果特征满足当前特征关系。
[0093]第二判断子单元403,用于判断特征关系集合中所有特征关系是否验证完毕,如果是,触发输出子单元404 ;否则,触发读取子单元401。
[0094]输出子单元404,用于输出特征关系集合中标注验证失败的特征关系所对应的策略效果或者标注验证通过的特征关系所对应的策略效果。
[0095]为了提高验证效率,关系验证单元350还可以进一步包括:第三判断子单元405,用于在第一判断子单元402执行判断操作之前,首先判断当前特征关系涉及到的效果特征值是否被收集到,如果是,触发第一判断子单元402执行判断操作;否则,标注当前特征关系验证失败,禁止第一判断子单元402执行判断操作,触发第二判断子单元403。
[0096]由以上描述可以看出,本发明提供的方法和装置具备以下优点:
[0097]I)本发明通过提取模块的单效果和组合效果的效果特征,以及各效果特征之间的相互关系,将系统效果分解为一系列可衡量的效果特征和特征关系,通过对各模块的效果特征进行监控和基于特征关系的验证来实现流式系统的效果测试,能够及时获知验证失败的特征关系,从而方便快速地实现问题定位。
[0098]2)监控与效果测试的分离,使得对各效果特征监控的唯一性,有效地降低了监控冗余,减少了资源浪费。
[0099]3)将策略效果抽象为一系列的表达式,提高了系统效果的可测性,简化了异常分析成本,更进一步方便问题定位。
[0100]以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
【权利要求】
1.一种系统测试的方法,针对包含两个以上模块的流式系统,其特征在于,该方法包括:51、提取所述流式系统中各模块自身的策略效果作为单效果以及两个以上模块相互配合的策略效果作为组合效果;52、将各单效果和组合效果的效果特征构成效果特征集合,以及提取各效果特征之间的相互关系构成特征关系集合;53、对效果特征集合中各模块对应的效果特征进行监控并收集效果特征值;54、利用收集的效果特征值对特征关系集合进行逐条验证,并相应输出验证结果。
2.根据权利要求1所述的方法,其特征在于,所述步骤SI具体包括:基于流式系统的功能列表提取各功能点以及功能点之间的依赖关系;以功能点为节点,对 所有功能点建立数据结构有向图;提取所述数据结构有向图中入度为O且出度为O的节点作为单效果,提取所述数据结构有向图中入度为O但出度不为O的节点及其关联节点作为组合效果。
3.根据权利要求1所述的方法,其特征在于,在所述步骤S2中通过运行日志、模块状态或者命令响应端口获取各模块的参数作为对应单效果和组合效果的效果特征。
4.根据权利要求1所述的方法,其特征在于,所述步骤S4具体包括:541、从特征关系集合中读取未被验证的特征关系;543、判断收集到的当前特征关系涉及的效果特征值是否满足当前特征关系,如果是,标注当前特征关系验证通过,执行步骤S44;否则,标注当前特征关系验证失败,执行步骤S44 ;544、判断特征关系集合中所有特征关系是否验证完毕,如果是,执行步骤S45;否则转至步骤S41 ;545、输出特征关系集合中标注验证失败的特征关系所对应的策略效果或者标注验证通过的特征关系所对应的策略效果。
5.根据权利要求4所述的方法,其特征在于,在所述步骤S41和步骤S43之间还包括:542、判断当前特征关系涉及的效果特征值是否被收集到,如果是,执行步骤S43;否则,标注当前特征关系验证失败,执行步骤S44。
6.一种系统测试的装置,针对包含两个以上模块的流式系统,其特征在于,该装置包括:效果提取单元,用于提取所述流式系统中各模块自身的策略效果作为单效果以及两个以上模块相互配合的策略效果作为组合效果;特征提取单元,用于将各单效果和组合效果的效果特征构成效果特征集合;关系提取单元,用于提取各效果特征之间的相互关系构成特征关系集合;特征确定单元,用于确定效果特征集合中各模块对应的效果特征;数据监控单元,用于对各模块对应的效果特征进行监控并收集效果特征值;关系验证单元,用于利用收集的效果特征值对特征关系集合进行逐条验证,并相应输出验证结果。
7.根据权利要求6所述的装置,其特征在于,所述效果提取单元具体基于所述流式系统的功能列表提取各功能点以及功能点之间的依赖关系,以功能点为节点,对所有功能点建立数据结构有向图,提取所述数据结构有向图中入度为O且出度为O的节点作为单效果,提取所述数据结构有向图中入度为O但出度不为O的节点及其关联节点作为组合效果。
8.根据权利要求6所述的装置,其特征在于,所述特征提取单元通过运行日志、模块状态或者命令响应端口获取各模块的参数作为对应单效果和组合效果的效果特征。
9.根据权利要求6所述的装置,其特征在于,所述关系验证单元具体包括:读取子单元,用于从特征关系集合中读取未被验证的特征关系提供给第一判断子单元;第一判断子单元,用于判断收集到的当前特征关系涉及的效果特征值是否满足当前特征关系,如果是,标注当前特征关系验证通过,触发第二判断子单元;否则,标注当前特征关系验证失败,触发第二判断子单元;第二判断子单元,用于判断特征关系集合中所有特征关系是否验证完毕,如果是,触发输出子单元;否则,触发所述读取子单元;输出子单元,用于输出特征关系集合中标注验证失败的特征关系所对应的策略效果或者标注验证通过的特征关系所对应的策略效果。
10.根据权利要求9所述的装置,其特征在于,所述关系验证单元还包括:第三判断子单元,用于在所述第一判断子单元执行判断操作之前,首先判断当前特征关系涉及到的效果特征值是否被收集到,如果是,触发所述第一判断子单元执行所述判断操作;否则,标注当前特征关系验证失败,禁止所述第一判断子单元执行所述判断操作,触发所述第二判断子单元。
【文档编号】G06F11/36GK103593279SQ201210287405
【公开日】2014年2月19日 申请日期:2012年8月13日 优先权日:2012年8月13日
【发明者】赵辉 申请人:百度在线网络技术(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1