接口性能测试

说在前面

本系列性能测试全都基于WebTours环境来进行

Jmeter

元件

  • sampler(取样器),包含http请求、ftp请求等
  • Logic Controller(逻辑控制器),内包含各种控制器,如if、foeach等控制器。其本身只对其子节点的sampler有效。
  • Config Elements(配置元件):包含session、cookie等管理器,影响其范围内的所有元件。
  • Pre-porcessors(前置处理器):在sampler之前执行,如sampler需要大量参数配置时(如post请求需要携带大量参数),作用域其范围内的sampler
  • Post-porcessors(后置处理器):在sampler之后执行,如下一个请求需要钱一个请求请求结果时。作用域其范围内的sampler。
  • Timer(定时器):对其作用范围内的每一个sampler有效
  • Assirtions(断言):对其作用范围内的每一个sampler元件的响应头Response Headers、响应体Response body、或者请求头等做出校验。
  • Listener(监听器):收集其作用范围内的每一个sampler元件的执行情况,返回并统计。可表格形式展现,也可图表形式,不过图表形式可能需要安装扩展插件。
  • Test Fragment(测试片段),它的主要作用是模块化测试过程,类似于编程语言中的函数。即,将测试过程封装成测试片段,就可以在其他地方直接引用了。作用范围内的每一个sampler。

安装

安装Jmeter需要JDK环境,并将java配置环境变量,然后打开Jmeter/bin/jmeter.bat运行即可

Jmeter用处

  • 接口测试
  • 接口性能测试
  • 负载测试
  • 压力/稳定性测试

Jmeter功能

  • 多线程框架-支持多并发操作
  • 用于对服务器模拟负载
  • 支持Web/数据库/FTP服务器系统的性能测试
  • 开源/纯JAVA/可二次定制化开发

Jmeter使用

线程组


上图如果要使用持续时间,要勾选永远,

注:整个线程组进行的配置只针对一个线程(用户),如果有5个线程则所有操作执行5次

Jmeter脚本

Jmeter脚本指的是模拟用户操作的请求

代理服务器录制脚本

  1. 设置浏览器代理
  2. 启动代理服务器(Jmeter)
  • 右键点击testplan->添加->http代理服务器
  • 新建一个线程组,用来放置脚本
  1. 操作浏览器
  2. 自动录制脚本

接口测试

接口

概念

  • 内部接口:方法与方法之间的交互,模块与模块之间的交互
  • 调用对外包装的接口

分类

  • Web接口(https/http/webservice)
  • 应用程序接口
  • 数据库接口

接口测试原理

接口测试属于功能测试,也可以看作是需要了解部分代码的灰盒测试,测试流程是:

  1. 测试接口文档
  2. 根据接口文档编写测试用例
  3. 执行测试
    查看接口返回的接口数据是否正确

接口测试的必要性

  • 案例:一个登陆接口
  • 场景:产品上规定用户名6-10个字符数字下划线,测试人员测试在前端做了校验通过,后端人员没有做校验
  • 风险:攻击者直接抓包篡改接口,绕过校验,可以通过sql注入直接随意登录

接口测试操作


测试报告导出

jmeter -n -t 测试计划jmx文件的路径 -l report.jtl(自定义) -e -o 报告存储路径(必须为非空文件夹)

   转载规则


《接口性能测试》 fightingtree 采用 知识共享署名 4.0 国际许可协议 进行许可。
  目录