一、相关概念
1、性能测试相关:负载测试,性能测试,压力测试,稳定性测试,全链路测试等
2、性能指标:吞吐率,tps,并发用户数,吞吐量,响应时间等
二、性能测试
1、概念解析:通过工具,找出或者获得系统在不同工况下的性能指标值。主要使用性能测试工具(jmeter,loadrunner等)或者代码
1.1 找出:产品在第一次做性能测试的时候,找出性能指标值(有多个值)
1.1.1 找出后:这些指标值如果不满足预期,预期某个性能指标值大于我们实际测试出来的指标值,这个时候,需要定位,分析,调优
1.2 获得:产品非第一次做性能测试,再已有性能指标的基础上,再次进行性能测试,对比两次测试结果。
1.2.1 利用性能测试工具,使用不同的方式模拟多用户并发。
1.2.1.1 性能测试(服务器端的性能测试),要多用户调用服务的接口来进行性能测试
(1)多用户:性能测试,不能用单用户请求(并发用户不能是一个)
(2)用户信息可以是一个也可以是多个,但是一般情况下,我们用多个不同的用户信息。
注意:性能测试结果是性能指标值,指标值满足要求,可以写性能测试报告,性能测试可以结束,不满足,通过这些指标值进行定位,分析与调优
2、广义与狭义
2.1 广义性能测试:只要与性能测试相关的测试
2.2 狭义性能测试:只是找出或验证性能测试指标(现在做的性能测试都是狭义性能测试)
2.3 广义并发:同一时间发起请求(现在的性能测试一般都是广义并发)
2.4 狭义并发:同一时间发起相同的请求
三、负载测试
1、概念:通过逐步增加并发用户数,看服务器最大可承受的并发用户区间
1.1 并发用户数:性能测试的原动力,模拟多人发送请求
1.2 通过开始区间,慢慢缩小这个区间,得出最大可接受的并发用户数
难点:怎么看出超出了最大处理能力(后面会分析)
1.3 二八原则:80%的请求,发生在20%的时间里
例:假设你们产品 日均访问量 500w次 -----一天内访问网站的次数 500w / 24 / 3600 ====得出1秒钟访问的次数 每秒钟 访问58次
(500w*0.8 )/ (24*0.2 *3600) 二八原则 80%的请求,发生在20%的时间里
400w / 17280 == 232 每秒钟访问了232次---服务器每秒要处理232次请求----TPS 假设人是1秒钟发1次,----232个人
1.4 预估并发用户的思路
(1)生产环境的日均访问量进行换算
(2)看生产环境监控,监控中,最大请求那段时间段的并发数
现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:822269834
四、压力测试
1、概念:在一定量的并发请求下,持续运行一个比较长的时间,来看服务器的稳定性。
1.1 时间:一般以小时为单位
1.2 一旦服务器有宕机的问题,要做压力测试,一般,先用比较小的并发用户数,然 后再用比较大的并发用户数(相对最大可接受的并发用户数)
注意:企业一般所说的压测是负载加性能测试,不是压力测试
五、压测
1、概念:压测并不是我们所说的压力测试,也不是我们概念中的性能测试,在企业中一般是负载测试与性能测试的结合。
2、操作:压测的真是意思是需要去做一个完整的性能测试
2.1 先做负载测试,再做性能测试,通过负载测试得到最大可接受的并发用户数,然后用这个最大并发用户数进行性能测试,得到我们的指标值,即压测=负载测试+性能测试
六、稳定性测试
1、概念:通过一定量的并发用户数,向服务器发起请求,查看一段时间后,服务器是否还稳定运行。
2、稳定性测试与压力测试的区别
2.1 区别点:并发用户的多少,稳定性测试可能只需要用到最大并发用户数的20%,但是压力测试需要用到20%,40%,80%逐级递增
2.2 稳定性:主要是因为在一定量的并发用户数,持续运行一个比较长的时间段内,服务器会占用比较多的资源,如果在这段时间内,我占用的资源能够及时回收,那么服务器就不会有宕机的风险,如果不能及时的回收资源,那么资源就会越占用越多,最后超出服务器可承受的极限,会导致资源不足,服务宕机。
2.2.1 任何一个软件或者服务启动,都会占用一定量的资源(内存),这个量在启动时,已经确定,那么这个软件,在它的生命周期内,都是使用这个一定量的资源。如果这个时候软件因为内存不够而异常,则称为内存溢出
2.2.2 一台服务器,它的资源是有限的,你现在开启的服务非常多,每一个服务都要占用一定量的资源,可能导致,整个机器资源不足,导致机器宕机。
七、容量测试
1、概念:在一定软,硬件条件下,在数据库不同数量级数据量的情况下,对系统中,读写比较多的业务进行测试,从而获得不同数据量级下的性能指标值。
1.1 不同数据量级:数据库表中的数据总量
1.2 数据量级:a.我们可以根据生产数据库的数据量级来确定 b.根据产品未来的一个发展趋势来预估
2、前面讲的性能测试,使用最大用户并发数进行性能测试,其实隐藏了一个默认的条件,数据库表的容量,在你预估的一个数据量内
八、总结
企业中性能测试,一般,先做负载测试,得到最大可接受的并发用户数,再通过这个最 大可接受的并发用户数,进行性能测试,得到性能测试指标值,再根据这个指标值,判断是否符合预期,符合,则测试结束,如果不符合,则需要进行问题定位、分析与调优。一般最后再做压力测试,来测试服务器的稳定性
感谢每一个认真阅读我文章的人!!!
作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助