首页 / 专利库 / 企业组织 / 流程图 / 流程引擎的测试方法及装置

流程引擎的测试方法及装置

阅读:432发布:2020-09-08

专利汇可以提供流程引擎的测试方法及装置专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种流程引擎的测试方法及装置,用以解决 现有技术 中流程引擎测试的精确度较低以及成本过高的技术问题。所述装置包括多种类型的流程规则,所述方法包括:根据所述多种类型的流程规则中的至少一种流程规则生成流程模板;对生成的每个所述流程模板执行以下操作:根据流程引擎执行所述流程模板,得到实际执行结果;确定所述实际执行结果与所述流程模板的预期执行结果是否一致。,下面是流程引擎的测试方法及装置专利的具体信息内容。

1.一种流程引擎的测试方法,其特征在于,所述方法应用于测试装置,所述测试装置包括多种类型的流程规则,所述方法包括:
根据所述多种类型的流程规则中的至少一种流程规则生成流程模板;
对生成的每个所述流程模板执行以下操作:
根据流程引擎执行所述流程模板,得到实际执行结果;
确定所述实际执行结果与所述流程模板的预期执行结果是否一致。
2.根据权利要求1所述的方法,其特征在于,所述流程规则包括以下至少一种类型的规则:
流程图拓扑类规则、资源分配类规则、运行期控制类规则。
3.根据权利要求1或2所述的方法,其特征在于,所述测试装置还存储有不同类型的流程规则之间的依赖关系,所述根据所述多种类型的流程规则中的至少一种流程规则生成流程模板,包括:
利用所述依赖关系组合所述多种类型的流程规则中的至少一种流程规则生成流程模板。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在所述测试装置中增加新类型的流程规则,并设置新类型的所述流程规则与其他类型的流程规则之间的依赖关系。
5.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
在确定每个所述流程模板的实际执行结果与预期执行结果均一致时,提示流程引擎测试成功。
6.一种流程引擎的测试装置,其特征在于,包括:
存储单元,用于存储多种类型的流程规则;
生成单元,用于根据所述多种类型的流程规则中的至少一种流程规则生成流程模板;
执行单元,用于对生成的每个所述流程模板执行以下操作:
根据流程引擎执行所述流程模板,得到实际执行结果;
确定单元,用于确定所述实际执行结果与所述流程模板的预期执行结果是否一致。
7.根据权利要求6所述的装置,其特征在于,所述存储单元用于,存储以下至少一种类型的规则:
流程图拓扑类规则、资源分配类规则、运行期控制类规则。
8.根据权利要求6或7所述的装置,其特征在于,所述存储单元还用于存储不同类型的流程规则之间的依赖关系;
所述生成单元用于,利用所述依赖关系组合所述多种类型的流程规则中的至少一种流程规则生成流程模板。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:
规则更新单元,在所述存储设备中增加新类型的流程规则,并设置新类型的所述流程规则与其他类型的流程规则之间的依赖关系。
10.根据权利要求6或7所述的装置,其特征在于,所述装置还包括:
提示单元,在所述确定单元确定每个所述流程模板的实际执行结果与预期执行结果均一致时,提示流程引擎测试成功。

说明书全文

流程引擎的测试方法及装置

技术领域

[0001] 本发明涉及计算机领域,具体地,涉及一种流程引擎的测试方法及装置。

背景技术

[0002] 流程引擎包括了产品可以执行的所有方法流程的样例,其负责解析各类流程模板。为了确保产品的质量,保证产品运行的稳定性,目前,在产品的开发过程中,均需要对该产品流程引擎进行测试,确保该流程引擎能够对所有流程模板正确解析。
[0003] 现有技术对流程引擎的测试需要人工首先绘制流程模板,再由产品执行该流程模板,以判断实际执行结果与预期执行结果是否一致。
[0004] 然而,人工绘制各种流程模板有很大的盲区,很难保证各种情况的全覆盖,需要技术人员具有很丰富的经验。并且,绘制出大量的、复杂的流程模板需要消耗巨大的人资源,人力成本过高。

发明内容

