LoadRunner性能测试流程及测试标准(优秀)

2020-03-03 02:49:21 来源:范文大全收藏下载本文

loadRunner性能测试 1.什么是性能测试

软件的功能:对一个软件基本功能能够实现,比如:银行卡能够正常转账成功(用户数=1) 软件的性能:要求软件性能更好,一般关注多用户的使用情况,软件的响应时间。 响应时间例子:登录一个软件,点击“登录”按钮时,多久能够显示成功登录的页面。

性能问题: 1. 每秒平均浏览量:2200次/秒

浏览量(PV, Page View):即页面访问量或点击量,用户每次刷新即被计算一次 购票申请:20万张/秒以上

自身设计浏览量100万次/小时 浏览量280次/秒

2.响应时间的358原则:

3秒之内,客户比较满意 5秒之内,客户可以接受 8秒之内,客户可以忍受 大于8秒,无法忍受

3.一般进行性能测试之前,要对系统尤其是数据库进行备份

负载测试是一种

正常 的测试(在正常测试的指标下测出最大的负载量)

指标或者某种资源达到某种指标,比如响应时间达到多少,比如CPU负载100%等

压力测试和负载测试二者的区别:

负载测试强调系统在正常工作情况下的性能指标

压力测试的目的是发现在什么条件下系统的性能变得不可接受,发现应用程序性能下降的拐点

影响系统性能的主要因素

(1) 硬件: CPU,内存,硬盘,网卡及其他网络设备【最好解决】 (2) 操作系统 (3) 网络

(4) 中间件(又叫应用服务器),web服务器 (5) 数据库服务器 (6) 客户端

(7) 变成语言,程序实现方式,算法【最难解决】

客户端=服务端(Web服务器)=应用服务器=数据库服务器

性能测试主要关心两个部分:web服务器和应用服务器。 客户端向服务器发送请求

服务器端向客户端返回应答(响应response)

性能测试的常用术语: 并发(Concurrency):所有用户在同一时刻(一个时间点,可以精确到毫秒级)做同一件事情或操作,一般针对同一类型的业务

例如:在信用卡审批业务中,一定数目的用户在同一时刻对已经完成的审批业务进行提交 做并发的测试就称为“并发测试”。【发测试不包含睡眠时间】 在线(OnLine):多用户在一段时间内对系统执行操作【包含睡眠时间】

并发测试与在线测试对系统的压力不同,一般来讲并发测试的压力和在线测试的压力的比值是10:1 。例如:200用户并发测试相当于2000用户在线测试。

并发测试一定是多用户。

请求响应时间

指从客户端发送一个请求开始计时,到客户端接到从服务器端返回的响应结果计时结束。 在一些工具中,请求响应时间通常被称为TTLB 即“Time to Last Byte”,意思是从开始发送第一个请求开始,到客户端收到最后一个字节的响应为止所耗费的时间。 请求响应时间的单位一般为“秒”或者“毫秒”

再复杂的响应时间都可以分为3段:请求的响应时间=客户端的响应时间+网络的响应时间+服务器的响应时间

一般测试放在内网里,带宽,网络不会成为瓶颈。只用分析客户端的响应问题和服务器的响应问题。一般客户端的响应很少有问题,一般只分析服务器响应问题即可。

事务响应时间:用户完成某个具体事务(如跨行取款事务)所需要的时间。 事务可能包含多个请求。比如点击“登录”按钮,到登录进页面。

事务的响应时间和请求响应时间的区别?

一个事务包含一个或多个请求(一般,一个请求指的是一个http请求)。

点击率:

每秒钟用户向web服务器提交的http请求数。 ---点击率越大,对服务器的压力也越大

---注意:点击不是指鼠标的一次“单击”操作。因为在一次“单击”操作中,客户端可能向服务器发出多个HTTP请求(比如跳转页面需要更新展示图片等)。

点击量的计算:假如单击“登录”按钮,请求一个页面登录后的欢迎页面中包含3个图片,则每个图片都需要重新发送一个http请求,所以,单击鼠标一次产生的http请求总数为4=1(登录请求)+3(图片请求) 点击率=点击量/时间

吞吐量:

用户在任意给定一秒从服务器端获得的全部数据量,单位是字节 吞吐量/传输时间=吞吐率

吞吐率很重要,反应了服务器的处理速度和性能,也是衡量网络性能的重要指标。 TPS(事务数/秒)

在性能测试过程中,要监控服务器系统的各项资源情况,比如:CPU,内存,磁盘及网络等情况。

吞吐率和点击率的区别:

吞吐率:指服务器每秒处理的数据量。反应了服务器的处理能力,吞吐率越大,服务器处理能力越强。

点击率:客户端每秒向服务器发送请求的数量。反应了服务器的压力,点击率越大,服务器的压力越大

吞吐率受点击率影响,也受服务器性能的限制。

完美的吞吐率是:在带宽充足的情况下,吞吐率随着点击率的增加而增加。

