当前位置: 首页 > article >正文

JMeter项目实战

目录

一、流程:

1.接口测试流程:

2.测试数据准备:

3.接口功能测试:

4.自动化测试流程:

5.情景压力测试分析:

6.生成图形化测试报告:


一、流程:

1.接口测试流程:

1.制定测试计划,分配任务。

2.从API文档中提取接口清单:对API文档简化,提高测试效率,接口清单就是对API文档简化压缩,主要提取三要素(地址、请求方式、请求数据)。

3.设计测试用例并参数化覆盖测试用例

4.编写脚本实现,并导入设计的测试数据

5.测试结果汇总,BUG提交

举例说明:

蓝框为三要素.即要提取的接口清单。

2.测试数据准备:

测试用例:测试文档。

解读:

1.有效、无效等价类配合边界值。

dep_id最长20位,那么在测试时可以选择两三个长度为19,20,21位的测试用例。

2.特殊情况:中文、英文、空格、空、符号。

测1-2个即可。

将所有的选项加入后,再进行测试。

每行有四个要填写的数据,根据情况去填写,有的不是必填项。空下即可。如此最后一段文字是注释,只是用作解释说明,并非实际测试用例数据的一部分。

3.接口功能测试:

因为要添加测试用例,所以需要先加入【HTTP信息头管理器】

Content-Type application/json:charset=utf-8

【HTTP请求】参数编写:

将测试用例中的格式粘贴到[消息体数据]中

通过CSV传输测试数据:

【HTTP请求】中消息体数据的格式修改为如下形式:

因为是新增数据,所以方法设置为【post】

此时要保证如下的窗口被打开,python run_setver.py正在执行。

为了方便查看,在HTTP请求后面进行计数。

4.自动化测试流程:

为了不污染已有的数据,先增加一条数据,最后再将其进行删除。从而防止数据的污染。

setUp线程组:最先执行。用于新增一条数据。

tearDown线程组:最后执行。用于删除一条数据。

用“_auto”来表示自动化测试数据。

下面两处位置均需要修改为全局变量。

为新增添加响应断言。

示例查看:自动化接口脚本设计.jmx。

5.情景压力测试分析:

弱压力测试:一段时间之内的用户访问量。

场景分析:

场景1---接口弱压力测试:

1000个用户---线程组的线程数:1000

半小时之内---线程组的Ramp-Up时间(秒):30*60=1800

聚合报告进行查看结果。

场景2--高并发:

100个用户---线程组的线程数100

同步定时器:模拟用户组的数量100

场景3--高频率:

2个用户---线程组的线程数:2

20QPS---线程组的循环次数200

常数吞吐量定时器:目标吞吐量1200.0

接口性能测试实战.jmx

6.生成图形化测试报告:

在JMeter中可以以图形化(饼状图、柱状图...)的方式显示脚本运行结果,较之于聚合报告或查看结果树组件实现更直观,用户体验更友好。生成图形化测试报告:

命令:jmeter -n -t 脚本文件 -l 日志文件 -e -o 目录

-n无图形化运行

-t被运行的脚本

-l将运行信息写入日志文件

-e生成测试报告

-o指定报告输出目录

在JMeter文件目录的bin文件夹下打开cmd,然后输入:

最终在hm文件夹下,打开index.html即可。


http://www.kler.cn/a/397985.html

相关文章:

  • 小程序19-微信小程序的样式和组件介绍
  • Neo4j Desktop 和 Neo4j Community Edition 区别
  • [系统安全] PE文件知识在免杀中的应用
  • vue如何实现组件切换
  • Qt 项目架构设计
  • linux企业中常用NFS、ftp服务
  • 2024山西省网络建设运维第十八届职业院校技能大赛解析答案(7. mariadb 服务)
  • Mysql每日一题(if函数)
  • UE5材质篇 4 材质表面雨滴打落
  • 基于机器学习的虚拟传感器用于门开启检测和异常检测
  • Java基础夯实——1.7 序列化
  • Py之pymupdf:基于langchain框架结合pymupdf库实现输出每个PDF页面的文本内容、元数据等
  • 快速上手STL中list的使用
  • 新日撸java三百行` 新手小白java学习记录 `Day1
  • thinkphp 连表查询
  • 【大数据学习 | flume】flume之常见的sink组件
  • 解析 Android WebChromeClient:提升 WebView 用户体验的关键组件
  • RabbitMQ入门:“Hello World!“ 教程(一)
  • Uniapp踩坑input自动获取焦点ref动态获取实例不可用
  • docker启动训练容器教程
  • html数据类型
  • 【项目设计技巧】客户端SDK的开发
  • Linux驱动开发——pinctrl 和 和 gpio 子系统实验
  • 前缀和算法习题篇(上)
  • 【点云上采样】最近邻插值上采样算法 增加点云密度
  • C++ 编程基础(5)类与对象 | 5.8、面向对象五大原则