loadRunner
1.测试套件的组织方式
测试套件:把不同脚本中的测试用例组织起来,一起执行
addTest:把测试脚本中的方法一个个添加进来
makeSuite、TestLoader:把整个测试脚本中的测试方法都添加到测试套件中
discover:把一个文件夹下,以某种格式命名的所有脚本里面的全部测试方法都添加到测试套件中
2.为什么要做性能测试?
1.应用程序是否能够很快的响应用户的要求?
2.应用程序是否能处理预期的用户负载并有盈余能力?
3.应用程序是否能处理业务所需要的事务数量?
4.在预期和非预期的用户负载下,应用程序是否稳定?
5.是否能确保用户在真正使用软件时获得舒服的体验
3.性能测试术语
性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。
并发数
系统用户数:该系统的注册用户数。
在线用户数:即登录系统的用户。
并发用户数:某一时刻向系统发送请求的用户数量
广义:某一时刻向系统发送请求的用户数量,这些用户请求可以是不同的操作引起的
狭义:某一时刻向系统发送请求的用户数量,这些用户请求必须是针对同一的操作向系统发送请求
响应时间
响应时间=用户反映时间+网络传送时间+后台服务器处理时间+数据库服务器处理时间(一来一回) (服务器不同)
事务响应时间
系统平均处理每个事务所需要的时间 银行转账业务
每秒事务通过数(TPS)
平均每秒服务器处理的事务的数量
点击率(平均)
每秒服务器处理的HTTP请求的个数
http response time(对于同一系统,值一样)
吞吐量
服务器每秒处理的信息量
思考时间(Think Time)
思考时间就是用户进行操作时,每个请求或者操作之间的间隔时间,是为了更加真实地模拟用户的操作场景
资源利用率
不同系统资源的使用情况
CPU(不能超过70%)GPU 硬盘 网络带宽等
性能测试分类介绍
基准测试
主要为了获取系统的性能的各项指标,作为一个基准一个新开发的系统
性能测试
负载测试
不断地给系统增加负载,查看系统在不同负载指标下系统性能的表现,查看系统性能的拐点,定位系统性能瓶颈在一定的软硬件环境下:
并发测试:不断给系统增加用户,查看系统在不同系统数量级别下系统性能指标的表现,寻找系统的拐点
容量测试:不断得给系统的数据库增加数据量,查看系统在不同的数据量的情况下,系统性能指标的表现,并寻找拐点
并发测试的例子:
软硬件环境一定,数据库数据50O条,进行一个模糊查询,1000个用户同时访问这个模糊查询,响应时间为2.8s,增加用户到1500个,响应时间为2.9s,增加用户到2000个,响应时间3.1s
容量测试例子:
压力测试
高于系统最高负载的情况下,运行系统一段时间3min,查看系统的各项性能指标的表现,看系统是否回因为高负载出现资源分配不均,锁释放争抢问题等,系统崩溃。
配置测试
在不同的软硬件配置下,查看系统各项性能指标的表现,找到系统性能表现最佳时系统的软硬件配置。
可靠性测试
在低于系统最高负载下长时间运行系统,看系统是否会出现各种性能问题。60%~70%
一周,半个月,一个月
失效恢复测试
大数据量测试
LoadRunner性能测试原理
多线程模拟用户
集合点
Vuser 虚拟用户,先初始化好的线程等待后面初始化的线程
在做系统性能测试的时候,已经知道性能测试的范围,如何选取性能测试的主要功能?
在测试范围内选择核心功能中用户经常使用的功能
脚本录制
插入检查点:“SaveCount=reservation_Count”
关联:“NotFound=warning”
常见函数:
输出信息:lr_log_message
lr_output_message
输出变量值:lr_eval_string
比较两个数的值(字符串、数字)
strcmp
参数化:(先做检查点再参数化)
Each iteration:每一次取新一行的变量
Each ocurrence:每一次随机取值
Once:每一次都取相同的值
runtimeSetting添加5个用户,运行5次
虚拟用户数量怎么设置?
根据测试场景
并发测试->测试系统在不同的用户数量级别下,系统的性能表现,找出系统的拐点
场景运行时间比较短,3~5min
可靠性测试怎么做?各项数据量怎么设置?比如时间?
测试需求决定不同的测试类型,不同性能测试类型决定测试场景的各项数据指标的设置、
并发测试为什么不运行1次,要运行几分钟?
因为一次5个用户太少,多来几次好画图分析
LoadRunner项目测试
Analysis:时间比设定的长,因为线程启动关闭也需要时间
hits per second/response 图像基本差不多
ex:图片服务器测试
1.单元测试:检测功能模块,是否满足所需求
pom.xml中添加junit依赖
属于白盒测试,考虑路径覆盖(try,catch)
2.系统功能测试 自动化测试 可并行
按照测试用例逐个测试
3.自动化测试 可并行 回归测试 兼容性测试
python
4.性能测试
loadRunner 分测试种类
并发测试:不同用户量级别下上传功能的各项性能指标
录制脚本-create Scenario
Controller 观察后台数据库