压力测试:
压力测试的关键字就是“极端”。通过对系统的极端加压,从而观察系统的所表现出来性能问题。再对此性能问题进行分析,从而达到系统优化的目的。所以压力测试就是一定要让系统出问题,如果系统没有出问题,那么压力测试的手段和方法就肯定存在问题。
负载测试:
负载测试是用户观点的测试行为。简单说来就是负载测试就是让系统在一定得负载压力下进行正常的工作,观察系统的表现能否满足用户的需求。
用户的需求从何而来?需求分析——特指性能测试的需求分析。由此看来需求分析是相当重要的。
负载测试是站在用户的角度去观察在一定条件下软件系统的性能表现。
负载测试的预期结果是用户的性能需求得到满足。此指标一般体现为响应时间、交易容量、并发容量、资源使用率等。
负载测试也是最常用的性能测试方法,因此也有不少人将负载测试混淆为性能测试。
并发测试:
验证系统的并发能力。通过一定的并发量观察系统在该并发量的情况下所表现出来的行为特征,确定系统是否满足设计的并发需要。并发测试是系统观点的测试行为。
基准测试:
顾名思义,基准测试要有一个基准点,也就是说供比较基点。当软件系统中增加一个新的模块的时候,需要做基准测试,以判断新模块对整个软件系统的性能影响。按照基准测试的方法,需要打开/关闭新模块至少各做一次测试。关闭模块之前的系统各个性能指标记下来作为基准(Benchmark),然后与打开模块状态下的系统性能指标作比较,以判断模块对系统性能的影响。
稳定性测试:
很简单,长时间进行负载测试,从而观察系统的稳定性。
“路遥知马力”,在这里我们要说的是和性能测试有关的稳定性测试,即测试系统在一定负载下运行长时间后是否会发生问题。软件系统的有些问题是不能一下子就暴露出来的,或者说是需要时间积累才能达到能够度量的程度。为什么会需要这样的测试呢?因为有些软件的问题只有在运行一天或一个星期甚至更长的时间才会暴露。这种问题一般是程序占用资源却不能及时释放而引起的。比如,内存泄漏问题就是经过一段时间积累才会慢慢变得显著,在运行初期却很难检测出来;还有客户端和服务器在负载运行一段时间后,建立了大量的连接通路,却不能有效地复用或及时释放。
可恢复性测试:
测试系统能否快速地从错误状态中恢复到正常状态。比如,在一个配有负载均衡的系统中,主机承受了压力无法正常工作后,备份机是否能够快速地接管负载。可恢复测试通常结合压力测试一起来做。