接口验证模式

发表于:2012-7-17 10:01

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:原草莫莫    来源:tester

分享:

  对于异步分发模式,也即异步+分发模式的组合。此时被测对象涉及到2 种类型的消息配合:同一个部件的通知和回执的组合;不同部件间的消息处理结果的配合。由此,被测对象的状态迁移会更为复杂些。

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

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

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

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

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

  ◇ 对A 和B 接口的配合验证。(参见异步模式)

  ◇ 对C 和D 接口的配合验证。(参见异步模式)

  ◇ 对部件1 和部件2 处理结果组合验证。(参见分发模式)

  4、相关说明

  ● 参数合法性检验策略

  如果业务流程涉及多次转发,原则上由逻辑处理部件进行接口参数的强校验;其它转发部件(例:E部件)进行弱校验。

  消息序列验证

  如果不同的接口消息之间是基于事务、有状态的,则还需要考虑消息序列异常的问题,无论是何种模式。其验证点包括:消息乱序、少传消息包、多传消息包、传重复消息包、事务超时后收到消息等。

  接口可靠性保证

  ◇ 对于重发的验证,一般来说,重发机制中需要有重发策略、重发次数方面的考虑,不能出现消息反复重发引发消息风暴的问题。

  ◇ 对于超时的验证,需要考虑各部件超时配置不一致的问题。

  ◇ 对于处理失败造成双方数据不一致问题,需要有事务号、回滚或补偿机制等方面的设计考虑。

  ● 接口验证的不同阶段

  对于接口验证在单部件测试、点-点接口联调、E2E联合测试等不同阶段都有所涉及。一般来说:

  单部件测试:理论上通过测试桩可以模拟对端各种情况,对于真实实体只能通过系统状态预置、输入数据从外部触发。所以,能在单部件测试考虑的尽可能放到单部件去做,至少保证单部件自身是OK的。

  点-点接口联调:如果将2个部件看作一个整体的话,则相当于单部件测试。对于部件-部件间的接口无法通过测试桩来模拟,需要通过外部驱动输入。另外还需要关注部件-部件间的网络连接,包括:是否可正常建立连接、连接中断后是否会重连、连接吊死与释放、时断时续等。

  E2E联合测试:所有内部部件均为真实实体,对于接口间配合的问题(例:事务或数据一致性问题)可以考虑放到此考虑。除此还需要关注与外部部件间的接口对接测试。

55/5<12345
精选软件测试好文,快来阅读吧~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号