性能测试、压力测试和负载测试是教科书式的测试方法.

        本博文只对理论知识做原理讲解,不涉及实践细节.

  性能测试(Performance Test):通常收集所有和测试有关的所有性能,通常被不同人在不同场合下进行使用。测试软件在系统中的运行性能,度量系统与预定义目标的差距。

 

  关注点:承载能力 和 系统响应速度

 

  负载测试(Load Test):负载测试是一种性能测试,指数据在超负荷环境中运行,程序是否能够承担。通过逐步增加系统负载,确定在满足性能指标的情况下,系统所能承受的最大负载量。

  关注点:最大承载力

  压力测试(Stress Test):压力测试是一种高负载下的负载测试,也就是说被系统处于一个负载的情况,再继续对他进行加压,形成双重负载,直至系统崩溃,并关注崩溃后系统的恢复能力,以前再加压的一个过程,看看系统到底是否已经被彻底破坏掉了。

       外部的负载叫压力,内部的压力叫负载。负载注重关注内部的以及系统自身一些情况;而压力更关注系统外部的表象.

      下面举两个例子加深印象:

      一号例子:

        开学了,老师需要挑选一名班长来帮她管理50名学生,班长主要任务是每次上课前在30秒内完成对所有学生的考勤审核工作.(结合性能测试纲要,第一步,我们收集了客户的性能需求,分析出主要业务逻辑是课前点名工作,性能测试通过指标是30秒内完成50名学生的点名工作,根据以上情报转化为点名业务场景.)

       有三名候选人,老师测验了他们点名的能力,最后,三名都在30秒内完成50名学生的点名(性能测试通过),但是老师只能保留一名候选人做班长,于是她开始思考怎么增加难度(设计测试),他想出两个方案,决定用两个方案的综合得分来衡量三名候选人.

       1号方案:增加规定时间内的点名人数(增加基础数据量--内部压力,负载测试),于是,老师不断增加他们在30秒内点名的人数,直到两名候选人被淘汰.

      2号方案:缩减规定人数的点名时间(增加单位时间内的外部压力,压力测试),于是,老师不断缩减他们完成50人点名的时间,直到两名候选人被淘汰.

      老师终于获得了强悍的班长(测试完毕).

      此时,她邪恶的念头又诞生了,再继续缩减时间会怎样?再继续增加点名人数会怎样?于是乎,你们懂的,可怜的班长终于在老师凌厉的攻势下跪了.(相当于已经到了系统的最大拐点,造成了系统瘫痪,无法使用,容量测试结束)。

      二号例子:

      

     

      其实性能测试可以融入生活的方方面面.

------------------------------------------------------------------

(未完待续)