目录
一、性能测试概述
进行性能测试的原因:
1)业务需求:
·大量用户下,系统能否稳定运行;
·用于硬件服务器选型
·用于软件技术的选型
2)招聘需求
1.1性能测试的概念
1.1.1性能及性能测试
性能:软件质量属性中的“效率”特性,效率特性:时间特性、资源特性。
·时间特性:系统处理用户请求的响应时间;
·资源特性:系统在运行过程中,系统资源的消耗情况;包括CPU、内存、磁盘IO(磁盘的写入Input和读取Output,简称IO)
性能测试:使用自动化工具,模拟不同场景,对软件各项性能指标进行测试和评估的过程。
性能测试软件的范围:后台处理程序(代码)、中间件(应用服务器)、数据库、程序架构等服务器资源的消耗。
1.1.2性能测试的目的
1)评估当前系统的能力:
·如验收第三方提供的软件;
·获取关键的性能指标,与同类型的软件对比(跑分)
2)寻找性能瓶颈:发现性能问题后,寻找性能瓶颈,优化性能(如: 12306春运时服务故障)
3)评估软件是否能满足未来的需要(例如:淘宝双11在2023年的销售额)
1.1.3性能测试与功能测试比较
焦点不一样:
·功能:关注系统对用户需求规则的满足程度。关注点(正向、逆向)
·性能:关注系统对用户业务场景的满足程度。关注点(时间、资源)
二者关系:在一个项目中,功能测试和性能测试一般都有,功能测试通过后,才进行性能测试。
二、性能测试策略及指标
2.1 性能测试策略(或称分类)
性能测试策略:基准测试、负载测试、稳定性测试、其他:并发测试、压力测试、容量测试
2.1.1基准测试:
狭义上讲:单个用户进行业务场景测试,并统计性能的各项指标(为后续多用户性能作参考对比)
广义上讲:在某一个时刻进行性能测试建立一个已知的水平,当硬件系统发生变化时再测,观察变化对于性能产生的影响。
2.1.2负载测试:
说明:通过逐步增加系统负载,测试系统性能变化,并最终在满足系统性能指标情况下,系统所能承受的最大负载量的测试。
负载:指向服务器发送的请求数量,请求越多,负载越高。
注意:负载测试关注的重点是逐步增加压力。一般给用户看到的都是最有