Jmeter 使用实践 - 接口 diff 测试

简介:

大多数人都使用 Jmeter 做过性能测试,但是在使用的过程中你会发现,它不仅可以做性能测试和功能测试,还能够满足基本的接口测试需求。

相比其他工具,Jmeter 入门门槛较低,安装也比较方便,根据自己的需要可以扩展一些插件,总之一句话: 优点太多了。

那么问题来了,为什么要做接口 diff 测试?

  • 产品迭代较快,提高已有 case 回归的效率,减轻工作量;
  • 通过 diff 可以看到新的改动对已有功能的影响;
  • 可以根据修改的代码设置 case,有针对性的测试;
  • 在开发联调阶段提前定位发现的问题。

下面就介绍下通过 Jmeter 进行 diff 测试的步骤:

1.添加测试计划

2.添加 Threads

3.添加 Sampler-HTTP 请求

旧版本的接口:interfaceV1

4.针对 Sampler interfaceV1 添加后置处理器 - BeanShell PostProcessor,如图:

Paste_Image.png

5.添加Sampler-HTTP请求

新版本的接口:interfaceV2

6.针对Sampler interfaceV2添加后置处理器 - BeanShell PostProcessor

Paste_Image.png

7.针对 Sampler interfaceV2 添加后置处理器 - BeanShell Sampler

8.在 BeanShell Sampler 添加断言 - BeanShell 断言

Paste_Image.png

下面是针对响应的信息进行简单的比较

resultV1 = vars.get("version1");
String[] firstLines = resultV1.split("\n");
resultV2 = vars.get("version2");
String[] secondLines = resultV2.split("\n");
for (i=0; i<firstLines.length; i++) {
if (!firstLines[i].equals(secondLines[i])){
j = i + 1;
Failure = true;
FailureMessage = FailureMessage + "\r第 " + j + " 行不同." + " \r\n版本1是: " + firstLines[i] + " \r\r\n版本2是: " + secondLines[i];
}else{
FailureMessage = FailureMessage + "\r两个版本返回结果相同";
}
}

9.添加监听器-断言结果

10.运行脚本后,查看断言结果

Paste_Image.png

经过以上几步就完成了一个简单的接口 diff 测试

如果想实现自动化,可以集成到 jenkins 中。针对不同的环境,要想保证脚本都能够正常运行,可以添加配置元件 - 用户定义的变量,将环境配置作为变量保存。

此外,如有其他小伙伴发现了更好的一些针对 diff 测试的工具或方法,请多多指教。

相关文章
|
23天前
|
安全 Linux 测试技术
提升龙蜥内核测试能力!探究持续性模糊测试优化实践
清华大学软件学院对Anolis OS使用靶向模糊测试方法将测试工作引向修改的代码,进而提高对业务代码的测试能力。
|
8天前
|
敏捷开发 监控 前端开发
深入理解自动化测试框架Selenium的架构与实践
【4月更文挑战第16天】 在现代软件开发过程中,自动化测试已成为确保产品质量和加快迭代速度的关键手段。Selenium作为一种广泛使用的自动化测试工具,其开源、跨平台的特性使得它成为业界的首选之一。本文旨在剖析Selenium的核心架构,并结合实际案例探讨其在复杂Web应用测试中的高效实践方法。通过详细解读Selenium组件间的交互机制以及如何优化测试脚本,我们希望为读者提供深入理解Selenium并有效运用于日常测试工作的参考。
14 1
|
9天前
|
自然语言处理 测试技术 API
深入理解自动化测试框架Selenium的设计理念与实践
【4月更文挑战第15天】 在现代软件开发过程中,自动化测试已成为确保产品质量和加速迭代的关键手段。Selenium作为一种广泛使用的自动化测试框架,提供了对多种浏览器和平台的支持,极大地促进了Web应用的功能测试。本文旨在剖析Selenium的核心设计理念,探讨其在实际项目中的应用,并指出常见的误区及最佳实践,以期帮助测试工程师更高效地利用Selenium进行测试工作。
|
17天前
|
安全 测试技术
深入理解白盒测试:方法、工具与实践
【4月更文挑战第7天】 在软件开发的质量控制过程中,白盒测试是确保代码逻辑正确性的关键步骤。不同于黑盒测试关注于功能和系统的外部行为,白盒测试深入到程序内部,检验程序结构和内部逻辑的正确性。本文将探讨白盒测试的核心技术,包括控制流测试、数据流测试以及静态分析等方法,同时介绍当前流行的白盒测试工具,并讨论如何在实际项目中有效实施白盒测试。文章的目标是为软件测试工程师提供一份综合性指南,帮助他们更好地理解和应用白盒测试技术。
|
29天前
|
敏捷开发 测试技术 持续交付
深入探索软件测试自动化:框架与实践
在快速演进的软件行业中,测试自动化已成为确保产品质量和加快上市速度的关键因素。本文将深入分析测试自动化框架的构建要点,探讨其在实际应用中的效益,以及实施过程中可能面临的挑战。通过对比手动测试与自动化测试的优势与局限,本文旨在为读者提供一套系统化的测试自动化实践指南,以支持更高效、可靠的软件开发周期。
11 0
|
30天前
|
传感器 监控 算法
【软件设计师备考 专题 】模块测试的方法和实践
【软件设计师备考 专题 】模块测试的方法和实践
73 0
|
1月前
|
敏捷开发 IDE 测试技术
深入理解自动化测试框架Selenium的设计理念与实践
随着敏捷开发和持续集成的理念深入人心,自动化测试在软件开发周期中扮演着越来越重要的角色。Selenium作为一个广泛使用的自动化测试工具,其设计理念和实践对于提高测试效率和质量具有指导意义。本文将深入探讨Selenium的核心设计原则、架构以及最佳实践,旨在帮助读者构建更稳定、高效的自动化测试系统。
|
1月前
|
jenkins 测试技术 持续交付
深入理解自动化测试框架设计原则与实践
本文旨在探讨自动化测试框架的设计原则及其在实际项目中的应用。通过对自动化测试框架的系统剖析,我们揭示了有效构建和维持测试框架的核心要素,并提供了一套实用的指导方案来帮助读者实现高效、可靠的自动化测试流程。文章不仅聚焦于框架的技术细节,也强调了灵活性、可维护性和可扩展性在设计时的重要性,同时结合实际案例分析,展示了如何在不同测试环境中定制化和优化测试框架。
|
1月前
|
机器学习/深度学习 敏捷开发 人工智能
深入探索软件自动化测试:框架与实践
【2月更文挑战第30天】 在快速迭代的软件开发周期中,自动化测试已成为确保产品质量和加快交付速度的关键因素。本文将深入探讨自动化测试的核心概念、常用框架以及在实际项目中的应用实践。我们将分析自动化测试的优势,并讨论其在不同开发阶段的作用,同时提出构建高效自动化测试流程的策略。通过实际案例分析,本文旨在为读者提供一套系统的自动化测试解决方案,以应对日益复杂的软件测试挑战。
|
1月前
|
消息中间件 Kafka Linux
Kafka【付诸实践 03】Offset Explorer Kafka 的终极 UI 工具安装+简单上手+关键特性测试(一篇学会使用 Offset Explorer)
【2月更文挑战第21天】Kafka【付诸实践 03】Offset Explorer Kafka 的终极 UI 工具安装+简单上手+关键特性测试(一篇学会使用 Offset Explorer)
177 2

热门文章

最新文章