压力测试 —— K6

链接:

API Test using K6

 

Install K6: K6
Or use docker image repo.bgc.slb.com:8083/cloud-infrastructure-operation/base/thirdparty/k6:0.37.0
 

 


Running k6 
K6 Test lifecycle 
k6-像单元测试一样做压力测试 

而k6之所以用Go开发但是支持JavaScript作为压测脚本的语言,还是和它自身的理念相关的,那就是“Like Unit Testing, for Performance”,像单元测试一样做压力测试。单元测试,毫无疑问应该是研发人员自己做的,而研发人员大部分用JavaScript和Java。但是,一个模拟真实场景的压力测试不可能只做服务器端的,制作REST API的测试,而必须包含前端。所以JavaScript是最佳语言。当然,能用JavaScript就能用TypeScript。k6提供了一个TS的模版工程,其实也很简单,就是帮你配制好webpack,把TS编译成JS。

k6的Like Unit Testing, for Performance思想,让开发人员了解一些基本的测试概念,例如VU(虚拟用户)等概念,就可以自己编写脚本做压力测试。让专业测试人员了解一些基本的JS语法,就可以脱离笨重的传统压测软件。k6在这中间找到了完美的结合点。

k6区别于传统压测工具的最主要原因还是本地+云端相结合。k6本地工具只有15.8M(Window安装程序),Loadrunner好像一个多G。k6的更多功能是通过云端和浏览器插件实现的,而Loadrunner等20年前的传统工具则从来没有这样想过!


K6性能测试工具的使用入门 

k6是高性能的负载测试工具,也是一种高性能工具,旨在在预生产和QA环境中以高负载运行测试,可使用JavaScript编写脚本。它是一个以开发人员为中心(当然,测试人员亦可以使用,因为真的很方便),免费和开源的负载测试工具,旨在使性能测试具有生产力和令人愉悦的体验,可最大程度地减少系统资源的消耗。官网:https://k6.io/

 


K6 测试代码的生命周期 

 

K6 测试代码的生命周期

k6的代码有4个生命周期,init code ,vu code,setup,和teardown

 

// 1. init code 初始化的数据在这里面放
 
 
export function setup() {
  // 2. setup code
}
 
export default function(data) {
  // 3. vu code
}
 
export function teardown(data) {
  // 4. teardown code
}

  

 

Introduction (k6.io)

 

posted @ 2022-12-13 16:43  PanPan003  阅读(742)  评论(0编辑  收藏  举报