冒烟测试
冒烟测试的负载最小。运行冒烟测试可以验证系统在最小负载下的工作状态,并收集基线性能值。
此类测试使用少量虚拟用户 (VU) 运行,通常小于 5 个 VU,超过 5 个 VU 可视为小型负载测试。
类似地,测试执行时间应较短,要么迭代次数较少 (迭代),要么持续时间 (持续时间) 从几秒到最多几分钟。
在某些测试语境中,冒烟测试也称为初检测试。
何时运行冒烟测试
每当创建或更新测试脚本时,团队都应运行冒烟测试。相关应用程序代码更新时,也应进行冒烟测试。
将冒烟测试作为第一步是一个好的实践,其目标如下:
- 验证您的测试脚本没有错误。
- 验证您的系统在最小负载下没有抛出任何错误(性能或系统相关)。
- 收集您的系统在最小负载下的基线性能指标。
- 使用简单的逻辑,作为合成测试,监控生产环境的性能和可用性。
注意事项
准备冒烟测试时,请考虑以下事项:
每次创建或更新脚本时,运行冒烟测试
由于冒烟测试用于验证测试脚本,因此每次创建或更新脚本时都应运行一次。避免使用未经测试的脚本运行其他测试类型。
保持吞吐量小,持续时间短
将您的测试脚本配置为由少量 VU(2 到 20 个)执行,迭代次数少或持续时间短(30 秒到 3 分钟)。
在 k6 中进行冒烟测试
import http from 'k6/http';
import { check, sleep } from 'k6';
export const options = {
vus: 3, // Key for Smoke test. Keep it at 2, 3, max 5 VUs
duration: '1m', // This can be shorter or just a few iterations
};
export default () => {
const urlRes = http.get('https://quickpizza.grafana.com');
sleep(1);
// MORE STEPS
// Here you can have more steps or complex script
// Step1
// Step2
// etc.
};
以下脚本是一个冒烟测试示例。您可以复制它,更改端点,然后开始测试。有关更全面的测试逻辑,请参阅示例。冒烟测试的 VU 图表应与此类似。
结果分析
冒烟测试首先验证您的脚本是否无误运行。如果出现任何与脚本相关的错误,请先更正脚本,然后再尝试任何更广泛的测试。
另一方面,如果您注意到在这些低 VU 数下性能不佳,请报告问题,修复您的环境,然后在进行任何进一步测试之前再次尝试冒烟测试。
一旦您的冒烟测试显示零错误且性能结果看起来可以接受,您就可以继续进行其他测试类型了。