什么叫压力测试(Stress Testing)
在测试两个字前面加上一个限定词,就变成了很多测试。例如:压力测试、负载测试、性能测试、功能测试等等。但究竟什么是压力测试,初学者往往望文生义,都能说上一两句。是啊,谁还不懂“压力”是什么意思?谁还没经历过压力?然而,压力测试的真正含义和目的,它和其它测试(特别是负载测试)的区别,不是所有的软件工程师都是掌握的。
按照Ron Patton在其《Software Testing》一书中的定义,压力测试是一种破坏性测试,它故意让软件在比较少的资源环境下运行,如低内存、小硬盘、慢CPU上运行,考验程序直至程序无法运行,从而发现软件缺陷。用一句形象的话来比喻,就是让软件在饥饿状态上运行。
下面有一个例子。