常见的性能测试方法 性能测试划分有很多种测试方法也有很多种更确切的说是由于测试方法的不同决定了测试划分的情况但在测试过程中性能测试的划分没有绝对的界限常用的有压力测试、负载测试和并发用户测试等。性能测试的方法主要包括以下几种负载测试(Load Testing)压力测试(Stress Testing)配置测试 (Configuration Testing)并发测试(Concurrency Testing)可靠性测试(Reliability Testing)基准测试(Benchmark Testing)下面带大家详细了解各个方法一、负载测试负载测试(Load Testing)是通过对被测试系统不断地加压直到超过预定的指标或者部分资源已经达到了一种饱和状态不能再加压为止。就像举重运动员在举重的过程中不断地增加杠铃重量直到运动员无法举起。该方法主要是为了找到系统最大的负载能力为性能调优提供数据。该测试方法有以下几个特点1)目的找到系统最大的负载能力。2)环境该方法需要在特定的环境下进行测试。3)手段不断地对系统进行加压直到系统中部分资源达到极限。二、压力测试压力测试(Stress Testing)是指系统已经达到一定的饱和程度(如CPU、磁盘等已经处于饱和状态)此时系统处理业务的能力系统是否会出现错误。疲劳测试是压力测试的一种表现形式。例如一个人很累了但还在持续不停的工作。该测试方法有以下几个特点1)目的测试在系统已经达到一定的饱和程度时系统处理业务的能力。2)手段使用模拟负载等方法使系统资源达到一个较高的水平。3)该方法一般用于系统稳定性测试。三、配置测试配置测试(Configuration Testing)是通过调整系统软/硬件环境了解各种不同环境对系统性能的影响从而找到系统的最优配置。该测试方法有以下几个特点1)目的通过调整环境了解不同因素对系统性能的影响情况从而找到调优的方法。2)手段通过调整系统软/硬件环境使系统在不同环境下进行性能测试。3)该方法一般用于系统调优和规划能力。四、并发测试并发测试(Concurrency Testing)是通过模拟用户并发访问测试多用户同时访问同一应用、模块或数据观察系统是否存在死锁、系统处理速度是否明显下降等其他的一些性能问题。该测试方法有以下几个特点1)目的当多用户并发访问时系统是否存在一些可能的并发问题。2)手段模拟多用户同时并发操作。五、可靠性测试可靠性测试(Reliability Testing)是当系统在一定的业务压力下让系统持续运行一段时间观察系统是否达到要求的稳定性此处强调在一定业务压力下持续运行的能力可靠性测试必须给出一个明确的要求如系统能够持续无故障运行多少天。该测试方法有以下几个特点1)目的测试系统在一定的业务压力下系统可持续运行的时间。2)环境指明系统在一定的业务压力环境下持续运行。3)测试过程中要关注系统运行的情况。六、基准测试在一定的软件、硬件及网络环境下模拟一定数量虚拟用户运行一种或多种业务将测试结果作为基线数据在系统调优或者系统评测过程中通过运行相同的业务场景并比较测试结果确定调优是否达到效果或者为系统的选择提供决策数据。其准测试主要包括两个目的1) 度量改善性能测试的情况。2)测试并且调优保证系统达到性能要求或服务协议要求在这个测试过程中基准测试与 性能测试的每次迭代配合以确定调优的情况。各类测试执行阶段针对以上6种性能测试的类型在研发阶段应该如何安排呢?一般情况下在编码阶段进行并发测试、压力测试和配置测试因为在编码阶段我们需要快速的发现性能的问题编码阶段结束后系统进入测试阶段此时更多的是测试系统的稳定性和对系统进行调优使系统的性能最优化所在测试阶段主要是进行负载测试、基准测试和配置测试。各类测试执行的阶段如图所示