分类 | 目的 | 定义 | 举例 |
负载测试 | 发现系统当前的性能瓶颈 | 通过对被测试系统不断的加压,直到超过预定的指标或者是部分资源已经达到了一种饱和状态(性能拐点)不能再加压为止 | 逐步加压,从而得到“响应时间不超过10s”,“服务器平均CPU利用率低于85%”等指标的阀值 |
压力测试 | 验证系统在极端情况下的可靠性 | 指当系统已经达到一定的饱和程度(如CPU、磁盘等已经处于一种饱和状态),系统处理业务的能力,系统是否会出现崩溃等 | “CPU 利用率已达到85%以上”、“内存利用率已超过70%”等 |
配置测试 | 找到系统最佳配置 | 配置测试 (Configuration Testing)是通过调整系统软/硬件环境,了解在不同环境下系统性能指标的情况,从而找到系统的最优配置 | 集群 |
并发测试 | 发现代码中数据结构,算法或者数据库脚本中存在的问题 | 并发测试(Concurrency Testing)是通过模拟用户并发访问,测试多用户同时访问同一应用、模块或数据记录时是否存在死锁、系统处理速度明显下降等其它的一些性能问题(死锁、资源竞争),几乎所有的性能测试都会涉及到一些并发测试。 | 多个用户同时操作同一个功能,用于验证系统处理死锁、资源争用的能力。通常伴随着负载、压力测试同时开展 |
可靠性测试疲劳测试 | 验证系统的稳定性 | 是当系统在一定的业务压力下,让系统持续运行一段时间,看系统是否达到我们要求的稳定性,这里强调在一定业务压力下持续运行的能力,一定都会有一个明确的要求(CPU资源在70%到90%的使用率) | 持续运行多少天系统不能出现问题(否存在内存泄露) |
失败测试 |
| 对于有冗余备份和负载均衡的系统,通过这样的测试来检验如果系统局部发生故障,用户是否能继续使用系统,用户收到多大的影响 | 几台机器做均衡负载,测试一台或几台机器垮掉后,系统能够承受的压力。 |
参考:精通软件性能测试与LoadRunner实战2.1节 性能测试分类