目录
(一)Virtual User Generator(VUG,即:虚拟用户发生器)
1.Controller作用:用于创建、运行和监控场景以及收集测试过程的数据
1.Analysis作用:用来分析性能测试结果,生成测试报告和各种图表
一、性能测试的概念
1.什么是性能测试?
- 性能测试是测试人员借助性能测试工具,模拟软件在不同场景下系统性能指标是否满足需求
2.常见的性能问题
- 资源泄漏,包括内存泄漏
- CPU使用率达到100%,系统被锁定等
- 线程死锁,阻塞等造成系统越来越慢
- 查询速度慢,或者列表的效率低
- 受外部系统影响越来越大
3.为什么要进行性能测试?
- 获取系统性能的指标,作为性能指标的基准
- 验证系统的性能指标是否达到要求(性能需求)
- 发现系统的性能瓶颈,内存泄漏等问题
- 系统正常工作的情况下的最大容量
- 帮助系统运维部门能更好的规划硬件配置
二、常见性能测试衡量指标
1.并发:
(1)并发是指在同一时间段内执行多个任务,这些任务可以在不同的线程或进程中执行。
(2)并发强调大量用户和同时操作,该情况才会对服务器造成压力。
2.用户数:
(1)系统用户数:系统注册的总用户数量
(2)在线用户数:成功登录系统用户数,这些用户不一定向服务器提交了请求
(3)并发用户数:某一物理时刻同时向系统发送请求的用户数
3.响应时间:
(1)用户响应时间:指用户从客户端发起一个请求起,到客户端接收到从服务器端返回结果的整个过程所耗费的时间
(2)请求响应时间:服务器收到请求到发出响应的这段时间
4.事务:
(1)事务是衡量系统处理能力的重要指标
(2)事务通过数越高,性能越好(这是相对的,因为不同系统有不同要求,并且事务的复杂程度不同)
(3)每秒事务通过数(Transaction Per Second,简称TPS)
(4)TPS = 并发数 / 平均响应时间
5.吞吐量:
(1)吞吐量是指用户一次请求和服务器之间的数据交互量
(2)单位:bytes/s
6.点击率
(1)代表用户每秒向服务器提交的请求数,点击率越大,服务器的压力越大
(2)一次点击可能有多个请求
7.资源利用率
不同系统资源的使用情况,包含CPU,内存,硬盘,网络等。
三、性能测试分类
1.基准性能测试
系统运行在正常情况下看是否满足性能指标。(类似于“安全性”)
2.负载性能测试
验证系统在一定压力下延长系统的运行时间,直至系统出现“拐点”。(类似于“最大承受能力”)
3.压力性能测试
验证系统处于饱和情况下的性能表现,从而了解系统的承受极限。(往往会把系统搞崩溃)
4.可靠性测试
验证系统在一个持续的时间段内运行,观察系统的各项性能指标
四、性能测试工具——LoadRunner(LR)
(一)Virtual User Generator(VUG,即:虚拟用户发生器)
1.VUG作用:主要用于录制测试脚本
2.新建测试脚本
3.WebTours配置
(1)打开下载好的LoadRunner路径下的WebTours->StartServer(重要环境)
(2)StartServer保持打开状态并复制以下ip地址,我的是192.168.204.1
(3)浏览器访问:http://192.168.204.1:1080/WebTours/,能打开以下页面,则WebDriver配置完成;可点击sign up now进行注册(默认初始账号:jojo,密码:bean)复制浏览器 网址,关闭该浏览器
4.录制脚本
(1)对跳出来的弹框分别点击Yes和是,出现此框则表示正在录制
(2)输入账号密码,登陆成功后点击图中结束录制按钮。关于证书的弹窗点击:是
5.删减脚本
(1) 含有浏览器的模块统统删掉,我的是360极速浏览器
(2)我的脚本如下(脚本不唯一)
(3)编译
(4)运行(回放)
6.脚本加强
(1)添加事务:lr_start_transaction开启事务;lr_end_transaction 结束事务
①在登录之前开启Steps ToolBox
②分别在login前后插入事务
③点击运行:
Duration:响应的时间 Wasted Time:浪费的时间
(2)插入集合点
①在LoadRunner中为了达到并发的机制,引入集合(让用户同时发起请求)
②右击插入集合点,或在Steps ToolBox中搜索插入,命名即可
(3)插入检查点
① 在页面中查找某元素是否存在(该函数写在要查找内容的请求之前)
②查找登录后的页面是否有Welcome字样,有则证明登陆成功,没有返回NotFound
(4)参数化
①密码同理,执行上两步操作即可,弹框点击No(文中步骤唯一一次No),命名password
②双击左侧parameter,增加用户信息,增加完close即可
③为了使参数都执行,迭代次数和参数个数一样(此修改一定要Ctrl+s保存)
④为了使终端里的运行结果更清晰,我们选择拓展文本(此修改也一定要Ctrl+s保存)
7.打印日志
8.运行结果
(二)Controller
1.Controller作用:用于创建、运行和监控场景以及收集测试过程的数据
2.打开Controller
(1)方法一:Virtual User Generator里的Tools->Create Controller Scenario
(2)方法二:双击软件打开
3.Design(左下角第一个模块)
(1)初始化方式
(2)虚拟用户的运行
(3)虚拟用户运行时间
(4)结束虚拟用户
(5)结果图
4.Run(左下角第二个模块)
(1)设置选项,使能够自动打开Analysis,自动生成结果
(2)选中Windows Resources,在下方框里的空白处右键Add Measurements
(3)在Windows Resources里选择需要的资源,多余的可以delete ,点击Windows Resources就会出现所选的资源
(4)运行
(5)视图(显示八张图表有bug,可以多等待一会,再缩小上下区域以扩大中间图示区域试试)
(6)例如Running Graphs->Running Vusers
分析:当虚拟用户逐渐启动的时候,Running这条折线逐渐上升;当所有虚拟用户启动完之后,Running这条折线稳定下来;当虚拟用户运行时间到了,此时折现逐渐下降,虚拟用户退场
(三)Analysis
1.Analysis作用:用来分析性能测试结果,生成测试报告和各种图表
2.测试报告
3.测试图表