软件的性能
性能是一种指标,就是软件系统或构件对其及时性要求的符合程度
性能的及时性用响应时间或吞吐量来衡量。
响应时间是客户端发送请求到接收所有数据的响应所需要的时间
不同层面对软件性能的关注点
①用户:关注的是软件对用户操作的响应时间
②系统管理员:不仅关注一般用户体验,还关注与系统状态相关的信息。如资源的使用情况,CPU的使用情况,内存的使用情况,磁盘I/O等,还有数据交互的的情况
③软件开发工程师:关注用户和管理员关注的所有问题。还要关注内存泄露、数据库是否出现死锁、中间件以及应用服务器等问题
性能测试相关术语
①响应时间:
应用系统从发出请求开始到客户端接收到所有数据所消耗的时间
②并发用户数:
同一时刻与服务器进行数据交互的所有用户数量
③吞吐量:
单位时间内服务器处理客户请求的数量
④吞吐率(Throughout):
单位时间内从服务器返回的字节数。吞吐率=吞吐量/测试时间
⑤TPS(每秒事务响应数):
服务器每秒处理的事务数
⑥点击率(Hit Per Second):
每秒用户想服务器提交的HTTP数量
⑦资源利用率
:服务器系统中不同硬件资源被使用的程度,资源使用率=资源实际使用量/总的可用资源量。主要包括CPU利用率、内存利用率、磁盘利用率、网络
⑧性能计数器
:描述服务器或操作系统性能的一些数据指标
⑨思考时间(Think Time):
也称为"休眠时间",是指用户在进行操作时,每个请求之间的时间间隔
性能测试划分
负载测试(Load Testing)
:通过对被测试系统不断地加压,直到超过预定的指标或者部分资源已经达到了一种饱和状态不能再加压为止。为了找到系统最大的负载能力,为性能调优提供数据
压力测试(Stress Testing)
:是指系统已经达到一定的饱和程度,此时系统处理业务的能力,系统是否会出现错误
配置测试(Configuration Testing)
:通过调整系统软/硬件环境,了解各种不同环境对系统性能的影响,从而找到系统的最优配置
并发测试(Concurrency Testing)
:通过模拟用户并发访问,测试多用户同时访问同一应用、模块或数据,观察系统是否存在死锁,系统处理速度是否明显下降等其它的一些性能问题
可靠性测试(Reliability Testing)
:当系统在一定的业务压力下,让系统持续运行一段时间,观察系统是否达到要求的稳定性,此处强调在一定业务压力下持续运行的能力,可靠性测试必须给出一个明确的要求,如系统能够持续无故障运行多少天
性能测试应用领域
能力验证
:系统达到某个指标后,停止测试,一般在系统开发之前,就知道应该达到什么样的指标,具备什么样的能力
规划能力
:系统本身具备某种指标,在系统开发之前不知道指标,待系统开发完之后,进行全面的测试,得到系统最大指标
性能调优
:通过不断地测试来达到系统的最佳状态,这是一个持续调优的过程,主要调优的对象有参数,应用服务器,系统硬件资源等
缺陷发现
:性能测试旨在发现缺陷
loadrunner四大组件
脚本发生器
控制器
负载发生器
分析器
loadrunner特点
1.创建虚拟用户
2.模拟真实的负载
3.性能调优
4.重复测试达到高性能
loadrunner录制脚本
1.选择创建/编辑脚本
2.新建脚本,选择协议web(http/html)
3.弹出start Recording窗口,选择对应的录制类型,选择浏览器,选择需要测试的web地址
4.点击录制按钮,录制成功,点击工具条上的停止按钮。结束录制,返回脚本中