[0005] 本发明的目的是提供一种流程引擎的测试方法及装置,用以解决现有技术中流程引擎测试的精确度较低以及成本过高的技术问题。
[0006] 为了实现上述目的,本发明提供一种流程引擎的测试方法,所述方法应用于测试装置,所述测试装置包括多种类型的流程规则,所述方法包括:
[0007] 根据所述多种类型的流程规则中的至少一种流程规则生成流程模板;
[0008] 对生成的每个所述流程模板执行以下操作:
[0009] 根据流程引擎执行所述流程模板,得到实际执行结果;
[0010] 确定所述实际执行结果与所述流程模板的预期执行结果是否一致。
[0011] 可选地,所述流程规则包括以下至少一种类型的规则:
[0012] 流程图拓扑类规则、资源分配类规则、运行期控制类规则。
[0013] 其中,所述流程图拓扑类规则是指如顺序执行、选择执行、并发执行、子流程等规则;所述资源分配类规则是指如参与人分配、多人办理方式、节点应用程序类型等规则,这类规则决定不同的属性设置所产生的差异结果;所述运行期控制类规则是指如启动、挂起、回退等流程实例的控制操作,也就是说,执行某种控制操作,会导致对象发生状态迁移。
[0014] 可选地,所述测试装置还存储有不同类型的流程规则之间的依赖关系,所述根据所述多种类型的流程规则中的至少一种流程规则生成流程模板,包括:
[0015] 利用所述依赖关系组合所述多种类型的流程规则中的至少一种流程规则生成流程模板。
[0016] 可选地,所述方法还包括:
[0017] 在所述测试装置中增加新类型的流程规则,并设置新类型的所述流程规则与其他类型的流程规则之间的依赖关系。
[0018] 可选地,所述方法还包括:
[0019] 在确定每个所述流程模板的实际执行结果与预期执行结果均一致时,提示流程引擎测试成功。
[0020] 本发明还提供一种流程引擎的测试装置,包括:
[0021] 存储单元,用于存储多种类型的流程规则;
[0022] 生成单元,用于根据所述多种类型的流程规则中的至少一种流程规则生成流程模板;
[0023] 执行单元,用于对生成的每个所述流程模板执行以下操作:
[0024] 根据流程引擎执行所述流程模板,得到实际执行结果;
[0025] 确定单元,用于确定所述实际执行结果与所述流程模板的预期执行结果是否一致。
[0026] 可选地,所述存储单元用于,存储以下至少一种类型的规则:
[0027] 流程图拓扑类规则、资源分配类规则、运行期控制类规则。
[0028] 可选地,所述存储单元还用于存储不同类型的流程规则之间的依赖关系;
[0029] 所述生成单元用于,利用所述依赖关系组合所述多种类型的流程规则中的至少一种流程规则生成流程模板。
[0030] 可选地,所述装置还包括:
[0031] 规则更新单元,在所述存储设备中增加新类型的流程规则,并设置新类型的所述流程规则与其他类型的流程规则之间的依赖关系。
[0032] 可选地,所述装置还包括:
[0033] 提示单元,在所述确定单元确定每个所述流程模板的实际执行结果与预期执行结果均一致时,提示流程引擎测试成功。
[0034] 通过上述技术方案,流程引擎的测试装置可以基于不同类型的规则自动生成流程模板,避免了人工绘制流程模板,减少了人力成本。并且,相较于技术人员根据经验绘制流程模板,本发明的测试装置基于流程规则生成的流程模板更加全面,保证了对流程引擎的测试没有遗漏,进而保障了产品的质量。
[0035] 具体地,本发明的其他特征和优点将在随后的具体实施方式部分予以详细说明。附图说明
[0036] 附图是用来提供对本发明的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明,但并不构成对本发明的限制。在附图中:
[0037] 图1是本发明实施例提供的一种流程模板的示意图;
[0038] 图2是本发明实施例提供的一种流程引擎的测试方法的流程示意图;
[0039] 图3A至图3C是本发明实施例提供的一种流程图拓扑类规则的示意图;
[0040] 图4是本发明实施例提供的另一种流程引擎的测试方法的流程示意图;
[0041] 图5A是本发明实施例提供的一种流程引擎的测试装置的结构示意图;
[0042] 图5B是本发明实施例提供的另一种流程引擎的测试装置的结构示意图。

具体实施方式

