首页 > 软件测试

JMeter从入门到精通

课程适合人群:
   软件性能测试工程师
本课程重点解答&解决:
   介绍JMeter
   结合具体案例介绍如何用JMeter进行接口测试
   结合具体案例介绍如何用JMeter进行安全测试
   结合具体案例介绍如何用JMeter进行性能测试
本课程亮点+核心价值介绍:
   结合具体案例
   讲解如何用JMeter进行安全测试
课程大纲:
课长3天

1 抓包工具及使用

   1.1 Fiddler抓包工具原理

   1.2 Fiddler 工具安装

   1.3 Fiddler 视图功能区域讲解

   1.4 Fiddler 过滤filters非必要抓取请求

2 HTTP&HTTPS协议

   2.1 HTTP/HTTPS的工作原理

   2.2 HTTP协议的请求包和响应包

   2.3 HTTP协议的无连接性与无状态性

3 进入JMeter

   3.1 JMeter的单机环境安装

   3.2 JMeter的分布式环境安装

   3.3 JMeter的目录结构

   3.4 JMeter的界面

   3.5 安装第三方插件

4 被测产品

   4.1 ER图

   4.2用户模块

   4.3商品模块

   4.4购物车模块

   4.5收货地址模块

   4.6订单模块

5 搭建初始化脚本试看

   5.1案例

      5.1.1通过Badboy录制

      5.1.2通过JMeter录制元件来录制脚本

      5.1.3录制HTTPS协议

      5.1.4自己建立测试脚本

      5.1.5录制结果的验证

   5.2元件介绍

      5.2.1测试计划

      5.2.2 HTTP Cookie 管理器

      5.2.3 HTTP信息头管理器

      5.2.4用户定义的变量

      5.2.5HTTP请求默认值

      5.2.6 HTTP代理服务器

      5.2.7线程组

      5.2.8 SetUp线程组和teatDown线程组

      5.2.9HTTP请求

      5.2.10调试取样器

      5.2.11录制控制器

      5.2.12循环控制器

      5.2.13察看结果树

      5.2.13察看结果树

      5.2.14简单数据写入器

       5.2.15用表格察看结果

6 搭建登录接口脚本

   6.1案例

      6.1.1建立密码SHA-256散列步骤.

       6.12对CSRF token的处理

      6.1.3登录断言

      6.1.4商品列表断言

      6.1.5利用CSV Data Set Config参数化

      6.1.6建立setUp与tearDown线程组

   6.1.7 J2EE版本商品列表的接口测试脚本

   6.2元件介绍

      6.2.1登录功能的接口测试脚本相关函数助手—散列函数

      6.2.2通过MySQL参数化

      6.2.3响应断言

      6.2.4 BeanShell断言

      6.2.5正则表达式

      6.2.6正则表达式提取器

      6.2.7边界提取器

      6.2.8 XML断言

      6.2.9 XPath与XPath2

      6.2.10 XPath断言

      6.2.11 XPath2断言

      6.2.1XPath提取器

      6.2.12 XPath2提取器

      6.2.13 CSV Data Set Config

      6.2.14计数器

      6.2.15 JDBC Request

7 其他功能的接口测试

   7.1案例

      7.1.1搭建正常注册功能的接口测试脚本

      7.1.2 搭建异常注册功能的接口测试脚本

      7.1.3清除注册功能测试产生的垃圾数据

      7.1.4 Django版本查询商品接口测试脚本操作

      7.1.5 Django版本查看商品详情接口测试脚本操作

      7.1.6 J2EE版本中商品详情接口测试脚本操作

      7.1.7通过后台添加商品

      7.1.8购物车的接口测试脚本

      7.1.9订单相关的接口测试脚本

   7.2元件介绍

      7.2.1 Random函数

      7.2.2 CSVRead函数

      7.2.3仅一次控制器

      7.2.4简单控制器

      7.2.5如果(If)控制器

      7.2.6 CSS JQuery提取器

      7.2.7 JSON提取器

      7.2.8 JSON JMESPath Extractor

      7.2.9 JOSN提取器和JSON JMESPath Extractor比较

      7.2.10 JSON断言

      7.2.11 JSON JMESPath Assertion

      7.2.12 SMTP取样器

8 JMeter的二次开发

   8.1案例

      8.1.1开发BeanShell调用外部jar文件

      8.1.2开发函数助手

      8.1.3利用Java请求实现

   8.2元件介绍

      8.2.1 BeanShell预处理程序

      8.2.2 BeanShell后置处理程序

      8.2.3 Java请求

9安全测试

   9.1案例

      9.1.1暴力破解测试方法及其预防措施

      9.1.2篡改找回密码中的邮件地址手机号的测试方法

      9.1.3横向越权的测试方法

      9.1.4纵向越权的测试方法

   9.2元件介绍

      9.2.1模块控制器

      9.2.2 ForEach控制器

      9.2.3测试片段

10 性能测试

   10.1案例

      10.1.1单功能性能测试的搭建和多功能性能测试的搭建

      10.1.2并发负载测试的执行

      10.1.3容量负载测试的执行

      10.1.4疲劳性测试的执行

      10.1.5强度测试的执行

   10.2元件介绍

      10.2.1断言持续时间

      10.2.2吞吐量控制器(类似LoadRunner的多场景设置功能)

      10.2.3 HTTP缓存管理器

      10.2.4同步定时器(集合点)

      10.2.5固定定时器

      10.2.6统一随机定时器

      10.2.7高斯随机定时器

      10.2.8泊松随机定时器

      10.2.9聚合报告

      10.2.10汇总报告

      10.2.11汇总图

      10.2.12响应时间图

      10.2.13图形结果

   10.3性能测试指标

      10.3.1业务指标和技术指标区别

      10.3.2TPS

      10.3.3 HPS

      10.3.4 RT

11 运行及监控

   11.1运行

      11.1.1利用JMeter自带工具运行

      11.1.2利用Apache Ant自带工具运行

      11.1.3利用Taurus自带工具运行

   11.2监控

      11.2.1利用Nmon进行监控Linux OS

      11.2.2压测端监控:JMeter集群+InfluxDB存储+Grafana

      11.2.3被测端监控:Exporter + Prometheus + Grafana

      11.2.3全链路监控:SkyWalking

12 APP移动端性能测试

13 其他元件

   13.1逻辑控制器

      13.1.1 While控制器

      13.1.2 Switch控制器

      13.1.3 交替控制器

      13.1.4 Runtime控制器

      13.1.5随机控制器

      13.1.6随机顺序控制器

   13.2断言

      13.2.1大小断言

      13.2.2 HTML断言

      13.2.3MD5Hex断言

   13.3定时器

      13.3.1 常数吞吐量定时器

      13.3.2 准确的吞吐量定时器

   13.4取样器

      13.4.1FTP取样器

      13.4.2 OS进程取样器

      13.4.3 JUnit取样器

   13.5配置元件

      13.5.1 FTP默认请求

      13.5.2 Java默认请求

      13.5.3 简单配置元件

      13.5.4 随机变量

投稿关闭窗口打印