摘要:随着业务的发展,旺旺经常会涉及到底层以及基础模块的改进和优化,需要接口测试。本文主要阐述旺旺客户端的接口测试框架,希望能为类似的客户端桌面产品提供一个自开发接口测试的可参考案例。
一、接口测试框架选择
对旺旺进行接口测试可以提升部分模块的测试深度、广度和效率。旺旺接口目前主要有三类:(1)sdk接口;(2)内部模块间公共函数;(3)消息总线上的消息实现函数。
以下是三类接口的主要特点:
类型 | 特点 | 分析 |
sdk接口 | 通过插件测试,并且可以测试插件加载容器。 | 插件进行接口测试 |
模块内部接口 | 需要硬编码,会侵入开发的代码,可移植性差。 | 不太适合做接口测试 |
模块间对外暴露的接口 | 通过发送消息命令和参数,可以调用相应的接口 | 编码成本低,容易覆盖核心业务以及模块的交互。 |
分析后,我们接口测试主要以第三种为主,基础目标是可以替代对应模块的冒烟测试。
在框架的选型上根据自身的业务结合白盒测试cppunit、gtest框架分析如下:
1、旺旺基于wtl框架,这两个第三方开源框架不支持。
2、由于大量接口采用异步机制,接口调用依赖于旺旺运行时,第三方框架完成接口测试需要做大量的改进。
结合旺旺自身的特点,试用外部的开源框架后,客户端组初步开发出了旺旺运行时的测试框架。
二、旺旺接口测试框架的原理
旺旺接口测试框架基本原理:测试框架以组件的形式跟随旺旺一起启动,可以方便的组装拆卸。框架监听旺旺核心机制“消息总线”上的“消息”,捕获对应的参数,作为接口的实际调用结果,与预期结果进行对比。
总体框架图如下:
测试框架的交互图如下: