这确实是个问题。
其实我倒觉得问题不是要不要做的问题,而是怎么做,做多少的问题!
请注意,没有任何一个软件不需要做性能测试,而是说需要程度到底有多高,这个需求程度决定了花多少精力去做,并且怎么做的问题。
就算一个只有1000行代码的小程序,你怎么能保证它不需性能测试?你怎么知道它里面就没有内存溢出?你怎么知道它有没有耗费了不必要的资源?
所以问题不是做不做的问题,而是花多少代价,怎么做的问题。
一般性能测试有几个层次,或者说两个需求。
a.为了找出性能问题
b.为了给出性能指标
c.为了给出需要的配置
而我们国内现在常做的软件无非有几种:1.单机版应用程序 2.C/S或者B/S的项目(一般是外包项目或者政府软件,银行,医疗证券类软件)
对于单机版应用程序来说,一般作性能测试是比较简单的,一般需求是两个,
第一,你要测试一下有没有内存泻漏,或者深情况下内存溢出,或者有没有申请一些没必要的资源。这个一般要用一些分析工具
第二,一般一个单机版应用程序,你总要给出,最低配置或者建议配置什么的,那么你给客户这个东西 就需要性能测试,测试一下在各种配置下面的运行情况,给出理想的建议值
对于C/S或者B/S结构的软件就比较复杂了,一般是必须要做性能测试的。这个性能测试一般从以下方面考虑:
第一,优化
这个还是去考虑性能有没有问题,这个是起码的要求。特别是B/S系统,有没有多余请求,资源有没有释放之类的问题,要先考虑的。这类的问题,一般用网络分析工具就可以搞定。
第二,时间
这个是一般性能测试的重点。一般是用性能测试工具LR或WAS之类的做,这个叫负载测试。一般你测试一个软件,总要给老大一个结论,500人并发时,响应时间大概是几秒,300人并发时,是几秒。这个是每个客户都会要的。
第三,配置
这个也是性能测试的重点。这个一般叫压力测试。譬如一般客户会向你要一个数据:我想500人同时并发,响应时间在3秒之内,那么我的服务器要求最低配置是多少?这个嘛,你就只管压吧!压垮了,升级服务器,再压,又垮了,继续升级,到客户要求的性能指标达到为止,呵呵~~~~~~~~~~~~
总结一下,不是要不要做的问题,而是怎么做,按照客户要求哪些需求,哪些指标做的问题!