2018年由软件质量报道做的调查报告表明,受调查的测试人员中约有40.67%的人使用JMeter作为接口测试的自动化测试工具(排在商业化或者开源工具中的第一),剩下的为Postman(28%),以及SoapUI(17.33%)。不过值得关注的是另外还有44.13%的采用了自研工具,说明可能现有的开源工具不能满足需求,更多的采用了自己研发的方式。那今天我们就来看看JMeter做接口测试的优点和不足,以及怎么解决这个不足。

JMeter接口测试的优势

  1)JMeter比较轻量级,并且开源,社区接受度高,比较容易入门。

  2)JMeter提供了BeanShell编程能力,可以写出比较灵活的测试脚本。

  3)JMeter的社区比较完善,提供了比较丰富的协议支持。比如除了支持常见的HTTP协议之外,还可以直接通过JDBC Sampler连接数据库,把期望的测试结果存入数据库中,直接对测试结果进行验证。在编写测试脚本过程中,可以将不同的协议调用使用同一个脚本进行组合调用,写出比较复杂的测试用例。

  4)JMeter提供了比较高级的扩展能力,允许自己定义和扩展新的协议支持,比如扩展支持阿里提供的Dubbo协议的JMeter插件等。

  5)JMeter提供了HTML测试报告和Jenkins集成的能力,比较方便地实现一些基础的持续测试。

JMeter接口测试的不足

  JMeter作为接口测试方案大概有以下的一些问题:

  1)脚本的灵活性。虽然JMeter提供了一定的BeanShell编程能力和自定义协议的扩展能力,可以让脚本开发人员有一定的灵活性,受制于JMeter本身的限制,与开发人员直接使用语言进行接口测试相比,灵活性还是相对不足。

  2)报告的能力。JMeter提供了HTML报告,但是JMeter本身的测试报告主要用于性能测试,反映的更多是性能测试层面的结果。而且配置过程比较复杂,在团队成员分享报告等方面比较麻烦。

  3)持续集成。利用第三方的Jenkins插件、Ant和Maven等,能与JMeter进行一些基本的持续测试集成,但是对于完全自动化所需的测试环境的管理等功能支持不足,配置过程略嫌麻烦。

  4)测试脚本和测试结果的管理:脚本和结果基本都是本地管理,无法做到在线管理。

优化的JMeter接口测试方案

  理想的基于JMeter的接口测试方案能够弥补上述劣势,包括需要从团队和工具的层面补上短板。

  JMeter脚本的灵活性不足的问题可以通过团队成员的合理搭配来解决。JMeter提供了较为完善的扩展机制,通过扩展可以支持不同的协议和函数,这些扩展处理的插件和函数能让编写测试脚本变得更加简单。JMeter的扩展需要对Java比较了解,并且掌握JMeter的扩展机制。JMeter的扩展开发是一次性的,在完成插件的开发之后,由脚本编写人员基于扩展的插件和函数进行脚本编写,从而快速完成接口测试。因此比较好的团队搭配为:

  1)一个、或者多个了解JMeter扩展的测试开发人员,主要负责相关扩展功能的实现,以及报告的定义和持续集成相关的一些开发工作。

  2)JMeter测试脚本编写人员,主要负责基于JMeter内置和自定义扩展插件的脚本开发,如果发现有时候脚本开发过程中不方便的地方,提交开发需求由测试开发人员对JMeter进行扩展实现。

  该方案剩下的所需的测试报告、持续测试集成、测试脚本和结果的管理需要额外的一些定制工作后才能够满足需求。

推荐阅读

点击阅读☞利用Jmeter做一个简单的性能测试并进行参数化设置

点击阅读☞Jmeter 集合点详细讲解

点击阅读☞用Jmeter做分布式测试的一些技术点……

点击阅读☞性能测试中级探索——Jmeter Beanshell

点击阅读☞用 JMeter 测试 MySQL 数据库

上文内容不用于商业目的,如涉及知识产权问题,请联系小编(021-64471599-8017)。

爱我请给我好看!

