性能测试概述
性能的概念
- 什么是性能?
- 时间:系统处理用户请求的响应时间
- 资源:系统运行过程中,系统资源的消耗情况
- 什么是性能测试
- 使用自动化工具,模拟不同的场景,对软件各项性能指标进行测试和评估的过程
- 什么是性能测试的目的
- 评估当前系统能力
- 寻找性能瓶颈,优化性能
- 评估软件是否能够满足未来的需要
性能测试和功能测试
- 不同:
- 功能测试:验证系统的功能需求规格。焦点:功能(正向、逆向)
- 性能测试:验证系统的业务需求场景。焦点:时间、资源
- 一般项目中,先功能测试通过后,后进行性能测试
性能测试分类
基准测试
- 什么是基准测试
- 狭义上讲,就是单用户测试。(单用户循环多次得到的数据)
- 广义上讲,建立基准线,当系统的软硬件环境发生变化之后再进行一次基准测试以确定变化对性能的影响
- 基准测试数据的用途
- 基准测试不会单独存在
- 为多用户并发测试和综合场景测试等提供参考依据
- 为系统/环境配置、系统优化前后的性能提升/下降提供参考指标
负载测试
- 概念:
- 通过逐步增加系统负载,确定在满足系统的性能指标(如响应时间等)情况下,找出系统所能够承受的最大负载量的测试
- 作用:
- 系统最大负载量达到用户要求时,系统才能正式上线使用
- 注意
- 通过负载测试,可以确定系统的最大负载量和极限负载量
- 系统对外宣称的最大负载量
- 负载测试的时间一般为1-2小时
稳定性测试
- 概念:
- 在服务器稳定运行(用户正常的业务负载下)的情况下进行长时间测试(1天-1周等),并保证最终服务器能满足线上业务需求。
- 作用
- 系统在用户要求的业务负载下运行达到规定的时间时,系统才能正式上线使用。
压力测试
- 概念:
- 在强负载下的测试,查看系统在峰值情况下是否功能隐患、系统是否具有良好的容错能力和可恢复能力
- 测试场景
- 极限负载情况下的破坏性压力测试
- 高负载下的长时间的稳定性压力测试
- 分类:
- 高负载下的长时间稳定性压力测试 (如:B-C区间内进行24/3*24小时长时间测试)
- 极限负载下的破坏性压力测试(如:C-D区间内进行测试)
并发测试
- 概念:
- 并发测试(绝对并发):是指在极短的时间内,发送多个请求,来验证服务器对并发的处理能力。
- 应用场景
- 特定活动场景,如:抢红包、秒杀、抢购等。
- 与负载测试对比:
- 负载测试:主要目的是测试高负载情况下,对系统资源的消耗,是否会耗尽的问题(双11活动)
- 并发测试:主要目的是测试极短时间内,并发请求时,系统资源争抢的问题(抢红包、秒杀)
性能测试的指标
响应时间
- 指从客户端发起请求开始,到客户端接收到结果的总时间
- 包括:服务器处理时间 + 网络传输时间
并发用户数
- 某一时刻同时向服务器发送请求的用户数
吞吐量
- 吞吐量(Throughput):指的是单位时间内处理的客户端请求数量,直接体现软件系统的性能承载能力
总结
如果你对此文有任何疑问,如果你也需要接口项目实战,如果你对软件测试、接口测试、自动化测试、面试经验交流感兴趣欢迎加入我们,加入方式在文章的最后面
自动化测试相关教程推荐:
2023最新自动化测试自学教程新手小白26天入门最详细教程,目前已有300多人通过学习这套教程入职大厂!!_哔哩哔哩_bilibili
2023最新合集Python自动化测试开发框架【全栈/实战/教程】合集精华,学完年薪40W+_哔哩哔哩_bilibili
测试开发相关教程推荐
2023全网最牛,字节测试开发大佬现场教学,从零开始教你成为年薪百万的测试开发工程师_哔哩哔哩_bilibili
postman/jmeter/fiddler测试工具类教程推荐
讲的最详细JMeter接口测试/接口自动化测试项目实战合集教程,学jmeter接口测试一套教程就够了!!_哔哩哔哩_bilibili
2023自学fiddler抓包,请一定要看完【如何1天学会fiddler抓包】的全网最详细视频教程!!_哔哩哔哩_bilibili
2023全网封神,B站讲的最详细的Postman接口测试实战教学,小白都能学会_哔哩哔哩_bilibili
总结:
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
如果对你有帮助的话,点个赞收个藏,给作者一个鼓励。也方便你下次能够快速查找。
如有不懂还要咨询下方小卡片,博主也希望和志同道合的测试人员一起学习进步
在适当的年龄,选择适当的岗位,尽量去发挥好自己的优势。
我的自动化测试开发之路,一路走来都离不每个阶段的计划,因为自己喜欢规划和总结,
测试开发视频教程、学习笔记领取传送门!!