Skip to content

Latest commit

 

History

History
92 lines (69 loc) · 5.68 KB

10_性能测试_Fiddler_弱网测试_断点调试.md

File metadata and controls

92 lines (69 loc) · 5.68 KB

性能测试

性能测试流程

首先确认性能需求,分析业务场景,一般主要测试重要的业务场景以及并发较多的场景。 先制定性能测试计划,构造测试数据,运用参数化关联、断言、事务控制器、集合点来定义测试场景,并编写性能测试脚本。一般进行并发测试,首先在 jmeter 测试计划下添加线程组、事务控制器,在事务控制器中添加相关事务的 http 请求,添加固定定时器用于模拟用户的思考时间,添加同步定时器模拟并发操作,设置线程组的线程数模拟用户数,修改线程的持续运行时间,通过参数化进行参数传递,编写断言判断响应的结果状态,多次复制线程递增修改线程的数量和同步定时器并发数,通过 jmeter 指令的方式运行脚本,最后生成测试报告,分析测试结果。

怎么判断服务器性能

通过梯度施压进行性能测试,通过最佳并发用户数,通过多个指标判断。

指标数据可以通过 jmeter 的 perfmon 插件和生成的性能测试报告一起分析。
考虑的指标包括,响应时间、请求错误率、服务器 cpu、内存、tps 等指标综合判定。

随着用户数的增加,tps 也跟随着线性增加,响应时间在 3 秒以内,cpu 和内存使用率在 70% 以内,此时就是最佳并发用户数。

如果 tps 随着用户数缓慢增加,响应时间在 5 秒以内,cpu 和内存使用率在 90% 内,此时就是最大并发用户数。

有做过性能调优吗

  1. 先考虑网络问题,可以通过 ping 查看与服务器通讯是否正常,查看传输速度快慢。如果有问题可以提升服务器带宽,看响应时间是否得到优化。
  2. 考虑数据库问题,可以单独对数据库进行压测,使用 jmeter 的 jdbc 压测服务器,查看数据库最大连接数,考虑 sql 语句的执行效率,索引命中率等问题。
  3. 考虑中间件问题,查看中间件设置最大连接数是否合理,比如 nginx,如果最大连接数过小也会导致等待时间过长。
  4. 考虑服务器硬件配置,cpu、内存、磁盘等,如果有问题可以进行升级服务器。
  5. 考虑开发代码效率问题,看是否需要优化代码。

Fiddler

你是如何判断前后端问题的

使用 Fiddler 工具对数据进行抓包,主要从接口请求和响应数据进行分析
如果请求的地址、方法、请求体、参数中出现问题,是前端问题
如果请求的数据正确,响应数据错误,比如出参内容错误,响应数据排序错误,是后端问题
还可以通过状态码判断,4 xx 是前端问题,5 xx 是后端问题
如果请求响应数据正确,前端显示有问题,是前端问题
一般界面样式问题是前端问题
数据交互问题一般是后端问题

Fiddler 如何抓取 https 请求

在 Fiddler 设置中开启抓取 https 请求选项
开启解析 https 请求数据选项
勾选忽略证书错误
下载并安装 Fiddler 证书
重启就可以抓取到 https 请求

这么抓取手机 app 数据

  1. 设置开启允许远程连接选项,并开启抓取 https 选项
  2. 确保手机和 Fiddler 主机在同一局域网内,手机 wifi 设置代理为 Fiddler 所在主机 ip 地址,端口号设为 8888
  3. 浏览器打开主机 ip 地址端口 8888,下载 Fiddler 证书
  4. 打开 app 就可以进行抓包

如何进行 mock 挡板测试

一般在需要调用第三方接口时,第三方接口需要收费或未完成,的情况下进行挡板测试
首先在 Fiddler 选择 AutoResponder 选项,添加规则,在规则中添加需要进行挡板测试的网址
创建响应数据文件,内容中编写好响应信息
启用此规则,就可以进行挡板测试

Fiddler 主要用来做什么

用于数据抓包
定位前后端 bug
验证数据准确性和安全性
构造弱网环境进行弱网测试
进行 mock 挡板测试
进行断点调试,篡改请求和响应内容

Fiddler 如何进行弱网测试

在 Fiddler 设置中开启抓取 https 请求选项
开启解析 https 请求数据选项
开启允许远程连接选项
确保手机和 Fiddler 主机在同一局域网内,手机 wifi 设置代理为 Fiddler 所在主机 ip 地址,端口号设为 8888
下载 Fiddler 证书

在 Fiddler 调整脚本,限制上传和下载的速度,开启限速选项

弱网测试目的

查看程序在网络异常的环境下能否正常运行或正常处理网络异常相关错误
在加载缓慢的情况下是否有加载提醒或动画
无法加载到的时候有没有默认提示信息,图片有没有默认图片
查看在弱网环境下是否有重复提交问题

怎么做断点调试的

分为请求前断点和响应后断点
请求前断点可以修改请求相关信息,通过 bpu 指令打请求前断点
响应后断点可以修改响应相关信息,通过 bpafter 指令打响应后断点
主要用断点调试模拟篡改数据,查看前后端能否对异常数据异常处理