性能测试有哪些类型呢?
- 验收性能测试
- 负载测试
- 压力测试
- 配置测试
- 并发测试
- 可靠性测试
- 失效恢复性测试
验收性能测试(Acceptance Performance Testing)
验收性能测试即性能测试,通过模拟生产运行的业务压力量和使用场景组合,测试系统的性能是否满足生产性能要求。验证性能测试方法包括用户场景、给出需要关注的性能指标、测试执行、测试分析几个步骤,这是一种完全确定了系统运行环境和测试行为的测试方法,其目的只能是依据事先的性能规划,验证系统是否达到其宣称的具有的能力。
特点:
01 目的是验证系统是否具有系统宣称具有的性能能力。
02 此方法需要事先了解被测试系统的典型场景,并具有确定的性能目标。
03 这种方法要求在已确定的环境下运行
负载测试(Load Testing)
负载测试方法在被测系统上不断增加压力,直到性能指标(如响应时间)超过预定指标或者某种资源使用已经达到饱和状态。负载测试方法可以找到系统的处理极限,为系统调优提供数据,有时也被称为可置性测试。
该方法具有以下特点:
01 主要目的是找到系统处理能力的极限。
02 这种性能测试方法需要在给定的测试环境下进行,通常也需要考虑被测系统的业务压力量和典型场景。
03 这种性能测试方法一般用来了解系统的性能容量,或是配合性能调优来使用。
压力测试(Stress Testing)
压力测试方法测试系统在一定饱和状态下,例如CPU、内存等在饱和使用情况下,系统能够处理的会话能力,以及系统是否会出现错误。
特点:
01 目的是检查系统处于压力情况下时应用的性能表现
02 这种性能测试一般通过模拟负载等方法,使得系统的资源使用达到较高的水平
03 这种性能测试方法一般用于测试系统的稳定性
配置测试(Configuration Testing)
配置测试方法,通过对被测系统软硬件的调整,了解各种不同环境对系统性能影线的程度,从而找到系统各项资源的最优分配原则。
特点:
01 目的:了解各种不同因素对系统性能影响的程度,从而判断出最值得进行的调优操作。
02 这种性能测试方法一般在对系统性能状况有初步了解后进行。
03 这种性能测试方法一般用于性能调优和规划能力
并发测试(Concurrency Testing)
并发测试方法通过模拟用户的并发访问,测试多用户并发访问同一个应用、同一个模块或者数据记录时是否存在死锁或者其他性能问题。
特点:
01目的,发现系统中可能隐藏的并发访问时的问题。
02主要关注系统可能存在的并发问题,例如系统中的内存泄漏、线程锁和资源争用方面的问题
03这种测试方法可以在开发的各个阶段使用,需要相关的测试工具的配合和支持
可靠性测试(Reliability Testing)
可靠性测试方法通过给系统加载一定的业务压力(例如资源在70%~90%的使用率),让应用持续运行一段时间,测试系统在这种条件下能否稳定运行。
特点:
01目的是验证系统是否支持长期稳定的运行
02这种性能测试方法需要在压力下持续一段时间的运行
03测试过程中需要关注系统的运行状况
失效恢复测试(Failover Testing)
失效恢复测试方法是针对有冗余备份和负载均衡的系统设计的。这种测试方法可以用来检验如果系统局部发生故障,用户是否能够继续使用系统,以及如果这种情况发生,用户将会受到多大程度的影响。
特点:
01 目的是验证局部故障情况下,系统能否继续使用
02 该种性能测试方法还需要指出,当问题发生时"能支持多少用户访问"的结论和"采取何种应急措施"的方案。
03 一般来说,只有对系统持续运行有明确要求的系统才需要进行这种测试。