软件测试——性能测试2

本文涉及的产品
性能测试 PTS,5000VUM额度
简介: 软件测试——性能测试

软件测试——性能测试1:https://developer.aliyun.com/article/1521846

九、断言

作用:用于就检查测试中得到的响应数据是否符合预期,用于保证性能测试过程中的数据交互与预期一致,主要用于做调试,在进行压力测试时,断言可以禁用。

目的:在request的返回层面加一层判断机制。

实现过程

  1. 在请求下添加断言(一个请求可以添加多个断言),请求不同,添加的断言不同;
  2. 添加一个断言结果的监听器,通过断言结果可以看到是否通过断言,若通过,断言结果会打印一次请求的名称,一个请求的所有断言都通过了才算请求成功。

Jmeter中的断言和LoadRunner中的检查点是一致的。

常用断言:

响应断言:判断返回的内容是否满足预期;

作用对象:响应报文中的所有对象(响应代码、响应文本、url等等)

在响应断言下添加断言结果:

大小断言(size断言):用来判断返回内容的大小;

作用对象:返回信息,响应报文,添加size断言,必须指定大小和长度

断言持续时间:判断服务器的响应时间是否达到预期;

作用对象:服务器;

BeanShell断言:与Java语言相结合的断言,用于验证脚本。

十、关联

在测试过程中需要引用前面的数据,但是数据是经常发生变化的,那么要获取使用这些数据,就需要使用关联。

例如:第二个请求需要第一个请求返回数据的结果作为自己的输入数据,此时就需要使用关联将这两个数据对接起来。

具体实现步骤:在第一个请求之后添加后置处理器;

后置处理器的作用:在请求结束之后,处理响应结果的特定数据,提取需要的数据。


在关联的过程中,会通常使用到正则表达式提取器。


对于Jmeter的参数说明:


引用名称:下一个请求要引用的参数名称,比如填写name时,就需要用${name}进行引用;


正则表达式:


():括起来的部分表示要提取的;

. :匹配任何字符串;

+:一次或多次;

?:在找到第一个匹配项后停止;

模板:用

引用起来,如果正则表达式中有多个正则表达式,则可以是$2

$2

3$等等,

匹配数字:0代表随机取值,1代表全部取值,通常情况下使用0;

缺省值:如果参数没有取到值,就要给赋给默认值。

常用的正则表达式操作符:


后置处理器中的正则表达式:

十一、JDBC请求

使用Jmeter通过jdbc请求来操作数据库。

准备工作:准备数据库环境(创建表、准备数据)

实现步骤:

1、添加jar包

  • 直接将jar包复制到jmeter的lib目录(mysql推荐使用)
  • 通过Test Plan浏览加载(oracle推荐使用)

2、建立连接信息:在测试计划中,点击添加配置原件 -> JDBC Connection Configuration


3、添加JDBC请求

使用结果树查看响应结果:

十二、分布式测试

使用场景:在使用Jmeter进行性能测试时,对于高频大并发的数据单台电脑可能难以支持就需要进行分布式压测,即对客户端的压力进行分摊,也叫负载均衡。

原理

  1. 在使用Jmeter进行测试时,选择其中一台作为主控调度机,其余作为执行机;
  2. 执行时,主控机器会把每个脚本发送到每台执行机器上,执行机器拿到脚本就开始执行,执行机器不需要启动GUI界面;
  1. 执行结束后,执行机器会把结果回传给主机,主机收集所有的执行机器的测试数据进行汇总;

主控机器:生成脚本,调试脚本,汇总数据;

执行机器:运行脚本,回传数据给主控数据;

具体实现步骤

1、执行机器的设置

  • 在执行机上安装JDK和Jmeter(执行机和主控机的版本必须保持一致);
  • 添加环境变量;
  • 在启动bin目录下的:jmeter-server.bat;

易出现问题:提示无法启动,请按任意键/文件找不到


解决方案:进入apache-jmeter-5.2\bin\jmeter.properties文件,将server.rmi.ssl.disable设置为true,重新启动jmeter-server.bat,查看命令行窗口显示则表示启动成功。


2、主控机器设置:


准备测试脚本;

修改属性配置文件:jmeter.properties 文件,修改IP和端口号,在文件中查找remote_hosts,原默认信息是127.0.0.1表示本机,修改host信息:执行机器IP:端口号,执行机器2号IP:端口号,默认端口号是1099,执行时,确保1099未被占用(端口号可以进行自定义)

重新启动jmeter.bat;

在jmeter中点击运行,再点击远程启动,即可开启分布式测试。

十三、性能测试报告

测试报告的大纲:目的、项目简介、测试过程、测试结果以及项目总结。


性能测试报告的内容:概述、测试环境、测试目标(性能指标)、测试方法、测试数据分析、测试结论。


注意:在测试数据分析的过程中,必须按照不同的测试场景进行描述。


利用Jmeter生成html的测试报告:


方法一:


选择添加监听器中的聚合报告,将聚合报告输出到指定的csv文件,在jmeter的工具中选择

Generate HTML report;

html报告展示:

方法二:在命令行窗口输入命令来实现:

操作命令:jmeter -n -t 脚本的绝对路径.jmx -l 测试报告的文件名称.csv -e -o html报告的目录路径。

注意:报告的目录文件必须为空目录,测试报告文件也不能有数据,必须是空文件或者是不存在的文件。

