性能测试乍一听,好像是很高大上,不过也确实很高大上,一般的测试人员,没有经过专门的训练的话,可能都难以理解性能里面的一些术语。
本文是小马哥从教学和答疑的过程中总结出的一些关于性能测试的简单理解,方便大家学习!解释有什么不明确和准确的地方,还望专业人士探讨和斧正!
一、性能测试的定义
1、定义
1)性能测试要利用工具
2)性能测试关注系统正常运行和峰值、异常情况的运行状态
3)性能测试也是通过监控数据和指标(预期的性能标准)进行判断。
2、分类:
1)一般 性能测试:系统正常运行(不加压力)
2)负载测试:给系统加压,直到出现“拐点”。(较低的负载)
3)压力测试:持续加压,直到系统的达到负载极限,或者是某一个指标饱和(系统崩溃,全面崩溃、局部崩溃)
4)大数据量测试:系统面临大量数据的操作:存入
5)稳定性测试:系统在长时间的运行。(不加压或者低负载状态)
6)配置测试:不同软件、硬件组合对系统性能的影响
7)恢复性测试:当软件运行故障时,恢复能力。
现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:310357728【暗号:csdn999】
二、专业术语
1、虚拟用户(Virtual User,简称vu):性能测试工具模拟出来的用户,模拟实际用户的操作行为。
2、并发和并发用户数
1)并发:强调大量用户、同时操作、该操作会对服务器产生压力
2)并发用户数:一起向服务器发送带有压力或者影响的操作的用户的数量。(共振)(同时使用Q发送消息或者进行其他操作的用户量,一定小于在线用户数)
3)系统用户数:某一个特定系统的使用用户总量。(QQ用户总量超过10亿)
4)在线用户量:登陆了系统,或者正在使用系统的用户人数。(QQ的在线用户数,2.8亿左右)
3、思考时间:两次请求的间隔时间。(Loadrunner中默认情况下,思考时间为0)
4、响应时间
1)用户角度,从请求发出,到看到响应结果。(自己的带宽 运营商 服务端 服务器的数据处理 返回的运营商 电脑的处理速度都会影响。)
2)请求响应时间:服务器收到用户请求到把响应内容发送出去之后,这段时间(运维考虑)
3)事务响应时间:处理请求对应的事务(Transaction)的时间(开发考虑)
5、点击率:每秒钟用户提交的请求数(Web测试中,就是HTTP请求)
6、每秒钟事务数:(TPS)每秒系统处理交易或者事务的数量
7、吞吐量:单次业务中,客户端和服务器交互的数据总量。
吞吐率:吞吐量/时间
8、性能计数器:操作系统中,用户监控和分析服务器性能指标。
三、性能测试流程
1、功能测试流程:(功能)需求分析--测试计划(功能)--测试环境搭建--测试设计--测试执行--提Bug--(开发)改Bug--验证和关闭
性能测试流程:(性能)需求分析--测试计划(性能)--测试环境搭建(无限接近于实际运行环境)--测试工具选择--测试执行--发现性能瓶颈(提Bug)--性能调整和优化【(开发)改Bug】--验证和关闭
1)性能需求:明确的指标。判断未来结果是否准确的依据(预期结果)
2)测试场景设计:涉及很多内容
3)测试结果评判:一般不是绝对的,很多时候由测试结果和项目的具体内容结合进行动态判断。
4)对性能瓶颈进行优化(性能优化和调整):对于具备性能测试技术的测试人员,优化和问题的诊断能力也要具备。
2、测试用例设计
特别注意:性能测试中,不再去做反向数据的验证。
性能测试的目的:开始变得复杂,不再是唯一的目的;可能包含很多测试要点;
用例中的术语:
1)集合点:所有用户集合在一起,进行并发
2)事务:用户的操作行为的总称,用来衡量TPS、事务成功率的基础。
预期结果:性能测试执行后,结果判断的标准。
模板-设计测试用例。
四、测试工具
Loadrunner,以前Mercury公司(QTP、TD),性能测试、功能自动化、测试管理
HP公司收购,Loadrunner、UFT、QC--->ALM HPE
Focus合并,Loadrunner Profession
除此之外,JMeter也是很著名的,而且还是免费的,支持企业和用户二次开发,也是比较容易学习和入门的。后面,自动化测试老司机将会分类进行说明!
END点赞关注不迷路!今天的分享就到此结束了~!