对于性能测试、负载测试、压力测试常常分不清,尤其是负载和压力容易弄混淆了,这个也是很常见的面试题,现在我们就来想办法把它弄清楚。
首先,性能测试包括压力测试和负载测试,测试的是不同负载条件下系统的各项性能指标,如吞吐量、响应时间、点击率等。
其次,压力从字面意思来讲就是给某物一定的,比如用手按压桌子等。压力测试就是给被测系统不断的加压(负载),测试系统的各项性能指标。直到系统的某一些性能指标达到了瓶颈为止,比如CPU的使用率达到了。这个不断给系统施加压力的过程,就叫做压力测试。
然后,负载测试就是在系统性能指标已经有一项或几项达到了瓶颈的情况下,让它继续运行一段时间,测试系统运行过程中各项性能指标。这种在已经达到了大负载(压力)时进行的测试叫负载测试。
后,总的来说,压力测试就是寻找系统性能瓶颈的,负载测试就是测试系统在处于瓶颈的状态的运行情况,比如响应时间是否延长等。
下面给大家举个例子说明一下:
假设举重运动员可以无限次增加杠铃的重量,那我们就让他从50公斤起步,逐步增加直到他再也举不起来为止,那么后一次举起的重量(假如说200公斤)就是他大能承担的重量瓶颈,这就是压力测试。然后让该运动员举200公斤的杠铃持续一段时间,在这个过程中我们测试他的身体状况,如心跳、血流速度等,这就是负载测试。