自动化测试空间: http://www.automationqa.com/ 性能测试讨论群:119821036

如何判断一款软件是否需要做性能测试

上一篇 / 下一篇  2011-10-11 10:08:53

有的软件没做性能测试,客户反馈了很多性能问题;有的软件没做性能测试,客户从没抱怨性能有问题;有的软件做了性能测试,客户依然反馈了很多性能问题;有的软件做了性能测试,客户从没抱怨性能有问题。如何判断软件是否需要做性能测试?

  没有任何一个软件不需要做性能测试,而是说需要程度到底有多高,这个需求程度决定了花多少精力去做,并且怎么做的问题。

  就算一个只有1000行代码的小程序,你怎么能保证它不需性能测试?你怎么知道它里面就没有内存溢出?你怎么知道它有没有耗费了不必要的资源?

  所以问题不是做不做的问题,而是花多少代价,怎么做的问题。

  一般性能测试有几个层次,或者说两个需求。

  a.为了找出性能问题

  b.为了给出性能指标

  c.为了给出需要的配置

  例如:

  1.在要求平均响应时间小于5秒的前提下,你如何判断系统是否能够支持200万用户/天的访问量?

  2.如果你的公司计划在将来的两个月内把业务量提高200%,你如何判断公司的Web应用系统是否需要升级服务器的配置或者是增加服务器的数量?

  3.根据历史信息分析,在今年高考查分期间公司的网站系统将会承受去年同期5倍的访问量,以目前的现状,能承受吗?

  而我们国内现在常做的软件无非有几种:1.单机版应用程序 2.C/S或者B/S的项目(一般是外包项目或者政府软件,银行,医疗证券类软件)

  对于单机版应用程序来说,一般作性能测试是比较简单的,一般需求是两个,

  第一,你要测试一下有没有内存泻漏,或者深情况下内存溢出,或者有没有申请一些没必要的资源。这个一般要用一些分析工具

  第二,一般一个单机版应用程序,你总要给出,最低配置或者建议配置什么的,那么你给客户这个东西 就需要性能测试,测试一下在各种配置下面的运行情况,给出理想的建议值

  对于C/S或者B/S结构的软件就比较复杂了,一般是必须要做性能测试的。这个性能测试一般从以下方面考虑:

  第一,优化

  这个还是去考虑性能有没有问题,这个是起码的要求。特别是B/S系统,有没有多余请求,资源有没有释放之类的问题,要先考虑的。这类的问题,一般用网络分析工具就可以搞定。

  第二,时间

  这个是一般性能测试的重点。一般是用性能测试工具LR或WAS之类的做,这个叫负载测试。一般你测试一个软件,总要给老大一个结论,500人并发时,响应时间大概是几秒,300人并发时,是几秒。这个是每个客户都会要的。

  第三,配置

  这个也是性能测试的重点。这个一般叫压力测试。譬如一般客户会向你要一个数据:我想500人同时并发,响应时间在3秒之内,那么我的服务器要求最低配置是多少?这个嘛,你就只管压吧!压垮了,升级服务器,再压,又垮了,继续升级,到客户要求的性能指标达到为止。


TAG:

 

评分:0

我来说两句

Open Toolbar