资源利用率

指对不同的资源系统的使用程度,包括web服务器,操作系统,数据库服务器,网络,硬件,是测试和分析瓶颈的主要参数

-如:服务器cpu利用率,磁盘利用率等

它是分析系统性能指标进而改善性能的主要依据,因此是web性能测试工作的重点。

性能测试的策略(即方法):重点测试方法:基准测试,并发测试,综合场景测试,疲劳强度测试,极限测试,递增测试

基准测试:一般做的是单用户测试(Benchmark Testing)

----指测试环境确定以后,对业务模型中涉及的重要业务做单独的测试。

----目的是获取单用户执行时的各项性能指标,为多用户并发和综合场景等性能测试分析提供参考依据。

并发测试:就是多用户的并发测试某个测试点。并发测试对系统要求比较严格,因为要模拟一个瞬间压力。并且要忽略系统的睡眠时间(思考时间)。

递增测试:

A)指每隔一定时间段(如5秒,10秒)加载不同数目的虚拟用户执行测试点操作,对测试点进行递增用户压力加载测试。原因:所有用户(5000)共同登陆可能会导致系统压力过大,进而影响到后面关心的测试点(buy)的性能,导致关心的测试点结果不准确,所以采取递增,分散一下前面的压力,使系统关心的测试点能够正常的测试。(这里是递增着登陆) B)测试一个测试点(如:购票),先测试单用户,再测试20用户,40用户等情况,有利于分析,也称为递增测试。(这里是递增着全套测试)

综合场景测试【重难点】:

通过对系统结构和功能的分析,对用户的分布和使用频率的分析,来构造系统综合场景的测试模型,模拟不同用户执行不同操作。

如10%的用户执行浏览首页,50%的用户执行查询订单,40%的用户执行订购机票,最大限度地模拟系统的真实场景,使用户预知系统投入使用后的性能水平。 没特别指明的话,一般都是指在线的。

Login不适合放在综合场景中运行。

综合场景:号称能最真实的模拟实际的生产环境。如测试时间为50分钟,则综合场景中的每个脚本都是在循环执行。所以综合场景中不宜加入login测试点,因为不能真实模拟实际的生产环境。

疲劳强度测试:是一种特殊的强度测试(压力测试)。指在一定的压力下(如:相同的用户数)长时间(疲劳)对系统进行测试,并监控服务器的各项资源情况。如:7x24小时,24小时(如移动电信银行的服务器)。 测试其服务器的稳定性:指长时间的运行过程中,系统的各项资源及时间等指标表现是否正常。

内存泄露:系统的服务器内存都被占用,而没有释放。导致系统没有可用内存。

内存泄露测试:通过LR监控时查看具体的几项指标,或者通过其它的专门内存泄露检测工具测试。

数据容量测试:查看系统服务器能否实现大数量下使用情况,系统的各项资源表现情况。如:200G,或者3个T。

极限测试:也叫“摸高测试”,测试系统的极限,如系统最大能承受的用户数,吞吐量等。

虚拟用户:Virtual Users 控制台:Controller 分析工具:Analysis

LoadRunner的三大组件:

虚拟用户脚本生成器(Virtual User Generator)---Creat/Edit Scripts【Generator:生成器】 压力调度控制台(Controller)---Run Load Tests 压力结果分析器(Analysis)---Analyze Test Results

QTP(功能自动化的工具)和LR(性能测试工具)的区别: QTP关心的是功能方面,LR关心的是性能方面。

QTP关心界面的控件属性(对象,对象的属性,属性值等)等,LR关心的是客户端和服务器之间往来的数据包。

LR的工作原理:

录制时,LR记录客户端和服务器二者之间的所有对话(数据包),形成脚本,回放时,LR模拟真实的客户端,向服务器发送请求。并验证服务器的响应。

LR是怎么记录下数据包的: (1)基于局域网的广播原理。【这种用的很少】 (2)基于一种嗅探原理sniffer。【目前在用的方式】

虚拟用户脚本生成器:是用来生成脚本的

LR的常用术语:

虚拟用户(Virtual User 【简称VU】):在场景中,loadRUnner用VU代替实际用户。Vuser模拟实际用户执行操作。一个场景可以包含几十,几百甚至几千个Vuser。(每个虚拟用户是一个进程或者线程,一般用的是线程)

Vuser脚本(Virtual User Script):用于描述VU在场景中执行的操作。(记录的客户端发送的请求。)

事物(Transaction):为度量服务器的性能,需要定义事务。事务表示要度量的最终用户业务流程或操作。

为何要定义事务:因为脚本中将关心的操作(如购票)定义为一个事务,则结果报告中(analysis)就会返回事务的响应时间。不关心的操作就不需要定义成事务。

场景(Scenario):场景是一种文件,用于根据性能要求定义在每一个测试回话运行期间发生的事件。模拟真实环境中,用户运行的情况。【将脚本放到控制台去运行(包括设置各种参数)】

