【性能测试】Performance Testing
性能测试是一种“正常”的测试,主要测试正常使用时,系统是否满足(性能指标)要求。同时,可能为了保留系统的扩展空间,进行一些稍微超出“正常”范围的测试。
【负载测试】Load Testing
是指模拟真实的用户行为,通过不断加压直到性能出现瓶颈或资源达到饱和。
负载测试是我们最经常进行的性能测试,用于测量系统的容量,发现系统瓶颈并配合性能调优。
负载测试有时候也称为可量性测试(Scalability Testing),较性能测试的压力要大些。
【压力测试】Stress Testing
是指测试系统在一定的饱和状态下系统的处理能力。例如,测试一个WEB站点在大量的负荷下,何时系统的响应会退化或失败。
负载测试的不断加压到一定阶段即是压力测试,两者没有明确的界限。
压力测试通常设定CPU使用率达到75%以上,内存使用率达到70%以上,用于测试系统在压力环境下的稳定性(此处是指过载情况下的稳定性,略微不同于7*24长时间运行的稳定性)。
【可靠性测试】Reliability Testing
通过给系统加载一定合适压力(如CPU资源在70%-90%的使用率)的情况下,运行较长一段时间,验证系统是否稳定。
[可以理解为]压力测试关注的是过载压力(情况下的稳定性),可靠性测试关注的是持续时间(情况下的稳定性)。
【并发测试】Concurrency Testing
模拟用户同时(并发)访问同一个应用、同一个模块或数据记录时,验证是否存在并发问题,诸如内存泄漏、线程锁、资源争用、数据库死锁等。
几乎所有的性能测试都会涉及一些并发测试。
【配置测试】Configuration Testing
验证各种配置对系统性能的影响,用于性能调优和规划能力,找到系统各项资源的最佳分配原则。
【失效恢复测试】Failover Testing
对于有冗余备份和负载均衡的系统,检验系统局部故障时用户所受到的影响。即:如果系统局部发生故障,用户是否能够继续使用系统,用户将会受到多大的影响。
【容量测试】Capability Testing
测试系统能够处理的最大会话能力,确定系统可处理同时在线的最大用户数,通常和数据库有关。
[可以理解为]负载测试关注的是系统硬件所能承受的容量,容量测试关注的是系统软件(如程序、数据库)所能承受的容量。