k6 基础

k6 用 JavaScript 描述负载:默认导出函数是一次迭代,options 定义虚拟用户与阶段,check 与 threshold 内建;单二进制运行,便于 CI 集成。

软件测试速查开发更新于 2026-10-12

脚本示例

脚本示例
import http from 'k6/http';
import { check, sleep } from 'k6';

export const options = { vus: 20, duration: '1m' };

export default function () {
  const res = http.get('https://example.com/api/ping');
  check(res, { 'status is 200': (r) => r.status === 200 });
  sleep(1);
}
每个 VU 是独立 JS 运行环境;跨迭代共享状态要通过共享模块或建立显式模型,不能依赖全局变量隐式传递。

易错点

  • 脚本里每次迭代新建连接或数据随机无法复现,结果不可比
  • CI 中直接跑全量长时压测,挤占流水线时间

数据来源与参考

  • k6 官方文档(k6.io/docs)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