测试结果
K6工具有两种展示测试结果的方法,默认是在执行结束之后会生成一个汇总数据作为测试报告。K6的测试报告是可定制化的。默认的测试报告会包含并发数,断言,请求次数和时间相关的数据统计信息。
K6的测试结果也可以在测试过程中将测试结果实时的同步到其他的外部工具中 (如: InfluxDB, Kafka, StatsD.) ,也可以通过K6 cloud 直观的看到测试结果,并且可以导出CSV和JSON格式的问题件。
测试报告展示
测试结果主要包含以下几部分:
- 测试详情: 生成测试信息和压测参数信息
- 进度条: 测试状态信息,已经运行时长和总时长
- 测试汇总信息:测试结果信息,从K6的0.30.0版本后,就可以自定义输出和重定向到文件,也可以支持保存指定格式的文件,提高可读性。如json,xml,csv或者对用户更有好的html报告
测试详情
- execution: local 表示K6的执行模式是本地脚本执行
- output:- 表示是默认结果输出
- script: path/to/scripts.js 表示所执行脚本的相对路径
- scenarios: … 是脚本所要执行的场景信息和一些概要信息
- (100%) 表示用来执行的部分
- 50 max VUs 表示场景执行达到最大50个虚拟用户数
- 5m30s mas duration* 表示脚本执行的最大时长,其中包括优雅停止时间
聚合报告
测试聚合报告提供了一个基本的测试结果输出,默认是通过控制台输出。主要包含以下内容:
- 统计内置的指标数据和自定义指标数据
- 断言和阈值统计
- 分组和标签
也可以通过指定参数来设置输出的结果信息和指定单位
k6 run --summary-trend-stats="min,avg,med,p(99),p(99.9),max,count" --summary-time-unit=ms script.js
报告输出
当前支持的内置输出如下:
插件 | 使用方法 |
---|---|
Amazon CloudWatch | k6 run --out statsd |
Apache Kafka | k6 run --out kafka |
Cloud | k6 run --out cloud |
CSV | k6 run --out csv |
Datadog | k6 run --out datadog |
InfluxDB | k6 run --out influxdb |
JSON | k6 run --out json |
New Relic | k6 run --out statsd |
StatsD | k6 run --out statsd |
多种输出格式
可以同时指定多种输出格式,在命令行中使用多个–out 并指定多种输出格式,如下:
k6 run \
--out json=test.json \
--out influxdb=http://localhost:8086/k6