云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

_唐山公司网站建设_代金券

小七 141 0

这是博客系列中的第三篇关于在SAP Process Orchestration的Process Integration Test(PIT)工具中使用替换规则和预处理规则的最佳实践的博客,另外,请查看第一个描述值映射用例的博客,并向您提供此最佳实践系列的上下文。

在第二个博客中,我介绍了动态标题用例。

在当前的博客中,我想描述一个基于内容的路由用例的PIT设置。

用例

员工和候选人的HR数据应该在不同的系统之间复制。我们总共有四个接收系统。根据不同的属性,数据要么路由到保存员工数据的系统REC\u 1\u PRD,要么路由到保存候选人信息的系统REC\u 2\u PRD,要么路由到保存前员工数据的系统REC\u 3\u PRD。每个接收系统都定义了自己的接口,因此每个路由都运行不同的映射。

从下面的静态路由条件可以看出,system REC\u 4\u PRD被定义为默认路由。如果不满足其他条件,则将消息路由到默认值。如果数据不一致,实际上就是这种情况。

基本测试用例

除了检查不同的映射是否正确运行之外,我们还想验证条件是否正确执行,即消息是否路由到正确的接收器。

在PIT工具中,我们以生产系统A8Z作为测试数据的源系统,N75作为执行测试运行的目标系统,创建了以下测试用例

我们上传了生产系统的测试消息,覆盖了不同的情况。在测试数据集编辑器中,您可以看到这样的输入消息的外观。下面的例子显示了一个应聘者以前在公司工作,而新的招聘流程已经完成。在这种情况下,终止字段必须是n/a。

如果您选择传出消息的消息头,您可以看到该候选者被路由到第一个接收系统REC\u 1\u PRD并映射到员工服务接口。

您可以从传出有效负载中看到,在映射中,除了其他字段映射之外,还会自动生成员工标识符和雇用日期。

测试系统上的集成流与上述流不同,因为连接的系统都以TST而不是PRD结束。因此,我们需要为系统头定义替换规则,以便将生产环境的系统与测试环境的相应系统相匹配。这在以前的博客中也有描述,例如见这里。

对于ID和时间戳,即我们知道在重新运行测试时在任何情况下都会更改的字段,我们需要定义豁免。这里没有显示这个,因为我已经在以前的博客中讨论过了。

在执行了测试运行和验证作业之后,我们可以检查测试用例验证结果。从传出消息的消息头可以看出,阿里大数据应用平台,消息被路由到正确的接收者。

测试默认路由

在下面,我们将集中测试数据错误的情况,即数据本身是否不一致。在这种情况下,消息应该被路由到默认的接收器系统。

我们创建了一个新的测试用例,我们上传了一个内容不一致的示例消息。在下面的例子中,hiringCompleted和terminated字段都是true,这是一个矛盾。

其他错误消息不可用,因此我们使用消息预处理来扩展测试覆盖范围。在tab消息预处理中,我们创建不同的规则集,每个规则集都有一个用于更改有效负载的规则。规则分为区域有效载荷和置换型常值置换。对于每个规则,我们用一个值组合覆盖相应的有效负载字段,该值组合会导致不一致,因此会模拟不同的默认路由情况。

例如,在下面的示例中,应聘者以前没有在公司工作过,大数据教程,因此okToRehire字段必须实际为n/a,然而,这里是正确的。

由于我们在消息预处理中更改了传入消息的各个字段,传出消息的相应字段肯定会与存储的测试消息的预期值不同。因此,我们需要为消息预处理中覆盖的所有字段定义免除规则。在测试用例的"验证"选项卡上,我们选择PayloadComparator验证步骤,并维护相应的xpath表达式。

对于我们在消息预处理中定义的每个字段组合,我们定义一个自己的运行配置,在其中维护测试用例、测试数据集、目标系统,以及相应的预处理规则集。我们总共有五个运行配置。顺便说一下,第一次运行配置处理原始数据,因此不需要消息预处理规则集。

为了一次运行所有运行配置,我们定义了一个测试套件和一个测试套件运行配置,后者包含所有预先创建的运行配置。

测试套件运行配置可以已安排。就我们而言,我们只跑了一次。通常,您会定期安排测试运行。

在操作日志中,我可以看到测试运行和验证的总体结果。如您所见,测试成功地执行,没有任何倒退。

我打开一个验证结果,我可以看到消息已路由到REC\u 4\u TST系统,该系统是默认路由,并且与生产环境中的系统REC\u 4\u PRD匹配。