怎样判断是否需要对一个软件进行性能测试 性能测试工具
从纯技术的角度讲,任何软件都会有性能方面的问题,但实际上并不是每一个软件都要做性能测试。
软件的性能和性能测试伴随着网络应用的兴起而逐渐被重视起来,但是软件性能和性能测试却并非网络应用的专属名词,单机版的软件应用同样需要考虑性能问题。
先请看以下的案例:
1 杀毒软件每次都要花费两个小时以上才能完成一次对所有的分区的扫描。
2 PolySpace(代码分析软件)分析一个项目(10K LOC),都要花费八个小时以上。
以上两款软件都没有做过性能测试,但客户一般不会抱怨软件性能有问题,可能只会抱怨自己的机器落伍了。
3 北京奥运会第二阶段门票销售开始第一天,其订票系统一度瘫痪。
以上的软件做了性能测试,但用户对订票系统的抱怨声还是造成了很坏的影响。
... ...
具体来说,如何判断是否需要做性能测试,有以下几个准则。
× 对于单机版软件来说,要完全站在用户的角度,准确的把握用户需求 软件测试
我们要明白,用户有时候并不会过多的关注软件的实时性。
以“我”这个用户为例,在使用杀毒软件之前,我的期望是杀毒软件能尽可能多的查杀病毒,至于查杀病毒要两个小时还是三个小时,我不会过多关注,因为查杀病毒时,我可能在吃饭或者休息。
同样,“我”在使用PolySpace之前,我已经知道它的分析原理就是做“穷尽”的计算,所以才能找到代码中的Run-time error(运行时错误),具体它用了八个小时还是十个小时,我也不会太关心,因为它的分析工作是在机房的服务器上,分析时间都在下班以后。只要第二天上班我能看到结果就行。
当在使用Excel中使用嵌套的统计和数学函数对几万行记录进行统计分析时,如果每次都要两三分钟才能看到结果,“我”就会觉得性能比较差,因为我需要眼睁睁的看着它,等着它的结果出来后才能进行下一步操作。
所以说,需不需要对单机版软件做性能测试,取决于对用户需求的深层次理解。一般情况下,大数据量、交互性强的应用,在性能测试方面要多关注。
而对于客户端/服务器系统,性能测试则是必需的。
× 对于客户端数量相对固定的情况下,如传统的C/S系统,如果客户端数量不大,性能测试要相对简单一些,一般采用传统的人工“喊号子”的方法即可完成。而如果客户端数量比较大,要借助于工具完成,自研的专门工具还是专业的性能测试工具都可以协助完成性能测试。
× 对于客户端数量无法预测的情况下,如当前最流行的B/S系统,你可能无法预测到底会有多少人并发访问你的网站,于是性能测试变得至关重要,性能成为产品能否成功的关键因素之一。如MSN在国内一直打不过QQ,个人以为MSN的性能不稳定是重要的一个原因。要在这种情况下做性能测试,或者说压力测试,一般要借助于专业的工具,如LoadRunner才能完成。