相关实践学习
通过性能测试PTS对云服务器ECS进行规格选择与性能压测
本文为您介绍如何利用性能测试PTS对云服务器ECS进行规格选择与性能压测。
目录
相关文章
|
3月前
|
人工智能 搜索推荐 数据管理
探索软件测试中的自动化测试框架选择与优化策略
本文深入探讨了在现代软件开发流程中,如何根据项目特性、团队技能和长期维护需求,精准选择合适的自动化测试框架。
172 11
|
4月前
|
测试技术
软件测试的艺术:探索式测试的实践与思考
在软件开发的广阔海洋中,测试是确保航船稳健行驶的关键。本文将带你领略探索式测试的魅力,一种结合创造性思维和严格方法论的测试方式。我们将一起揭开探索式测试的神秘面纱,了解其核心概念、实施步骤和带来的效益。通过实际代码示例,你将学会如何将探索式测试融入日常的软件质量保证流程中,提升测试效率与质量。
|
3月前
|
数据采集 监控 机器人
浅谈网页端IM技术及相关测试方法实践(包括WebSocket性能测试)
最开始转转的客服系统体系如IM、工单以及机器人等都是使用第三方的产品。但第三方产品对于转转的业务,以及客服的效率等都产生了诸多限制,所以我们决定自研替换第三方系统。下面主要分享一下网页端IM技术及相关测试方法,我们先从了解IM系统和WebSocket开始。
79 4
|
3月前
|
测试技术 持续交付
探索软件测试中的自动化测试策略
随着软件开发周期的加速和市场需求的不断增长,传统的手动软件测试方法已难以满足现代软件开发的高效性和准确性要求。本文旨在探讨自动化测试在软件测试中的重要性、实施策略及其对提高软件质量的影响。通过分析自动化测试的优势与挑战,以及提供实用的自动化测试工具和框架选择指南,旨在帮助读者理解并应用自动化测试以提升软件开发效率和产品质量。
|
3月前
|
机器学习/深度学习 人工智能 监控
软件测试中的自动化测试策略与最佳实践##
在当今快速发展的软件行业中,自动化测试已成为确保软件质量和加速产品上市的关键工具。本文将探讨自动化测试的重要性,分析不同类型的自动化测试工具和框架,并深入讨论实施自动化测试的最佳实践。通过案例研究和数据分析,我们将揭示如何有效整合自动化测试到软件开发生命周期中,以及它如何帮助团队提高测试效率和覆盖率。 ##
92 1
|
4月前
|
机器学习/深度学习 前端开发 测试技术
探索软件测试中的自动化测试框架选择与优化策略####
本文深入探讨了在当前软件开发生命周期中,自动化测试框架的选择对于提升测试效率、保障产品质量的重要性。通过分析市场上主流的自动化测试工具,如Selenium、Appium、Jest等,结合具体项目需求,提出了一套系统化的选型与优化策略。文章首先概述了自动化测试的基本原理及其在现代软件开发中的角色变迁,随后详细对比了各主流框架的功能特点、适用场景及优缺点,最后基于实际案例,阐述了如何根据项目特性量身定制自动化测试解决方案,并给出了持续集成/持续部署(CI/CD)环境下的最佳实践建议。 --- ####
|
4月前
|
测试技术 UED 开发者
软件测试的艺术与科学:探索有效的测试策略
在软件开发的宇宙中,测试是一颗璀璨的星辰,它不仅保障着产品的质量,也指引着项目的方向。本文将带你穿梭于测试的银河系,从基础的单元测试到复杂的集成测试,再到全面的系统测试,我们将一探究竟。你会发现,每一个测试阶段都是一次对代码深度和广度的挑战,也是一次对开发者耐心和智慧的考验。准备好了吗?让我们开始这段探索之旅,看看如何通过精心设计的测试案例来确保我们的软件能够在现实世界中稳健运行。
|
3月前
|
Java 测试技术 API
探索软件测试中的自动化测试框架
本文深入探讨了自动化测试在软件开发中的重要性,并详细介绍了几种流行的自动化测试框架。通过比较它们的优缺点和适用场景,旨在为读者提供选择合适自动化测试工具的参考依据。
|
3月前
|
数据管理 测试技术 持续交付
软件测试中的自动化测试策略与最佳实践
在当今快速迭代的软件开发环境中,自动化测试已成为确保软件质量和加速产品上市的关键手段。本文旨在探讨软件测试中的自动化测试策略,包括选择合适的自动化测试工具、构建有效的自动化测试框架以及实施持续集成和持续部署(CI/CD)。通过分析自动化测试的最佳实践,本文为软件开发团队提供了一系列实用的指南,以优化测试流程、提高测试效率并减少人为错误。
104 4
|
3月前
|
监控 测试技术 定位技术
探索软件测试中的自动化测试框架选择与实施###
本文不概述传统意义上的摘要内容,而是直接以一段对话形式引入,旨在激发读者兴趣。想象一下,你是一名勇敢的探险家,面前摆满了各式各样的自动化测试工具地图,每张地图都指向未知的宝藏——高效、精准的软件测试领域。我们将一起踏上这段旅程,探讨如何根据项目特性选择合适的自动化测试框架,并分享实施过程中的关键步骤与避坑指南。 ###
71 4

热门文章

最新文章