LoadRunner性能测试学习方法

1、首先得清楚明白学习性能测试不是单纯的学习LoadRunner,而是学习性能测试的方法和建模;LoadRunner只是众多性能测试工具中的一种。

2、其次得站在一个高层次,对于一个复杂的问题,当我们去面对它时,不应该是举步维艰,频频摇头;而应该做的是将复杂的问题进行拆分成一个个的简单问题,然后再去制定一个个简单问题的实施方法;最终将一个个的简单问题实施完成,拼凑起来便是解决掉了复杂问题。

学习前首先需要思考一个问题:
什么是软件性能?
1)软件性能和时间相关(用户感受)
2)软件性能和环境相关(系统视角)

不同视角的软件性能体现:
1)用户视角:软件性能就是软件对用户操作的响应时间;

2)管理员视角:从管理员角度来看,软件系统的性能首先表现在系统的响应时间上,这一点与用户的视角是一样的,但是管理员还会关心和系统状态相关的信息;

3)开发视角:从开发人员的角度来讲,对软件性能的关注就更加深入了,开发人员会关心主要的用户感受--响应时间,但是开发人员还需要关心系统的扩展性等内容;

理解:
  • 性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试;
  • 负载测试和压力测试都属于性能测试,两者可以结合进行;
  • 通过负载测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况;
  • 压力测试是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试;
  • 带宽应用的领域非常多,可以用来标识信号传输的数据传输能力、标识单位时间内通过链路的数据量、标识显示器的显示能力。
为什么要进行性能测试?
  • 系统的性能也是系统的重要特性,功能测试不是软件的全部。
什么情况下需要进行性能测试?
  • ?????
软件性能测试的一般过程?
1)制定目标和分析系统
  • 每一个性能测试计划中第一步都会制定目标和分析系统构成。只有明确目标和了解系统构成才会澄清测试范围,知道在测试中要掌握什么技术。
2)获取性能测试需求
  • 一般对于性能测试需求,获取的直接方法是从软件需求规格说明或非功能需求中得到;其次还有几种方式或得,一种是客户方直接提出的性能需求,一种是根据客户以往的业务情况来分析客户的业务量以及每年、每月、每周、每天的峰值业务量。
3)设计性能测试用例
  • 根据不同的业务场景设计性能测试用例。
4)通过协议模拟系统操作
  • 通过程序可以模拟不同协议应用的实际的各种操作:模拟真实的系统环境。
5)设置场景运行测试用例
  • 通过多线程程序模拟多用户在线或多用户并发操作,模拟真实的系统环境。
6)监控系统指标
  • 对于监控来讲需要实时的获取测试过程中的各种参数,其中主要获取WEB(应用)服务器性能指标、数据库性能指标。获取被测系统的性能指标。
7)分析测试结果
  • 运行测试用例后,收集相关信息,进行数据统计分析,找到系能瓶颈。
LoadRunner性能测试工具实战视频教程【全套26集】 随机函数 在软件测试工具中如何巧用LoadRunner的随机函数。 LoadRunner有自带的随机函数,如果巧妙的加以采用,能解决一些看似很困难的实际问题。 一个项目的性能测试。与数据库直连,根据外部传入的SQL ID和SQL参数,从指定数据库中读取SQL模版,拼装成真实的SQL语句、执行,并将得到的结果放入缓存中。目的是减少数据库的压力。 该系统将支撑大量的SQL操作,性能自然成为备受关注的焦点之一。 由于它跟SQL语句相关,在真实环境下,同一时间可能执行着不同类型的SQL,即便是同一类型,其参数也各式各样。那么,怎样才能模拟出最符合实际情况的性能测试场景呢? 首先设计场景,即,在LoadRunner中按照比例随机取到某一类型的SQL,再随机传入参数给它,让最终的每条SQL都是随机生成,各不相同。 从场景中,可以看到,此处涉及双重随机。只采用loadruner的参数设置是无法实现的。此时需要想办法先按设定好的比例随机取到SQL,然后在每条SQL上随机取参数列表中的参数。 于是想到了loadrunner的随机函数。先实现随机取SQL ID,之后再在特定的SQL中随机取参数列表中的参数。 LoadRunner中,随机函数是rand(),它用来产生0到rand_max之间的随机整数。函数原型是 int rand (void); 然而调用rand之前,必须给随机数产生一个随机种子。这个种子由srand()函数产生。其原型是 int srand (seedTime); 2 分析占用率 1. 平均事务响应时间 Average Transaction Response Time 优秀:10s 2. 每秒点击率 Hits per Second LoadRunner分析页面 LoadRunner分析页面 当增大系统的压力(或增加并发用户数)时,吞吐率和TPS的变化曲线呈大体一致,则系统基本稳定。若压力增大时,吞吐率的曲线增加到一定程度后出现变化缓慢,甚至平坦,很可能是网络出现带宽瓶颈,同理若点击率/TPS曲线出现变化缓慢或者平坦,很可能是服务器响应时间增加,观察服务器资源使用情况,确定是否是服务器问题。 3. 请求响应时间 Time to Last Byte 4. 每秒系统处理事务数 Transaction per second 5. 吞吐量 Throughout 6. CPU利用率 Processor / %Processor Time 好:70% 坏:85% 很差:90%+ 7. 数据库操作消耗的CPU时间 Processor / %User Time 如果该值较大,可以考虑是否能通过友好算法等方法降低这个值。如果该服务器是数据库服务器, Processor\%User Time 值大的原因很可能是数据库的排序或是函数操作消耗了过多的CPU时间,此时可以考虑对数据库系统进行优化。 8. 核心态CPU平均利用率 Processor /%Privileged Time 如果该参数值和"Physical Disk"参数值一直很高,表明I/O有问题。可考虑更换更快的硬盘系统 9. 处理队列中的线程数 Processor / Processor Queue Length 如果该值保持不变(>=2)个并且%Processor Time 超过90%,那么可能存在处理器瓶颈。如果发现超过2,而处理器的利用率却一直很低,那么或许更应该去解决处理器阻塞问题,这里处理器一般不是瓶颈。 10. 文件系统缓存 Memory / Cache Bytes 50%的可用物理内存 11. 剩余的可用内存 Memory / Avaiable Mbytes 至少要有10% 的物理内存值 12. 每秒下载页数 Memory / pages/sec 好:无页交换 坏:CPU每秒10个页交换 很差:更多的页交换 13. 页面读取操作速率 Memory / page read/sec 如果页面读取操作速率很低,同时 % Disk Time 和 Avg.Disk Queue Length的值很高,则可能有磁盘瓶径。但是,如果队列长度增加的同时页面读取速率并未降低,则内存不足。 14. 物理磁盘利用率 Physical Disk / %Disk Time 好:<30% 坏:<40% 很差:<50%+ 15. 物理磁盘平均磁盘I/O队列长度 Physical Disk / Avg.Disk Queue Length 该值应不超过磁盘数的1.5~2 倍。要提高性能,可增加磁盘 16. 网络吞吐量 Network Interface / Byt
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值