网络上的对着三者的解释混乱,特此记录!
性能测试,压力测试,负载测试,经常听说却并没有真正的去了解区别,而且网上大部分讲的还是有点混乱,很容易让人混淆。所以根据自己的经验还有查阅软件测试书籍做了一些总结:很多时候,查阅软件测试书籍是寻找答案最好的方法。
从测试的方法与工具来说,三者都是一样的,压力测试跟负载测试都是属于性能测试的子集(软件测试书籍也是有说明这点)。
从测试的目的来说,三者又是不一样的。
性能测试:软件测试的定义:模拟用户负载来测试系统在负载情况下,系统的响应时间,吞吐量等。(这里的负载指的是用户并发数)所以它的目的是为了获取系统的指标。
负载测试:软件测试的定义:在一定的软硬件环境上,通过不断的加大负载来确定在满足性能指标情况下所能够承受的最大用户数。所以它的目的是为了获取最大用户数。一般不超过80%cpu,正常情况工作下最大用户数数据。
压力测试,也叫强度测试。软件测试的定义:在一定的软件硬件环境下,通过高负载的手段来使服务器资源处于极限的状态,测试该系统在极限状态长时间运行是否稳定。包括系统指标,服务器性能指标。
综上所述:
一般情况下我们所说的性能测试就是在服务器指标不超过80%下的测试来获取性能指标,负载测试是测试的一个方法,通过不断调试并发数获取性能瓶颈。比如80个并发,这个叫80用户负载测试。通过80—>180这样的并发数变化过程,就叫做性能测试。也就是说,性能测试是通过不同的负载测试来实现的。
压力测试,就是高负载的情况下进行的,目的不是为了获取性能指标,而是想要了解系统是否稳定。这时候服务器的指标一般不超过90%。压力测试通过长时间的运行较性能测试更能容易发现内存泄露的问题。
简单来说,负载测试是个方法,性能测试是一个过程。压力测试是个高压力下的性能测试。(个人理解)