性能测试扫盲
1.性能的概念:
1.1 什么是性能
- 时间:系统处理用户请求的响应时间
- 资源:系统运行过程中,系统资源的消耗情况
1.2 什么是性能测试?
使用自动化工具,模拟不同的场景,对软件各项性能指标进行测试
和评估的过程。
1.3 什么是性能测试的目的?
- 评估当前系统能力
- 寻找性能瓶颈,优化性能
- 评估软件是否能够满足未来的需要
2.性能测试和功能测试:
2.1 功能测试和性能测试有什么不同?
- 功能测试:验证系统的功能需求规格。焦点:功能(正向、逆向)
- 性能测试:验证系统的业务需求场景。焦点:时间、资源
2.3 功能测试和性能测试有什么关系?
一般项目中,先功能测试通过后,后进行性能测试
3. 性能测试分类
基准测试:
什么是基准测试?
- 狭义上讲:就是单用户测试。(单用户循环多次得到的数据)
- 广义上讲:建立基准线,当系统的软硬件环境发生变化之后再进行一次基准测试以确定变化对性能的影响。
基准测试数据的用途?
- 基准测试不会单独存在
- 为多用户并发测试和综合场景测试等提供参考依据
- 为系统/环境配置、系统优化前后的性能提升/下降提供参考指标
负载测试
概念:通过逐步增加系统负载,确定在满足系统的性能指标(如响应时间等)情况下,找出系统所能够承受的最大负载量的测试。
作用:系统最大负载量达到用户要求时,系统才能正式上线使用。
压力测试
概念:
在强负载下的测试,查看系统在峰值情况下是否功能隐患、系统是否具有良好的容错能力和可恢复能力。
测试场景
- 极限负载情况下的破坏性压力测试
- 高负载下的长时间的稳定性压力测试
分类:
- 高负载下的长时间稳定性压力测试(如: B-C区间内进行24/3* 24小时长时间测试)
- 极限负载下的破坏性压力测试(如: C-D区间内进行测试)
并发测试
概念:
并发测试(绝对并发) :是指在极短的时间内,发送多个请求,来验证服务器对并发的处理能力。
应用场景
特定活动场景,如:抢红包、秒杀、抢购等。
与负载测试对比:
- 负载测试:主要目的是测试高负载情况下,对系统资源的消耗,是否会耗尽的问题(双11活动)
- 并发测试:主要目的是测试极短时间内,并发请求时,系统资源争抢的问题(抢红包、秒杀)
4. 性能测试的指标
响应时间:
- 指从客户端发起请求开始,到客户端接收到结果的总时间
- 包括:服务器处理时间 + 网络传输时间
并发用户数:
- 某一时刻同时向服务器发送请求的用户数
吞吐量:
指的是单位时间内处理的客户端请求数量,直接体现软件系统的性能承载能力。
QPS
QPS(Queries Per Second):每秒查询率,是一台服务器每秒能够响应的查询次数,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。
TPS
TPS(TransactionsPerSecond):每秒事务数。它是软件测试结果的测量单位。一个事务是指一个客户机向服务器发送请求然后服务器做出反应的过程。客户机在发送请求时开始计时,收到服务器响应后结束计时,以此来计算使用的时间和完成的事务个数。
点击数:
所有的页面元素(如:图片、链接、框架等)的请求总数量。
注意:
- 点击数是请求数,不是页面上的一次点击
错误率:
指系统在负载情况下,失败业务的概率
注意:
- 错误率是性能指标,是高负载下的失败业务的概率
- 随机bug是功能bug,先解决随机bug才能进行性能测试
资源利用率:
什么是资源利用率?
系统各种资源的使用情况,资源的使用量/ 总的资源可用量x100%
常见资源指标有哪些?
- CPU使用率:不高于75%-85%
- 内存(大小)使用率:不高于80%
- 磁盘I0 (速率) :不高于90%
- 网络(速率) :不高于80% .
内容来自:黑马官网资料https://www.itheima.com/