综合场景:将不同的脚本,至少3个放到控制台去共同运行一段时间。具体定义见PPT。

测试注意:

----设置IE(清楚浏览器缓存):进入工具Internet选项常规设置每次访问此页面时检查

----LR中修改参数:进入ControllerRunTime SettingTnternet Protocol Proxy,选择No Proxy。

Jojo /bean

LR基本测试流程:

制定性能测试计划(部分)创建测试脚本编译,运行测试脚本【VUG】创建场景运行,监控场景,收集数据【Con 控制台】生成测试报告,分析测试结果【analysis】

最好用英文命名

小技巧: 弹出结果

日志文件

Transaction 事务

将一个操作设置成事务的目的:获取操作的响应时间(在analysis报告里)

在带宽充足的情况下,完美的吞吐率应该随着点击率的升高而升高。反过来,当服务器压力过大服务器处理能力不足时,吞吐率会随着点击率的增高而保持恒定或者降低,那么点击率也会受到相应影响而变慢。

即吞吐率和点击率是相互影响的。

脚本生成器可以模拟1个用户,多用户一定要用控制台来实现。(控制台就是来生成管理多用户的。)

基准测试是单用户测试,可用脚本生成器(生成的调试结果是没有响应时间的),但是也还是需要控制台。因为结果要写到报告里。(结果生成器analysis得出单用户测试的结果,比如响应时间等等)

疲劳测试和综合场景测试的区别就是时间的长短,疲劳测试运行的时间会长一些。

只要业务逻辑不变(操作不变),则不需要重新调试脚本,回归测试中可以直接利用原来脚本。

调试脚本时请频繁保存副本,因为LR回退键效果不是很好。

脚本必须现在脚本生成器进行运行,执行通过将脚本放入控制台,在控制台执行完毕后生成结果报告

总的吞吐率

服务水平等级协议

报告中事务响应时间的标准方差值:越趋近于0,说明系统越稳定(每一项事务的响应时间非常相似)

90percent:表示90%的事务都可以在该响应时间内完成。代表一个大多数情况。

HTTP状态码: 200表示成功

4XX表示客户端的失败 5XX表示服务器的失败

当场景设定的duration时间结束时,所有的虚拟用户需要运行完当前的transaction以及action再结束。

基准测试执行方法

单用户执行脚本操作1分钟 单用户执行脚本操作5次

B/S脚本必须要有登陆,有退出(否则假退出其实链接还没断开,会影响测试结果)

Replay log:脚本执行日志 Recording log:录制时的日志

Generation log:所有客户端和服务器二者之间的对话

快捷键:

ctrl+G

Go to Line 跳到某一行

跳到对应的日志

基准测试:单用户测试。 3.4 1.7 1.8 1.6 为了规避第一次测试的不准确性,则有两种测试方法: (1) 设置循环5次(N次)

Run-time Setting 循环5次,或者持续运行1分钟。(取平均值) Run logic:循环次数----设置为5 Pacing:两次循环之间的步长值(时间间隔)----随机值2-4秒 Think time:ignore(忽略思考时间),因为对结果没什么影响

Pacing:步长值,为了更真实的模拟环境(断开连接,释放资源),一般选随机值

基准测试单用户对服务器压力不大,一般可以ignore think time。

监控资源:监控服务器的资源

客户端的资源:自己随时把握一下,不要成为测试的瓶颈即可。

(2)持续运行1分钟

当duration和run_time setting中循环(run logic)都有值的话,duration的优先级比较高【二者循环的位置都为action】 Run logic:循环次数----设置为1

Pacing:步长值,为了更真实的模拟环境(断开连接,释放资源),一般选随机值 基准测试单用户对服务器压力不大,一般可以ignore think time。 监控资源:监控服务器的资源

客户端的资源:自己随时把握一下,不要成为测试的瓶颈即可。

并发测试执行方法: 脚本添加集合点

在控制台设置并发策略

注意:refresh中有两个选择,看情况使用。

脚本和控制台的run-time setting都设置的话,哪个优先级高?控制台的优先级高! 脚本中的run-time setting 何时使用?运行脚本的时候使用

并发测试有两个步骤:

1) 脚本中加并发点(即集合点)

2) 在控制台设置:5个虚拟用户(VU),可以设置递增(不设也可),设置并发策略。

Run-time Setting ---忽略休息时间,因为需要瞬间压力。

LoadRunner测试SQL语句性能

LoadRunner测试总结

有效性能测试

喷漆性能测试

材料性能试验相关标准及测试方法

性能测试学习总结

电性能测试3

性能测试工程师心得

陶瓷的制备及性能测试

LoadRunner测试工具教学存在问题及解决方法

《LoadRunner性能测试流程及测试标准(优秀).doc》
LoadRunner性能测试流程及测试标准(优秀)
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档
下载全文