性能基于功能测试,只有系统功能稳定了,性能测试才有意义。性能测试主要包含两个特性:时间和资源。时间是系统处理客户请求的时间,主要是用响应时间和吞吐量来衡量,而资源则是指测试过程中系统资源消耗的情况,例如:Cpu、内存、磁盘等。
性能测试方法:性能测试(测试环境、目标确定的情况下,测试系统还能宣称)、配置测试(系统有一定的测试基础时,通过修改环境配置,例如服务器参数等,对比之前的测试结果进行优化)、并发测试(多个用户并发使用系统,是否死锁、内存泄漏等)、负载测试(向系统添加压力,观察系统资源消耗情况)、压力测试(系统承受一定的压力下,测试系统是否会出现错误。系统压力包括cpu、内存、磁盘、网络等方面的压力,利用工具占用系统资源、增加并发量等)、稳定性测试(系统承受一定压力的情况下,运行一段时间,测试系统是否平衡运行)
Loadrunner 主要组件:virtual user generator (捕捉用户业务流程、自动生成脚本)、Controller(设计场景,主要包括设置不同脚本的虚拟用户数量、迭代次数、执行时间等)、Load Generator (模拟用户向服务器发送请求)、Analysis(分析测试结果,辅助测试人员进行测试分析)。
一、录制脚本
打开virtual user generator,创建新的项目
1、开始录制,利用自带的订票系统为例。录制注册用户(填写用户信息、登出、关闭浏览器)如下:
(1)录制
(2)打开web tours服务
(3)开始
(4) 注册
(5)登出
(6)关闭窗口
(7)关闭录制
(8)录制成功的脚本
二、参数化
按我的理解来说,就是图方便,为了可以一次进行多个操作,不用手动再去试。
1、先给username 的值参数化,再创建多个用户名。
想弄多少弄多少,如下
2、再给password 的值参数化,
设置迭代次数,有多少个用户设置为多少
三、事物的插入
事物相当于,这一件事,有一个函数去记录这个操作的动作,有开始和结束动作。
在web_submit_data函数之前右键insert ->start transaction, 取名为register, 再在函数最后,插入end transaction 名字是register 。
四、用Controller, 负载生成器和场景的运行。
controller 有目标场景和手工场景。我用的是手工场景。manual 是手工,goal-drented 是目标。手工是自己去设置,而目标是自动根据目标构建场景。
如下是场景构建的图:
创建新的负载器:
我这里是用的是本地ip 地址的名字,这个name 不可以随便起,你要是负载器在别的地方,这里就要填你的负载器所在的主机的ip 地址。127.0.0.1也可以写成localhost ,都是一样。
删掉之前是负载器。
改名
连接
显示 ready 就表示连接成功,否则没有连接成功
双击 Initialize ,选择Initialize all Vusers simultaneously, 再点击 apply 。
再双击start vusers
再双击Duration
点击 run -> start Scenario 开始场景运行。
补充说明: Scenario groups 里
Down 是挂起,Vuser 处于关闭状态
pending 是Vuser 已经创建,可以初始化,正在将脚本传输到负载机里面
Init 是初始化,Vuser 正在负载机上执行初始化
ready是就绪,Vuser 已执行脚本初始化部分,可以运行Action函数
run 是正在运行,Vuser 脚本正在运行
readezvous 是集合点,Vuser 到达集合点,等待条件满足释放
passed 完成并通过,已经运行结束,状态为通过
error 错误,运行中发生了错误
graduIa exiting逐步退出 ,正在运行即出前的最后一次迭代
exiting 即出,已经完成正在退出
stopped 停止,Vuser被 停止,不再运行
start scenario 开始,观察场景运行的数据。点击ransResponse time 可以查看register 事件的过程。
点击Result——Analyze Results,将会启动Analysis自动生成本次场景执行相关的测试报告。
来源:oschina
链接:https://my.oschina.net/u/4295823/blog/4288004