3.2 复合模式

  ● 异步模式:被测对象发出消息后,对端立即响应,对端在处理结束后再发送回执消息给部件,部件根据对端所给出的消息作出相应的处理,流程结束。一般来说,如果对端处理较为复杂、为避免被测对象长时间被阻塞,会采用此通信方式。

  对于异步模式,可以拆分为2 对消息,但这2 对消息是基于事务、有状态的。因此,对这类消息的验证除了基本模式C 和S 的验证要求外,还需要考虑2 对消息关系的配合对被测对象的状态影响验证。

  以图示为例,被测对象的验证内容包括:

  ◇ 对A 接口的验证。参见C 模式

  ◇ 对B 接口的验证。参见S 模式

  ◇ A 和B 接口的配合:

  条件:A 接口处理失败、未收到B 接口消息、B 接口处理失败、B 接口处理成功

  结果:被测对象的状态、数据

  ● 分发模式:需要将消息采用同步方式向其它多个部件进行分发,待消息收齐后才能决定自身的终状态。例:被测对象通过分发部件将数据同步分发给不同的部件。需要说明的是:图示中的分发部件,这时从物理上来说,可能看到的只是一个部件,由它统一接受和分发消息,但从逻辑上来说,它是代表了不同部件的接口处理的。

  对于分发模式一般也是基于事务、有状态的,但由于涉及到了2 个以上的周边部件,还需要考虑对不同部件的接口消息处理结果进行结合。

  以图示为例,被测对象的验证内容一般包括:

  ◇ 对A 接口的验证。(参见C 模式)

  ◇ 对B 接口的验证。(参见C 模式)

  ◇ 对部件1 和部件2 处理结果结合验证:

  条件:1 成功2 成功;1 成功2 失败;1 失败2 成功;1 失败2 失败

  结果:被测对象的状态、数据