软件测试之全面讲解性能测试

软件测试–性能测试

如果文章哪里有错误描述或表达错误,还请各位指出来,欢迎点赞,欢迎评论

什么是性能

使用来描述产品除功能外的所具有的速度,效率和能力的综合能力评价

什么是性能测试

性能测试是通过自动化的测试工具模拟多种正常,峰值以及异常负载条件来对系统的各项性能指标进行测试

性能测试的目的

识别系统的弱点,评估系统给能力,发现系统性能瓶颈,提高系统的稳定性和可靠性

性能测试内容

性能测试通过包括一下九个方面
性能测试:表示在给定的基准环境下,目标系统响应客户服务的最快速度或最好表现
压力测试:是一种破坏性测试,它故意让软件在比较少的资源环境下运行,比如低内存,慢CPU,考验程序直至程序无法运行,从而发现软件缺陷,
负载测试:表示在目标系统正常服务的前提下,目标系统所能承担的最大服务负荷数量,也就是最大并发数量,最终分析系统性能瓶颈
稳定性测试:表示在给定的负载的情况下,有外界或内部非正常的干扰,系统所能够提供稳定服务的能力
并发测试:测试多个用户同时访问同一个应用,同一个模块,或者同一个数据记录时,是否存在死锁或其他性能问题
基准测试:通过设计合理的测试方法,测试工具和测试系统,实现对一类测试对象的某项指标进行定量的和可对比的测试
疲劳测试:通过让软件在一定访问量情况下长时间运行,以检验系统性能在多长时间会出现明显下降,主要目的是验证系统运行的可靠性
数据量测试:通过让软件在不同的数据量情况下运行,以检测系统性能在各种数据量情况下的表现,主要目的是找到支持系统正常工作的数据量
配置测试:配置测试主要是针对硬件而言,了解各种不同环境对系统性能影响的程度,从而找到系统各项资源的最优分配原则,而判断出最值得进行的调优操作

怎么衡量性能

响应时间:从用户发送一个请求到用户接收到服务器返回的响应数据这段时间就是响应时间
吞吐量:单位时间内系统处理的客户端请求的数量
并发数
1,并发用户数:某一时刻同时向系统提交请求的用户数,提交的请求可能是同一个场景或功能,也可以不是同一个功能或场景
2,在线用户数:某一时间内访问系统的用户数,这些用户并不一定同时向系统发送请求
3,系统用户数:系统注册的总用户数量
系统用户数>=在线用户数>=并发用户数
资源利用率:指的是对不同系统资源的使用程度,通常以占用最大值的百分比来衡量
1,CPU,主要负责相关事情的判断和以及实际处理的机制
2,内存,将收集到的信息记录起来,以供CPU进行判断,是临时的,访问速度快,如果关机或者断电,储存在这里的数据将会消失
3,磁盘IO,将重要的数据保存起来,以便再次使用这些数据,永久的保存,关机或断电数据不会消失,速度慢
4,网络
请求访问数量:即向服务器发送请求的虚拟用户数量
场景:性能测试过程中为了模拟真实用户的业务处理过程的一系列动作的集合
事务:一般是指要做的或所做的事情,在关系数据库一个事务可以是一条SQL语句,事务所具有的四大属性:原子性,一致性,隔离性,持久性,成为ACID特性
每秒事务数:每秒系统处理事务的数量,这项指标可以确定系统在任何给定的时间段里事务处理能力
系统负载:即系统所能容忍的最大用户并发数量,也就是在正常的响应时间中,系统能够支持的最多的客户端的数量
CPU利用率:CPU利用率分为用户态,系统态,空闲态,分别表示CPU处于用户态执行的时间,系统内核执行的时间,空闲系统进程执行的时间。那么CPU利用率就是:CPU执行非系统空闲进程的时间/CPU的总执行时间
最佳用户数:系统的最佳状态,即系统在当前的资源配置情况下(服务器资源,客户端资源,网络资源)所能处理的最大用户事务数量,对系统资源的占用率,系统的处理能力,用户等待的响应时间都处于最优的配置下
最大用户数:依据系统当前的配置(硬件配置,网络配置),所能容纳的最大用户数量,超过这个用户的数量,系统的处理能力就达到一个瓶颈
点击数:每秒钟用户向Web服务器提交的HTTP请求数
这个指标是Web应用特有的一个指标,Web应用是请求-响应模式,用户发出一次请求,服务器就要处理一次,那么,点击率越大,对服务器的压力越大,点击率只是一个性能参考指标
PV:访问一个URL,产生一个PV,(Page View ,页面访问量)形容网站规模的重要指标
UV:作为一个独立的用户,访问站点的所有页面均是一个UV(Unique Visitor用户访问)

常见的性能问题

响应时间短
加载时间长
瓶颈
可伸缩性差
软件配置问题
磁盘使用情况
操作系统限制
网络配置不佳
内存利用率
CPU利用率
硬件资源不足

性能测试注意事项

1,服务器端和客户端一定要在同一个局域网内,否则网络因素会成为性能测试的瓶颈
2,在性能测试脚本中要注意检查点的设置,否则都不清楚脚本是否真的成功执行操作
3,设置参数化和关联是性能测试脚本调通的关键
4,录制脚本时通常会包括一些think time ,因此在回放脚本时,注意在runtime setting中设置忽略think time,否则会影响测试数据的准确性,比如响应时间
5,尽量每个页面设置一个transcation,否则不知道哪个页面最慢

关于性能测试工具,下次文章会详细的写出,谢谢大家

猜你喜欢

转载自blog.csdn.net/HONGTester/article/details/107336789