zoukankan      html  css  js  c++  java
  • 快速构建轻量级接口自动化框架

    随着移动互联网和微服务的迅速发展,大部分企业都采用接口的方式实现客户端和服务端的交互,传统的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

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

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

  • 相关阅读:
    handle/hmodule/hinstance/hwnd区别
    How to control progress bar setup made by WIX
    C#定制并发送HTML邮件
    如何添加WPF,SilverLight控件到ToolBox
    【FWD】Windows Azure Table Storage vs. Windows SQL Azure
    MSBuild failed after add a new configuration
    .NET 下各种Resource的读取方式
    杨辉三角算法改进
    代码生成技术
    回家的美丽
  • 原文地址:https://www.cnblogs.com/testfan2019/p/12124715.html
Copyright © 2011-2022 走看看