不同类型的API测试

6 篇文章 0 订阅
2 篇文章 0 订阅

不同类型的API测试

在本文中,您将了解4种类型的API测试 :

  • 烟雾测试(Smoke Test)
  • 负载测试(Load Test)
  • 压力测试(Stress Test)
  • 浸泡测试(Soak Test)

我将使用k6演示如何进行测试,刚入门的朋友可以看看我发布或转发的文章以了解更多,您也可以参考官方的指南

我将对以下脚本进行更改以适应测试的需求:

import http from 'k6/http';
import { sleep } from 'k6';

export default function () {
  http.get('http://test.k6.io');
  sleep(1);
}

烟雾测试(Smoke Test)

验证您的API是否可以处理最小负载而没有任何问题。

import http from 'k6/http';
import { sleep } from 'k6';

export let options = {
  vus: 1, // 单个虚拟用户
  duration: '1m', // 测试时间为1分钟
  thresholds: {
    http_req_duration: ['p(99)<1500'], // 100之99的请求必须在1.5秒内完成 
  },
};

export default function () {
  http.get('http://test.k6.io');
  sleep(1);
}

负载测试(Load Test)

访问API的性能(性能测试)。

import http from 'k6/http';
import { sleep } from 'k6';

export let options = {
  stages: [
    { duration: '5m', target: 100 }, // 在5分钟内将虚拟用户从1增加到100
    { duration: '10m', target: 100 }, // 保留100虚拟用户用户10分钟 
    { duration: '5m', target: 0 }, // 在5分钟内将虚拟用户从100降低到0
  ],
  thresholds: {
    http_req_duration: ['p(99)<1500'], // 100之99的请求必须在1.5秒内完成 
  },
};

export default function () {
  http.get('http://test.k6.io');
  sleep(1);
}

压力测试(Stress Test)

评估API极限以及在极端条件下的稳定性。

import http from 'k6/http';
import { sleep } from 'k6';

export let options = {
  stages: [
    { duration: '2m', target: 100 }, // 低于正常负载 
    { duration: '5m', target: 100 },
    { duration: '2m', target: 200 }, // 正常负载
    { duration: '5m', target: 200 },
    { duration: '2m', target: 300 }, // 突破点
    { duration: '5m', target: 300 },
    { duration: '2m', target: 400 }, // 超于突破点
    { duration: '5m', target: 400 },
    { duration: '10m', target: 0 }, // 恢复阶段 
};

export default function () {
  http.get('http://test.k6.io');
  sleep(1);
}

浸泡测试(Soak Test)

长时间测试API的可靠性和性能。

import http from 'k6/http';
import { sleep } from 'k6';

export let options = {
  stages: [
    { duration: '2m', target: 400 }, // 在2分钟内将虚拟用户从1增加到400
    { duration: '4h', target: 400 }, // 保留100虚拟用户用户4个小时
    { duration: '2m', target: 0 }, // 在2分钟内将虚拟用户从400降低到0

  ],
};

export default function () {
  http.get('http://test.k6.io');
  sleep(1);
}

运行测试

保存脚本为script.js并运行以下命令:

k6 run script.js

测试愉快!

参阅

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值