1.验收性能测试
验收性能测试(Acceptance Performance Testing)方法通过模拟生产运行的业务压力量和使用场景组合,测试系统的性能是否满足生产性的要求。通俗的说:在特定的运行条件下验证系统的能力状况。
(1)主要目的就是验证系统是否具有系统宣称具有的能力。
(2)这种方法需要事先了解被测系统的典型场景,并具有确定的性能目标。
2.负载测试
负载测试(Load Testing)方法在被测系统上不断增加压力,直到性能指标(如响应时间)超过预定指标或者某种资源使用已经达到饱和状态。负载测试方法可以找到系统的处理极限,为系统调优提供数据,有时也被称为可置性测试(Scalability Testing)。
(1)这种性能测试方法的主要目的是找到系统处理能力的极限。
(2)这种性能测试方法需要在给定的测试环境中进行,通常也需要考虑被测系统的业务压力量和典型场景,使得测试结果具有业务上的意义。
(3)这种性能测试方法一般用来了解系统的系统容量,或者是配合性能调优使用。(比较调优前后的性能差异)
3.压力测试
压力测试(Stress Testing)方法测试系统在一定饱和状态下,例如CPU、内存等在饱和使用情况下,系统能够处理的会话能力,以及系统是否会出现错误。
(1)这种性能测试方法的主要目的是检查系统处于压力情况下时应用的性能表现
这种性能测试方法通过增加访问压力,是系统资源使用保持在一定水平,检验此时应用的表现,重点在于有误出错信息产生,系统对应用的响应时间等.
(2)这种性能测试方法一般通过模拟负载等方法,使得系统的资源使用达到较高的水平。
(3)这种性能测试方法一般用于测试系统的稳定性。
4.配置测试
配置测试(Configuration Testing)方法通过对被测系统软硬件环境的调整,了解各种不同环境对系统性能影响的程度,从而找到系统各项资源的最优分配原则。(一般用于性能调优和规划能力)
5.并发测试
并发测试(Concurrency Testing)方法模拟多用户并发访问同一个应用、模块或者数据记录时是否存在死锁或者其他性能问题。
(1)这种性能测试方法的主要目的是发现系统中可能存在的并发访问时的问题。
(2)这种性能测试方法主要关注系统中可能存在的并发问题。比如:内存泄漏、线程锁和资源争用等问题。
(3)这种性能测试方法可以在开发的各个阶段使用,需要相关的测试工具的配合和支持。
6.可靠性测试
可靠性测试(Reliability Testing)方法通过给系统施加一定的业务压力(例如资源在70%-90%的使用率),让其持续运行一段时间,测试在这种条件下能否稳定运行。
(1)这种性能测试方法主要目的是验证系统是否支持长期稳定的运行。
(2)这种性能测试方法需要在压力下持续一段时间的运行。
(3)这种性能测试方法测试过程中需要关注系统的运行情况。