从入门到放弃?看这里 !!保准你把“性能测试”的门踹破

嗨咯大家好,
我是你们的笨蛋程序员灰南。
双十一快到了,
大家的钱包是不是”肉眼可见“的“日益消瘦”呢

在这里插入图片描述

穷啊!

其实作为我来说,麻烦的不是双十一没钱

麻烦的是怕下个双十一会一样没钱,

那自然而然就得牵扯到我们的职业了

作为程序员的我们,职业素养和专业技能的提升才是导致我们口袋逐渐丰满的关键。

最近我也是遇到了性能测试这方面的问题,并且进行了与周边没我笨的朋友们(嘿嘿嘿嘿嘿嘿嘿嘿)进行了顶级的学术探讨

在这里插入图片描述
也是得出了一些相当实用的结论。


一、LoadRunner是什么?

那我只能说

你是真问到点子上了

LoadRunner作为软件性能测试很重要的一项工具 是被很多专业人士选择的(不骗人 真的超多人用的!!!!)

怎么说呢,LoadRunner 作为一个内涵强大,功能强大的性能测试工具,理所当然的也是对初学者不那么友好的。

尤其是面对许多的性能测试概念和 LoadRunner 专业术语,经常会云里雾里,学起来也是十分困难

在这里插入图片描述
LoadRunnerMercury Interactive公司开发的一款成熟的性能测试工具,
LoadRunner作为性能测试的实现者,涉及了性能测试流程、性能测试技术和软件体系架构等众多方面的知识点,
可以说,学习LoadRunner是理解和学习性能测试的非常好的切入点。在本章,我们将从架构上了解一下 LoadRunner,看看它们是如何共同协作完成一次软件性能测试的

二、使用方法

#
首先,我们需要一个测试执行指挥官和一群测试人员,
测试指挥官负责指挥和协调整个测试过程。
而测试人员则按照指挥官的口令一起去操作自己的终端。
准备好之后,指挥官通知大家“开始”,
然后各个测试人员开始按照测试案例的步骤来执行操作。

显然,这样做应该是最符合软件系统的实际使用情况的,
但是实际上我们在做性能测试的时候,
我们必须要提前考虑几个问题:

1.资源

显然,手工性能测试需要多个测试人员和多台终端设备,

如果性能需求中说明软件系统的用户可能来自不同网络配置

如局域网、ADSL、拨号等,

那么做性能测试还要考虑制造这些条件,这无疑会增加测试的成本。

2.协调

指挥官需协调各个测试人员,让他们同时开始,

如果出现了问题,测试指挥官应该立即决断,

是继续测试,还是立即中断,

去解决问题。

3.重复

性能测试不可能一蹴而就,

需要多轮测试,那么如何在相同的条件下重复第一轮测试,

手工测试必然会带来误差。

4.分析

测试指挥官需要分析结果数据,

得出性能测试结果是否通过,

如果没有通过,

最好还要指出是软件系统的哪个节点出了问题,

提供解决问题的线索。

在这里插入图片描述

这样解释一下
是不是感觉容易一些

在这里插入图片描述


三、LoadRunner工作原理

那么既然了解了这个麻烦玩意的基本概念
我们应该怎么样去使用它呢

看下图
现实生活中
性能测试这场演出就是这么进行的:

在这里插入图片描述

(1)性能测试人员操纵运行Controller,启动性能测试。

(2)大量的虚拟用户被“激活”,和真实用户所做的一样,向被测系统发送
请求。

(3) Controller通过monitor能够实时捕获系统所有层面,包括服务器、网络资源的性能数据,并显示在Controller 上。

(4)执行结果存放在数据库里,用户通过Analysis生成报告并进行测试结果分析。

实际上,LoadRunner为了保证这场“浩大演出”的成功,除了三个模块的基本功能之外,还提供了一些“细心而方便”的功能,这使得LoadRunner具有更好的易用性。

在这里插入图片描述

最后!
测试结果分析

一旦测试完毕后,LoadRunner收集汇总所有的测试数据,
可以提供高级的分析和报告工具,以便迅速查找到性能问题并追溯原由。

使用 LoadRunner的 Web交易细节监测器可以了解到将所有的图像、框架和文本下载到每一个网页上所需的时间。

例如,这个交易细节分析机制能够分析是否因为一个大尺寸的图形文件或是第三方的数据组件造成应用系统运行速度减慢。

另外,Web交易细节监测器分解用于客户端、网络和服务器上端到端的反应时间,便于确认问题,定位查找真正出错的组件。

例如可以将网络延时进行分解,以判断DNS解析时间,连接服务器或SSL认证所花费的时间。

通过使用LoadRunner 的分析工具,能很快地查找到出错的位置和原因并做出相应的调整。

在这里插入图片描述


总结

路漫漫其修远兮
吾将上下搞不懂
总之我觉得学习性能测试是一件十分需要时间去沉淀的事情,
尤其对于编程这方面来说,是一件跟追妹子一样的事情
心急吃不了热豆腐

是你不喜欢是成功不了的事情

今天的文章就到这里结束啦,希望看完以后能对有一些不大不小的帮助。如果喜欢的可以点赞收藏关注,如果不行的话,那也得行(我们IT人不能说不行)**球球大伙辽

在这里插入图片描述

如果大家感兴趣的话,可以学习交流讨论的,咱可以一起加油,可以点击这里,咱们一起进步
Python自动化测试学习群

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
SQLAlchemy 是一个 SQL 工具包和对象关系映射(ORM)库,用于 Python 编程语言。它提供了一个高级的 SQL 工具和对象关系映射工具,允许开发者以 Python 类和对象的形式操作数据库,而无需编写大量的 SQL 语句。SQLAlchemy 建立在 DBAPI 之上,支持多种数据库后端,如 SQLite, MySQL, PostgreSQL 等。 SQLAlchemy 的核心功能: 对象关系映射(ORM): SQLAlchemy 允许开发者使用 Python 类来表示数据库表,使用类的实例表示表中的行。 开发者可以定义类之间的关系(如一对多、多对多),SQLAlchemy 会自动处理这些关系在数据库中的映射。 通过 ORM,开发者可以像操作 Python 对象一样操作数据库,这大大简化了数据库操作的复杂性。 表达式语言: SQLAlchemy 提供了一个丰富的 SQL 表达式语言,允许开发者以 Python 表达式的方式编写复杂的 SQL 查询。 表达式语言提供了对 SQL 语句的灵活控制,同时保持了代码的可读性和可维护性。 数据库引擎和连接池: SQLAlchemy 支持多种数据库后端,并且为每种后端提供了对应的数据库引擎。 它还提供了连接池管理功能,以优化数据库连接的创建、使用和释放。 会话管理: SQLAlchemy 使用会话(Session)来管理对象的持久化状态。 会话提供了一个工作单元(unit of work)和身份映射(identity map)的概念,使得对象的状态管理和查询更加高效。 事件系统: SQLAlchemy 提供了一个事件系统,允许开发者在 ORM 的各个生命周期阶段插入自定义的钩子函数。 这使得开发者可以在对象加载、修改、删除等操作时执行额外的逻辑。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值