性能测试
一 性能测试基础
1 测试流程
1 性能测试需求分析
2 性能测试计划及方案
3 性能测试用例
4 测试脚本编写/录制
5 建立测试环境
6 执行测试脚本
7 性能测试监控
8 性能分析和调优
9 性能测试报告总结
2 定义
- 使用自动化工具,模拟不同的场景,对软件的各项性能指标进行测试和评估的过程
- 性能:软件质量属性中的“效率”特性
- 效率特性:
- 时间特性:指系统处理用户请求的响应时间
- 资源特性:指系统在运行过程中,系统资源的消耗情况
- CPU
- 内存
- 磁盘IO(Input and Output)
3 策略/类型
(1)基准测试
- 单用户测试,测试环境确定后,对业务模型中的重要业务做单独的测试,获取单用户运行时的各项性能指标(进行基础的数据采集)
- 测量和评估软件性能指标的活动。可以在某个时刻通过基准测试建立一个已知的性能水平(基准线),当系统的软硬件环境发生变化之后再进行一次基准测试以确定那些变化对性能的影响
- 用途
- 为多用户并发测试和综合场景测试等性能分析提供参考依据
- 识别系统或环境的配置变更对性能响应带来的影响
- 为系统优化前后的性能提升/下降提供参考指标
(2)负载测试
- 通过逐步增加系统负载,测试系统性能的变化,并最终确定在满足系统的性能指标情况下,系统所能承受的最大负载量的测试
- 负载:向服务器发送的请求
- 关注点:逐步增加压力
(3)稳定性测试
- 在服务器稳定运行(用户正常的业务负载下)的情况进行长时间测试,并最终保证服务器能满足线上业务需求
(4)其他:并发测试、压力测试、容量测试
4 性能指标
- 响应时间=网络时间+应用程序处理时间,指用户从客户端发起一个请求开始,到客户端接收到从服务器端返回的结果,整个过程所耗费的时间
- 并发数:并发测试的用户数
- 系统用户数:系统注册的总用户数
- 在线用户数:某段时间内访问系统的用户数,这些用户不一定同时向系统提交请求
- 并发用户数:某一物理时间同时向系统提交请求的用户数
- 吞吐量
- 点击数
- 错误率
- 资源利用率
- PV和UV
5 目的
- 评估当前系统能力
- 寻找性能瓶颈,优化性能
- 评估软件是否能够满足未来的需要
6 性能与功能区别与联系
- 焦点不一样:
- 功能测试:验证软件系统操作是否符合产品功能需求规格,主要焦点在功能(正向、逆向)
- 性能测试:验证软件系统是否满足业务需求场景,主要焦点是业务场景的满足(时间、资源)
- 关系:
- 功能测试和性能测试是相辅相成的,对于一款优秀的软件产品来讲,他们是不可减少的2个重要测试环节
- 一般新项目中,功能测试通过后,再进行性能测试