Jmeter两种运行方式 GUI图形模式 GLI命令行模式(性能测试) jmeter -n -t [jmx file] -l [results file] -e -o [path to web report folder] Jmeter运行命令解释 -n 用非图形模式 -t 结脚本位置 -l 生成结果文件 -e 生成报告 -o 保存报告,接路径 Jenkins:定时构建,持续集成,发送邮件 2022/10/24性能测试 学习目的: 1. 软件测试工程师的必修课,每个一公司的产品都要进行性能测试 1. 提高对于网络请求以及多并发、多线程概念的理解 性能测试简介:性能测试是指通过特定方式,对被测系统按照一定策略施加压力,获取系统响应时间、TPS(Transaction Per Second)、吞吐量、资源利用率等性能指标,以期保证生产系统的性能能够满足用户需求的过程。性能测试一般是指大数据量的测试。 特定方式:公交车荷载人数的测试==eg.社会招聘70-80名人员在公交车上坐一天 根据软件特性来决定:互联网产品==模拟多用户在同一时段操作 eg.带货主播所在时间 段内带货:小说阅读器 能打开多大的文本内容 eg.用记事本打开100MB的文本文件 特定方式:一般不能用人工方式来模拟==需软件工具 eg.可使用jmeter模拟 一定策略:模拟在直播的时间进行性能测试 eg.提前模拟11.11晚上零点订单提交 获取指标:小汽车出厂测试,让其在道路上跑5小时(耗油量、耗电、胎压等) 性能测试过程:与传统测试过程差不多,但是多了几个环节 性能测试计划(方案) 制作性能测试脚本 调试性能测试脚本 根据方案设置性能测试场景 执行性能测试 进行监控或者性能指标 性能测试报告 性能调优 制作性能测试脚本:分两种情况 1. 公司有接口设计文档,无需抓包,直接用jmeter根据文档模拟接口即可 2. 公司没有接口设计文档火接口设计文档不完善(开发没有更新、文档内有错误),需要使用工具进行抓包,再根据抓包的信息进行模拟脚本 charles+jmeter配合使用 步骤: 1. charles设置过滤,抓包只显示目标网站的数据包信息 2. 在网站上根据操作对抓包信息进行备注 3. 对抓包信息进行优化,过滤掉无用资源文件(CSS/js/图片/声音等)数据 资源文件:对于网站来讲,第一次打开网页,浏览器下载所需的所有资源文件,第二次打开相同的网页,浏览器只会下载更新过的资源文件,其他的使用浏览器缓存的资源文件 4. 将抓包信息录入到jmeter做成脚本 经验:抓包遇到3**下面的第一个2**不用写到脚本中,因为jmeter默认支持重定向的
调试性能测试脚本: 第一步:执行脚本,对比查看结果树得响应数据和charles真实的响应数据是否有区别,如果是一致的。则请求是成功的,如果不一致,则需要调试成一致的 如果出现返回值不一致的情况,绝对是请求信息出现了问题,请求信息包含(请求行、请求头、请求正文)把真实的请求信息与jmeter模拟的请求信息进行对比 经验一:调整请求头信息(accept),可以把相应正文的数据类型调整对 经验二:在请求信息中如果包含一个随机字符串,大概率是上一个请求产生的,需要做关联 经验三:如果请求信息(请求头/请求行/请求正文)都正确,还是模拟失败,增加cookie
|