(1) 负载测试 (Load testing)
(目的是发现系统当前的性能瓶颈)
通常可以定义为一种性能测试,通过模拟不同工作负载确定软件系统性能能力的活动。其采用的方法是通过不断的增加系统压力,来验证系统各项性能指标的变化情况,知道出现“性能拐点”,即某个性能指标出现不满足事先约定的指标阈值。
该方法可以找到系统的处理极限,可以为性能调优提供依据,同时还可以为确定相同容量提供参考。该类方法通常要基于或模拟系统真实运行环境,且选取的典型业务场景也要与实际情况相同或接近。
(2) 压力测试 (Stress testing)
(目的是验证系统在极端情况下的可靠性)
可以定义为一种性能测试,通过模拟极限负载获得系统所能提供的最大服务级别的活动。通常该类测试的前提是使得系统已处于一种饱和状态,比如CPU利用率已达到85%以上,内存利用率已超过70%等等。在此前提下再继续给系统增大负载,观察系统的性能表现,是否出现拒绝服务、系统宕机等严重的异常。
这种测试一般辅助于系统故障定位、考察系统的稳定性等工作。
(3) 并发测试 (Concurrent testing)
(通常情况说的性能测试就是这里的并发测试。目的是发现代码中数据结构,算法或者数据库脚本中存在的问题)
并发测试通常分为广义的并发和狭义的并发。其中广义的并发可以理解为多个用户同时操作不同的功能,而狭义的并发可以理解为多个用户同时操作同一个功能。通常用于验证系统处理死锁、资源争用的能力。因此,通常伴随着负载和压力测试同时开展。当然,也有单独对某个特殊的功能进行并发测试。
(4) 疲劳测试 (Fatigue testing)
(目的是验证系统长时间运行的稳定性,例如可以测试系统是否存在内存泄露等)
疲劳测试一般用于考察系统的稳定、可靠性。因此,可以定义为一种性能测试,在某一特定环境下,通过模拟一定数量的用户持续较长时间连续使用或访问系统,确定系统长时间运行稳定性的活动。根据经验,它一般与压力测试配合进行,综合验证系统在一定压力下,长时间运行的稳定情况