快速构建轻量级接口自动化框架

随着移动互联网和微服务的迅速发展,大部分企业都采用接口的方式实现客户端和服务端的交互,传统的PC端也逐渐趋向于前后端分离架构。为了应对此种架构下的业务迭代,很多QA团队开始推广接口自动化,甚至是自研接口测试框架。

选型

一个好的接口测试框架可以抽象公共功能,有效应对业务变化,降低接口实现成本。但对于强业务相关的测试团队来说,迭代速度快,业务流程繁杂,接口难以标准化,自动化框架的维护成本非常高。对于小型QA团队来说,专人维护框架的成本过高,而留给业务测试同学编写自动化测试用例的时间又比较少。有效的接口测试需要和业务强挂钩,随着业务变更及时更新,否则接口测试就丧失了存在的意义。

面对这种情况,可以考虑采用和扩展业界已有的接口测试工具Jmeter来快速完成自动化框架构建功能。Jmeter诞生于2001年,目前已更新到5.x版本,他功能强大并且开源免费:

• 录制&回放:BlazeMeter可实现录制和脚本自动生成

• 多协议支持:支持 http、https、jdbc、jms、ftp 等等协议

• 参数化和断言支持:提供多种参数化函数和多种格式断言组件

• 图形展示:提供多种结果展示

• 易于安装:jmeter 下载解压即可用,且支持多种平台Windows/Mac/Linux

• 高扩展性:jmeter 支持用户自定义测试脚本,Beanshell/Javascript/Groovy

选定工具以后就可以在团队中进行落地和推广,首先要明确接口测试的流程,然后是多人协作时用例的组织和复用。

接口测试流程

接口测试流程和手动测试/UI测试流程类似,但侧重点不同:

• 需求分析:需求文档 VS 接口文档。

• 编写和评审用例:根据需求变更结合业务优先级,边界值等价类等分析方法设计手动测试用例;根据接口的参数组合以及接口的预期返回设计接口测试用例。

• 准备测试环境和测试脚本:接口测试需选择合适的工具实现步骤2中评审的用例。

• 执行测试用例,发送测试报告:接口测试自动运行脚本,生成和发送测试报告。

用例组织和复用

Jmeter提供了三种组件帮助复用和组合脚本片段:

• Test Fragment(测试片段)

• Module Controller(模块控制器)

• Include Controller (包含控制器)

在实际编写过程中,从下往上业务人员可以把接口测试划分为:

• Sampler级别:一个HTTP请求的发送和响应校验

• 线程组级别:一个功能点的接口测试集合

• 测试片段级别:一个测试用例的接口测试集合

• JMX脚本级别:一个测试套件的接口测试集合

每个业务人员维护功能级别的接口脚本,再通过Jmeter的脚本管理组件实现多个功能或者多个用例的自由组合,来适应不同的业务场景。

报告生成和持续集成

Jmeter提供了Ant支持,可以运行ant任务自动转化脚本运行结果为HTML报告。

由于Jmeter支持Ant构建和运行,因此可以很方便的和持续集成工具结合起来使用,以Jenkins为例,配置构建方式为Ant,指明Jmeter脚本路径即可实现脚本自动运行和报告发送功能。

作  者:Testfan Kitty

出  处:微信公众号:自动化软件测试平台

版权说明:欢迎转载,但必须注明出处,并在文章页面明显位置给出文章链接

原文地址:https://www.cnblogs.com/testfan2019/p/12124715.html