Skip to content

使用变量进行参数化测试

使用变量进行参数化测试

简介

JMeter 使用变量进行参数化测试是指在 JMeter 测试计划中,通过定义和使用变量来替代硬编码的测试数据,以实现测试数据的动态化和可配置化。这种方法可以极大地提高测试效率和灵活性,特别适用于需要测试大量不同数据或在不同环境下进行重复测试的场景。

使用参数化的优点

  1. 提高测试效率:参数化测试允许测试人员编写一次测试逻辑,并使用不同的参数集来多次运行测试。这样,测试人员无需为每个新的输入数据重复编写测试用例,从而显著提高了测试的效率。在敏捷开发中,这种高效性确保测试能够跟上快速的开发节奏,确保在每次迭代中都能进行充分的测试。
  2. 增加测试覆盖率和真实性:参数化测试可以轻松覆盖接口的各种输入情况,包括正常值、边界值和异常值等,有助于发现更多的潜在缺陷。同时,通过为每个虚拟用户使用不同参数值来模拟,可以使业务更接近真实的客户业务,更好地反映客户的实际情况。
  3. 易于管理与扩展:参数化的测试数据通常以结构化的方式存储,如表格或文件,这使得测试数据的管理变得更加直观和便捷。这种灵活性使得测试能够适应不断变化的需求,支持敏捷开发中的快速迭代。
  4. 更好的错误定位:当某个参数化的测试用例失败时,可以很容易地知道是哪个参数组合导致了失败,从而有助于快速定位问题。

参数化测试的类型

  1. 用户定义的变量:这种方法适用于那些不需要在测试计划执行过程中发生变化的参数。这些变量可以在测试计划开始前定义,并在整个测试计划中使用。例如,应用的 tid 和 vid 等参数可以使用这种方式进行参数化。
  2. 用户参数:与用户定义的变量不同,用户参数列表中的参数取值可以在测试计划执行过程中发生变化。这意味着你可以为同一参数设置多组不同的值,并在每次迭代中使用不同的值。
  3. 函数助手:JMeter 提供了丰富的函数助手,可以帮助你生成各种类型的变量值,如随机数、时间戳等。
  4. CSV 数据文件设置:你可以将测试数据存储在 CSV 文件中,并在 JMeter 中通过读取 CSV 文件来设置参数值。这种方法特别适用于有大量测试数据的场景。

操作步骤

用户自定义变量

  1. 创建线程组
  2. 创建 User Defined Variables(用户自定义变量) 元件

    alt text

  3. 配置元件 User Defined Variables(用户自定义变量)

    alt text

  4. http 请求里调用变量

    alt text

从 CSV 文件中读取数据

  1. 创建线程组
  2. 创建 http 请求
  3. 准备一个 data.csv 文件

    alt text

  4. 创建 CSV data set Config 元件

    alt text

  5. 配置 CSV data set Config

    alt text

  6. http 请求里进行变量引用

    alt text

  7. 创建 debug samplerview result tree 元件

  8. 查看结果

    alt text

总结

  • 参数化测试的类型
  • 实现参数化测试