什么是软件性能
软件性能是指软件响应及时满足用户要求的程度
不同群体眼中的性能
用户视角
- • 还要让我等多久?—— 响应时间
- • 为什么总是失败?—— 稳定性
开发视角
- • 架构设计是否合理?—— 架构设计
- • 数据库设计是否合理?—— 数据库设计
- • 代码是否存在性能问题?—— 代码
- • 是否有不合理的内存使用?—— 代码
- • 是否有不合理的线程同步操作?—— 代码
- • 是否有不合理的资源竞争?—— 代码
- • 代码算法是否还能有进一步提升?—— 代码
架构师视角
- • 服务器资源使用合理吗?—— 资源利用率
- • 数据库使用合理吗?—— 资源利用率
- • 系统能否实现扩展?—— 可扩展性
- • 最多支撑多少用户访问?—— 系统容量
- • 最大业务处理量?—— 系统容量
- • 系统有哪些潜在的瓶颈?—— 可扩展性
- • 更换哪些设备,添加哪些机器可以提高系统性能?—— 可扩展性
- • 7 × 24 小时连续不间断业务访问?—— 稳定性
测试人需要考虑全面的性能,包括用户、开发、架构师等各个视角的性能
性能测试类型
- 1. 基准测试:在系统正常情况下运行,摸底性能指标
- 2. 负载测试:在一定压力的环境下运行,直到系统的某项或多项性能指标达到临界值
- 3. 压力测试:系统处于饱和情况下,观察系统性能测试
- 4. 稳定性测试:给系统一定业务压力的情况下,使系统运行一段时间
- 5. 并发测试:测试多个用户同时访问同一个应用、同一个模块或者数据记录时是否存在死锁或者其他性能问题
测试执行
需求分析→测试计划→选择合适的一款性能测试工具→性能测试脚本编写→执行性能测试脚本→产出一个性能测试报告
性能测试中出现了不符合预期的情况称为性能瓶颈,在性能测试中,出现了性能瓶颈,开发修复的过程称为优化
性能瓶颈是一直有的,我们能做的是不断地优化和改进
参考:
https://wiki.mbalib.com/wiki/%E8%BD%AF%E4%BB%B6%E6%80%A7%E8%83%BD