[0043] 以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。
[0044] 为了使本领域的技术人员更容易理解本发明实施例提供的技术方案相较现有技术所具有的改进,下面首先对现有技术进行简单介绍。
[0045] 如图1所示,图1是一种流程模板的示意图,该流程模板的执行方法为:在节点1完成后,创建2,其中,缺省情况下,节点1是完成态,节点2是运行态。进一步地,节点2创建完成后,根据选择条件创建节点3至节点n中的一个节点,其中,选择条件包括“节点优先级”和“入口条件”两个规则的组合。
[0046] 例如,“入口条件”以及“节点优先级”条件的组合可以是:如果节点3入口条件为F,节点3不创建;如果节点3的入口条件为T,则判断节点4~n中,是否有入口条件为T的节点,如果没有,则节点3创建,如果有,则比较节点3~n中所有入口条件为T的节点的优先级,优先级最高的节点创建实例;如果节点3~n的入口条件都是F,则节点2变为挂起态。
[0047] 现有技术在进行流程引擎测试时,需要技术人员基于经验将如图1所示的所有可能的流程模板人工绘制出来,很难保证各种情况的全覆盖,导致测试的精确度较低,且人力成本过高。
[0048] 为了解决上述技术问题,本发明实施例提供一种流程引擎的测试方法,该方法应用于测试装置,该测试装置包括多种类型的流程规则,如图2所示,该方法包括:
[0049] S201、根据多种类型的流程规则中的至少一种流程规则生成流程模板。
[0050] 值得说明的是,将现有的人工绘制的每种流程模板进行拆分,则针对每个流程模板可以得到过个流程规则。也就是说,每个流程模板是由至少一个流程规则组成。并且,所有流程模板采用的流程规则可以归纳为几类,不同流程模板只是流程规则之间的组合不同。
[0051] 以图1所示的流程模板举例说明,本发明实施例可以将图1所示的流程模板分为四种流程规则:
[0052] 第一种是顺序型流程规则,即节点1完成后,直接创建节点2,其中,缺省情况下,节点1是完成态,节点2是运行态;
[0053] 第二种是选择型流程规则,即节点2创建后,在节点2至节点n中选择创建一个节点;
[0054] 第三种是节点入口条件规则,即根据节点的入口条件选择是否创建该节点;
[0055] 第四种是节点优先级规则,即根据节点优先级在入口条件相同的节点之间选择创建节点。
[0056] 上述只是举例说明,在具体实施过程中,可以采用其他的归纳方式将所有流程模板归纳为多种流程规则的组合。本发明对此不做限定。
[0057] 这样,将归纳出每一种流程规则均预先存储到测试装置中。进一步地,测试装置可以对每种流程规则进行排列组合,生成流程模板。
[0058] 进一步地,该测试装置对生成的每个流程模板执行步骤S202和S203。
[0059] S202、根据流程引擎执行所述流程模板,得到实际执行结果。
[0060] 具体地,流程引擎用于解析流程模板,若该流程引擎能够对流程模板进行正确的解析,则其执行结果与预期执行结果一致。其中,该预期执行结果是指根据该流程模板的逻辑判断出来的执行结果。针对生成的流程模板,该测试装置均有对应的预期执行结果。
[0061] S203、确定所述实际执行结果与所述流程模板的预期执行结果是否一致。
[0062] 这样,若针对每一个流程模板,该流程引擎对其解析后的实际执行结果均与预期执行结果一致,则表明了该流程引擎能够正确对所有可能的流程进行正确解析,在此种情况下,可以提示流程引擎测试成功。
[0063] 采用上述方法,流程引擎的测试装置可以基于不同类型的规则自动生成流程模板,避免了人工绘制流程模板,减少了人力成本。并且,相较于技术人员根据经验绘制流程模板,本发明的测试装置基于流程规则生成的流程模板更加全面,保证了对流程引擎的测试没有遗漏,进而保障了产品的质量。
[0064] 为了使本领域技术人员更加理解本发明实施例提供的技术方案,下面对上述步骤进行详细说明。
[0065] 在本发明实施例的一种可能的实现方式中,所述流程规则包括以下至少一种类型的规则:
[0066] 流程图拓扑类规则、资源分配类规则、运行期控制类规则。
[0067] 其中,流程图拓扑规则是指如顺序执行、选择执行、并发执行、子流程等规则。具体地,下面通过图3A至图3B对流程图拓扑规则进行说明:
[0068] 图3A是流程图拓扑规则中的顺序型规则的示意图。如图3A所示,该顺序型规则由至少两个节点组成。顺序相连的各个节点,在上一个节点创建完成后,顺序创建下一个节点。
[0069] 图3B是流程图拓扑规则中的选择型规则的示意图。如图3B所示,该节点1完成后,在节点2至节点n中,选择创建1个节点。其中,具体如何决定创建哪个节点,可以依赖资源分配类规则中的节点优先级和入口条件两个规则的组合进行选择,后续将对资源分配类规则进行附图介绍。
[0070] 图3C是流程图拓扑规则中的并发型规则的示意图。如图3C所示,节点1完成后,在节点2至节点n中,选择创建多个节点。其中,具体如何决定创建哪些节点,可以依赖资源分配类规则中的入口条件规则。
[0071] 上述只是对流程图拓扑类规则进行举例说明,在具体实施过程中,还可以有其他流程图拓扑规则,在此不一一穷举。实际情况中,流程图拓扑规则大约包括30个如上述顺序型,选择型以及并发型的规则。
[0072] 资源分配类规则是指如参与人分配、多人办理方式、节点应用程序类型等规则。
[0073] 示例地,资源分配类规则可以包括节点入口条件规则,参照图3A,在顺序型流程图拓扑类规则中,如果节点2入口条件为T,节点2创建,且状态为运行态;如果节点2的入口条件为F,在节点2创建,但为初始态。
[0074] 参照图3B,在选择型的流程图拓扑类规则中,如果节点2入口条件为F,则节点2不创建;如果节点2入口条件为T,则判断节点3至节点n中,是否有入口条件为T的节点,如果没有,则节点2创建,如果有,则比较节点2至节点n中所有入口条件为T的节点的优先级的值,优先级最高的节点创建实例;如果节点2至节点n的入口条件都是F,则节点1变为挂起态。
[0075] 参照图3C,在并发型的流程图拓扑类规则中,判断节点2至节点n的入口条件,只要入口条件是T就都创建对应的节点;若某一节点的入口条件为F,则该节点不创建。如果节点2至节点n的入口条件都是F,则节点1变为挂起态。
[0076] 另一个例子,该资源分配类规则还可以包括节点优先级规则,参照图3B,在选择型的流程图拓扑类规则中,如果有多个节点的入口条件均为T,则比较所有入口条件为T的节点的优先级的值,优先级最高的节点创建实例。
[0077] 上述只是举例说明,具体实施时,该资源分配类规则还可以包括其他类型的规则,例如,节点类型规则,即不同类型的节点与其他资源分配类规则具有依赖或者互斥的关系。或者参与人规则,表示该节点将被哪些用户处理,如果节点类型是手动节点,则该节点必须绑定一个参与人规则。实际情况中,资源分配类规则大约包括150种,此处不一一穷举。
[0078] 参照图3A,节点1到节点2的过程,就是对节点1执行提交规则所触发的。
[0079] 其中,提交规则是流程流转的基本动作。提交可以让实例对象变为完成态,同时创建直接后继节点对象。需要说明的是,对运行态的实例对象可以执行提交操作,对完成态的对象无法执行提交操作。
[0080] 该运行期控制类规则还可以包括挂起规则,即对流程实例执行挂起时,流程实例将变更为挂起态,同时其所有的下属对象也将全部变为挂起态。实际情况中,运行期控制类规则大约包括80种,此处不一一穷举。
[0081] 由上可知,流程规则之间存在依赖关系,该依赖关系表明了不同流程规则之间是否必须关联,或者互斥。这样,所述测试装置还可以存储有不同类型的流程规则之间的依赖关系,上述步骤S201具体包括:利用所述依赖关系组合所述多种类型的流程规则中的至少一种流程规则生成流程模板。
[0082] 通过流程图拓扑类规则的组合,能够形成各种复杂的流程图,而通过资源分配类规则,赋予了流程图上对象的不同属性。并且,通过各类规则之间的关联和互斥关系,就会形成涵盖各种逻辑场景的流程模板,流程引擎解析这些流程模板,并依据规则的判断逻辑,即可判断流程引擎对流程模板的解析是否正确。
[0083] 例如,图1所示的流程模板即可以是测试装置根据顺序型的流程图拓扑类规则、选择型的流程图拓扑类规则以及资源分配类的节点入口条件以及节点优先级规则组合生成的。
[0084] 图4提供了另一种流程引擎测试方法的示意图,如图4所示,流程图拓扑类规则与资源分配规则通过组合生成流程模板,得到多个流程模板的集合,流程引擎在解析每个流程模板的时候执行运行期控制类规则,得到最终的执行结果,若实际执行结果与所定义的逻辑规则的结果不一致,则发现流程引擎的缺陷,若每个流程模板的实际执行结果均与所定义的逻辑规则的结果一致,则表明该流程引擎能够正确解析所有流程模板。
[0085] 在本发明实施例的一种可能的实现方式中,所述方法还包括:在所述测试装置中增加新类型的流程规则,并设置新类型的所述流程规则与其他类型的流程规则之间的依赖关系。
[0086] 也就是说,发生规则变更时,技术人员只需定义新的规则和规则之间的依赖关系即可。无需针对新增加的规则一一绘制流程模板,减少了人力成本,提高了引擎测试效率。
[0087] 采用本发明实施例提供的一种流程引擎的测试方法,将流程模板抽象成多种流程规则表示,通过规则的依赖关系,自动组合各种规则以生成各种形式的流程模板,进一步地,通过自动化测试的调度,实现对流程引擎功能的高效测试。相比现有技术,大幅减少测试工作量、保障引擎程序质量、降低对测试人员的要求和依赖。
[0088] 本发明实施例还提供一种流程引擎的测试装置50,用于实施上述方法实施例提供的一种流程引擎的测试方法,如图5A所示,该流程引擎的测试装置50包括:
[0089] 存储单元51,用于存储多种类型的流程规则;
[0090] 生成单元52,用于根据所述多种类型的流程规则中的至少一种流程规则生成流程模板;
[0091] 执行单元53,用于对生成的每个所述流程模板执行以下操作:
[0092] 根据流程引擎执行所述流程模板,得到实际执行结果;
[0093] 确定单元54,用于确定所述实际执行结果与所述流程模板的预期执行结果是否一致。
[0094] 采用上述流程引擎的测试装置,该流程引擎的测试装置可以基于不同类型的规则自动生成流程模板,避免了人工绘制流程模板,减少了人力成本。并且,相较于技术人员根据经验绘制流程模板,本发明的测试装置基于流程规则生成的流程模板更加全面,保证了对流程引擎的测试没有遗漏,进而保障了产品的质量。
[0095] 可选地,所述存储单元51用于,存储以下至少一种类型的规则:
[0096] 流程图拓扑类规则、资源分配类规则、运行期控制类规则。
[0097] 其中,流程图拓扑规则是指如顺序执行、选择执行、并发执行、子流程等规则。资源分配类规则是指如参与人分配、多人办理方式、节点应用程序类型等规则。运行期控制类规则是指如启动、挂起、回退等流程实例的控制操作,也就是说,执行某种控制操作,会导致对象发生状态迁移。值得说明的是,运行期控制类规则是发生在流程模板所产生的流程实例上的不同操作。
[0098] 具体地,参照上述方法实施例对上述三种规则的举例说明,此处不再赘述。
[0099] 可选地,所述存储单元51还用于存储不同类型的流程规则之间的依赖关系;所述生成单元52用于,利用所述依赖关系组合所述多种类型的流程规则中的至少一种流程规则生成流程模板。
[0100] 可选地,如图5B所示,所述流程引擎的测试装置50还包括:
[0101] 规则更新单元55,用于在所述存储单元51中增加新类型的流程规则,并设置新类型的所述流程规则与其他类型的流程规则之间的依赖关系。
[0102] 也就是说,发生规则变更时,技术人员只需定义新的规则和规则之间的依赖关系即可。无需针对新增加的规则一一绘制流程模板,减少了人力成本,提高了引擎测试效率。
[0103] 可选地,如图5B所示,所述流程引擎的测试装置50还包括:
[0104] 提示单元56,在所述确定单元54确定每个所述流程模板的实际执行结果与预期执行结果均一致时,提示流程引擎测试成功。
[0105] 其中,若流程模板的实际执行结果与所定义的逻辑规则的结果不一致,则发现流程引擎的缺陷,若每个流程模板的实际执行结果均与所定义的逻辑规则的结果一致,则表明该流程引擎能够正确解析所有流程模板,此时,可提示流程引擎测试成功。
[0106] 值得说明的是,以上对该流程引擎的测试装置50的单元划分,仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。并且,上述各功能单元的物理实现也可能有多种实现方式。
[0107] 另外,所属本领域的技术人员应该清楚地了解到,为描述的方便和简洁,上述描述的装置的各单元的具体工作过程,可以参考前述方法实施例中的对应过程,此处不再赘述。
[0108] 在本申请所提供的实施例中,应该理解到,所公开的装置和方法,可以通过其它的方式实现。例如,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
[0109] 上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、RAM(Random Access Memory,随机存取存储器)、磁碟或者光盘等各种可以存储数据的介质。
[0110] 以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