jmeter性能测试报告_用 JMeter 做接口测试的优劣浅析相关推荐

  1. jmeter性能分析_使用JMeter和Yourkit进行REST / HTTP服务的性能分析

    jmeter性能分析 我的上一篇文章描述了如何使用JMeter完成异步REST / HTTP服务的压力测试或负载测试. 但是,运行这样的测试通常表明被测系统不能很好地应对增加的负载. 现在的问题是如何 ...

  2. jmeter性能测试报告之图形化展示

    jmeter性能测试报告之图形化展示 准备工作: 1.java的运行环境正常,及运行java -version.javac -version能正常输出java版本: 2.ant的运行环境正常,使用an ...

  3. jmeter 高并发测试报告_使用 JMeter 进行压力测试

    原文连接:使用 JMeter 进行压力测试 一.前言 压力测试是每一个Web应用程序上线之前都需要做的一个测试,他可以帮助我们发现系统中的瓶颈问题,减少发布到生产环境后出问题的几率:预估系统的承载能力 ...

  4. Jmeter性能测试报告导出

    一.环境搭建 Java JDK(此处版本为1.8) apache-ant安装 下载地址:https://ant.apache.org/bindownload.cgi apache-Jmeter安装 下 ...

  5. jmeter 加密解密_使用Jmeter对SHA1加密接口进行性能测试

     机会只留给那些有准备的人 改变能改变的,接受不能改变的,就是进步 性能测试过程中,有时候会遇到需要对信息头进行加密鉴权,下面我就来介绍如何针对SHA1加密鉴权开发性能测试脚本  1.首先了解原理,就 ...

  6. jmeter csv参数化_运用Jmeter参数化来实现接口自动化测试

    本文记录如何使用Jmeter参数化(csv)实现接口自动化--测试Token不同入参情况下,接口请求能够返回正确的结果 1. 首先需要使用Jmeter获取一个Token,如何获取暂略(同一般访问请求方 ...

  7. jmeter进行性能测试_使用JMeter进行性能测试

    jmeter进行性能测试 在开发复杂的高可用性软件项目时,性能至关重要. 在当今这样的时代尤其如此,除了闪电般的实时数据可访问性之外,其他任何事情都受到惩罚. 当谈论有时需要的大量数据时,这并非总是一 ...

  8. jmeter压力测试_用Jmeter实现对接口的压力测试

    一.多个真实用户对接口的压力测试 1. 获取多个真实用户的token的两种方法: 1)第一种:让开发帮忙生成多个token(多个用户账户生成的token),导出为csv格式的文件(以下步骤均以该方法为 ...

  9. jmeter java 关联_使用Jmeter进行数据关联和并发用户

    这是Naresh . 似乎这个博客对初学者和所有人都非常有帮助 . 我选择了Jmeter for Perf . 测试基于Web的应用程序,它是用环境构建的 - Microsoft dot net(带有 ...

最新文章

  1. ERP实施过程中的误区 你知道吗?
  2. js中类型识别的方法
  3. Django从理论到实战(part37)--关于迁移
  4. 575 div3RGB Substring (hard version)——思维-
  5. freecodecamp_如何充分利用freeCodeCamp
  6. 利用百度地图坐标拾取系统获取经纬度,并将其坐标转换保存成SHP文件
  7. SkeyePlayer RTSP/RTMP低延迟播放器源码解析系列之效率优化方案
  8. 第二语言教学的5c标准是哪5c,第二语言教学法知识小结(一)
  9. [硬件]超能课堂(181):我们为什么需要4+8pin CPU供电接口?
  10. 我二刷以上的网文小说,本本经典,值得推荐
  11. 88个word基本使用技巧大全,提升工作效率
  12. LeetCode(查找元素的第一个和最后一个位置)
  13. Ubuntu下使用unison实现文件双向同步
  14. 介绍一下Emily----大一
  15. 计算机作业我家乡的变化英语作文,我的变化英语作文3篇
  16. 洛谷 P1456 Monkey King 题解
  17. 层次分析法(AHP)基础概念整理+步骤总结
  18. java for循环 条件_Java for循环(十三)
  19. 正交、独立、不相关区别
  20. 在阿里云上安装MySQL的简单教程

热门文章

  1. Vuejs 写法实例
  2. JAVA中获得一个月最大天数的方法(备忘)
  3. 视频参数(流媒体系统,封装格式,视频编码,音频编码,播放器)对比
  4. 物联网是互联网发展的必然趋势吗?
  5. oracle数据库时分秒格式_Oracle如何输出指定格式的日期时间数据呢?
  6. 智慧交通day02-车流量检测实现10:多目标追踪实现
  7. springmvcget中文乱码_解决SpringMVC Controller 接收页面传递的中文参数出现乱码的问题...
  8. 二十二、PHP框架Laravel学习笔记——集合的使用
  9. python 使用期物处理并发
  10. LeetCode LCS 02. 完成一半题目(计数+排序)