文章目录
- 一、 基准测试
- 1.1 基准测试
- 1.2 基准测试数据的用途
- 二、负载测试(重要)
- 三、稳定性测试(重要)
- 四、其他性能测试
- 4.1 压力测试
- 4.2 并发测试
- 4.3 容量测试
- 五、性能测试策略-总结
一、 基准测试
1.1 基准测试
①狭义上讲:就是单用户测试(单用户循环多次得到的数据)。测试环境确定后,对业务模型中的重要业务做单独的测试,获取单用户运行时的各项性能指标。(进行基础的数据采集)
第1次:用户输入正确用户名密码,登录成功,耗时10ms 第2次:用户输入正确用户名密码,登录成功,耗时9ms 第3次:用户输入正确用户名密码,登录成功,耗时9.5ms ·········· 第100次:用户输入正确用户名密码,登录成功,耗时10ms 基准测试数据: -单用户输入正确用户名密码,登录成功,性能耗时为9.9ms②广义上讲:是一种测量和评估软件性能指标的活动。你可以在某个时刻通过基准测试建立一个已知的性能水平(称为基准线),当系统的软硬件环境发生变化之后再进行一次基准测试以确定哪些变化对性能的影响。
基准测试:商城v1.0版本,模拟5w用户在硬件服务器(8CPU 16G内存)上运行,下订单响应时间为3s —--基准线 测试场景1∶商城v1.0版本,模拟5w用户在硬件服务器(8CPU 32G内存)上运行,下订单响应时间为2.5s 测试场景2∶商城v1.0版本,模拟10w用户,在硬件服务器(8CPU 16G内存)上运行,下订单响应时间为4s 测试场景3∶商城v1.1版本,模拟5w用户在硬件服务器(8CPU 16G内存)上运行,下订单响应时间为2.8s 看后续软件升级、硬件变化、用户量、业务量、负载量增加等性能的变化和影响是什么。1.2 基准测试数据的用途
- 基准测试不会单独存在
- 为多用户并发测试和综合场景测试等性能分析提供参考依据
- 识别系统或环境的配置变更对性能响应带来的影响
- 为系统优化前后的性能提升/下降提供参考指标
二、负载测试(重要)
负载: 指向服务器发送的请求数量, 请求越多, 负载越高 ----------------------------------------------------------- 场景: 电商系统平时可以正常运行, 双11时能保证也可以正常运行吗? —用户量大1、概念
通过逐步增加系统负载,确定在满足系统的性能指标(如响应时间)情况下,找出系统所能够承受的最大负载量的测试。
电梯行业规范:电梯从1楼到5楼(15m)的运行时间不超过24s 进行负载测试: case1:1人乘坐电梯,从1楼到5楼,运行时间为20s case2:7人乘坐电梯,从1楼到5楼,运行时间为20s case3:13人乘坐电梯,从1楼到5楼,运行时间为20s---最大负载量 case4:16人乘坐电梯,从1楼到5楼,运行时间为25s Case5: 19人乘坐电梯,从1楼到5楼,运行时间为28s---极限负载量 Case6: 21人乘坐电梯,从1楼到5楼,运行过程中绳子断了。。 。2、作用
系统最大负载量达到用户要求时,系统才能正式上线使用。
3、注意
- 通过负载测试,可以确定系统的最大负载量和极限负载量
- 系统对外宣称的最大负载量
- 负载测试的时间一般为1-2小时
- 负载测试关注的重点是逐步增加压力
三、稳定性测试(重要)
为什么要进行稳定性测试? 电商系统能抗住双11时的考验能保证长时间运行不出问题吗? 例如:轮胎使用一段时间出现了磨损1、概念
在服务器稳定运行(用户正常的业务负载下)的情况下进行长时间测试(1天-1周等),并最终保证服务器能满足线上业务需求。
2、作用
系统在用户要求的业务负载下运行达到规定的时间时,系统才能正式上线使用。
四、其他性能测试
4.1 压力测试
为什么要进行压力测试? 1、软件实际使用时,用户量超过预期(系统最大负载量),该如何反应? 2、软件由于意外情况出现问题,多久能恢复?1、概念
在强负载(大数据量、 大量并发用户等)下的测试,查看应用系统在峰值情况下操作行为,从而有效地发现系统的某项功能隐患、系统是否具有良好的容错能力和可恢复能力。
2、测试场景分类
- 高负载下的长时间(如24小时以上)的稳定性压力测试。
- 极限负载情况下导致系统崩溃的破坏性压力测试。
4.2 并发测试
为什么要进行并发测试? 电商系统能抗住双11时的考验,能保证在秒杀活动时不出问题吗? 秒杀特点:时间短,请求量大1、概念
并发测试(绝对并发)∶是指在极短的时间内,发送多个请求,来验证服务器对并发的处理能力。
2、应用场景
特定活动场景,如︰抢红包、秒杀、抢购等。
3、与负载测试对比
- 负载测试:主要目的是测试高负载情况下,对系统资源的消耗,是否会耗尽的问题(双11活动)
- 并发测试:主要目的是测试极短时间内,并发请求时,系统资源争抢的问题(抢红包、秒杀)
4.3 容量测试
容量测试: 关注软件的极限压力下的各个极限参数值, 例如: 最大TPS, 最大连接数, 最大并发数, 最多数据条数等。
五、性能测试策略-总结
1、基准测试
2、负载测试
3、稳定性测试
4、其他: 并发测试、 压力测试、 容量测试等
以上4中并不是性能测试的种类,是性能测试的流程。
正常来讲先做:基准测试—>负载测试—>稳定性测试,这3步就够了。但是对于一些特殊的情况,还可以围绕第4步(并发、压力、容量测试等),做更进一步的测试内容。