08-06 性能测试--测试报告与数据

性能测试报告模板:

链接: https://pan.baidu.com/s/1iQju...

提取码: 2gu6

前端性能分析

使用 Chrome 浏览器

08-06 性能测试--测试报告与数据_第1张图片

结果查看:

08-06 性能测试--测试报告与数据_第2张图片

图中各种颜色代表的含义:

  • 蓝色 Loading:加载
  • 黄色 Scripting:脚本
  • 紫色 Rendering:渲染
  • 绿色 Painting:绘制
  • 浅灰 Other:其他

若需要通过 Jmeter 进行测试,则需要☑️从HTML文件获取所有内含的资源

08-06 性能测试--测试报告与数据_第3张图片

前端性能优化

  • 静态资源加缓存,使用 CDN 与 独立域名
  • JavaScript 压缩,去掉重复请求
  • JavaScript 加载后移
  • CSS 依赖减少,置顶
  • 异步接口请求优化、合并、减少
  • 检查页面请求失败与跳转的外部资源
  • 减少页面请求个数,减少 JavaScript 与 CSS 加载
  • JavaScript 内存泄露,JavaScript 清除定时器

Cache-Control: max-age=31536000

测试用例场景

08-06 性能测试--测试报告与数据_第4张图片

08-06 性能测试--测试报告与数据_第5张图片

数据分析

进行性能测试时,GUI 界面仅作为调试用;

真实运行性能测试时,使用非 GUI 方式运行。

使用命令行启动脚本:

参考链接:https://www.cnblogs.com/kaibi...

jmeter -n -t xxx.jmx

生成 jtl 文件:jmeter -n -t xxx.jmx -l xxx.jtl

生成的 jtl 文件,可通过 jmeter 中的监听器进行浏览

08-06 性能测试--测试报告与数据_第6张图片监听器中生成的图形,可以导出到 csv

08-06 性能测试--测试报告与数据_第7张图片

直接生成 csv 文件:jmeter -n -t xxx.jmx -l xxx.csv

注意:需要修改 bin/jmeter.properties 配置文件

生产 csv 文件:jmeter.save.saveservice.output_format = xml

08-06 性能测试--测试报告与数据_第8张图片

需要生成 jtl 文件时,需要将 xml 改为 csv

生产 jtl 文件:jmeter.save.saveservice.output_format = csv

生成 HTML 测试报告

jmeter -n -t xxx.jmx -l xxx.jtl -e -o HTMLReport(报告存放文件夹)

注意事项:

  • 命令执行路径下,不能存在 xxx.jtl 文件,已经生成的,需要删除
  • 命令执行路径下,必须要有 报告存放文件夹,且文件夹内必须清空所有内容

测试报告展示:

08-06 性能测试--测试报告与数据_第9张图片

重点关注 APDEX 表

Apdex 值是性能评测标准;

值的范围:0~1

  • 0:代表最差
  • 1:代表最优
  • 越接近 1,表示性能越好

APDEX 详细说明:

https://testerhome.com/topics...

非 GUI 运行动态线程

  1. 使用函数助手生成一个变量:

08-06 性能测试--测试报告与数据_第10张图片

  1. 在线程组中应用生成值,其他变量同理:

08-06 性能测试--测试报告与数据_第11张图片

  1. 以 Windows 系统的 bat 脚本文件为例:
echo off



rem 生成当前日期
FOR /F "TOKENS=1,2 eol=/ DELIMS=/ " %%A IN ('DATE/T') DO SET yyyy=%%A
FOR /F "TOKENS=1,2 DELIMS=/ eol=/" %%A IN ('DATE/T') DO SET mm=%%B
FOR /F "TOKENS=2,3 DELIMS=/ " %%A IN ('DATE/T') DO SET dd=%%B
set date=%yyyy%%mm%%dd%
set tmp_time=%time:~-11,2%%time:~-8,2%%time:~-5,2%
set time=%tmp_time: =%
set d=%date%%time%
echo 当前日期: %d%

rem 获取用户输入的值
set thread=
set /p thread= 请输入线程数:

set everytime=
set /p everytime= 请输入阶梯间隔时间:

set ramp-up =
set /p ramp-up= 请输入线程启动时间:

set hold =
set /p hold= 请输入持续时间:

rem 执行脚本
# -Jxxx 指定义变量,例如 -Jthread:定义了一个 thread 变量
# %thread%:读取第16行设置的变量 thread
call Jmeter -Jthread=%thread%   -Jeverytime=%everytime% -Jramp-up=%ramp-up% -Jhold=%hold%  -n -t 天猫.jmx -l Jtl文件/%d%_tmall/tmall_%d%.jtl -j Jtl文件/%d%_tmall/场景设计_%d%.log -e -o Jtl文件/%d%_tmall/tmall_%d%_httpreport

pause

你可能感兴趣的