性能测试非山寨版心得之一

发表于:2009-2-18 13:50

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:allenzgw    来源:51Testing博客

  以前做过一些“山寨版”的性能测试,我都说了,是山寨么,当然不正规,不过,现在有多少企业的测试流程是正规的能,何况性能测试的流程呢。这是现状,也是机遇。这次因为项目需要,要做一个比较正规的,而且有一定难度的性能测试了。B/S, C/S,接口性能,都涉及到,对自己也是个挑战和提高。

  这一个星期主要做需求理解和性能需求分析,然后写性能测试计划和测试用例。发现了很多问题,总结如下:

  需求分析问题:

  1、刚开始最好不要上来就跟客户谈,某个性能点需要什么样的指标,比如支持多少人同时登陆,等等。一上来最主要的事情是了解整个系统的作用,用户,部署的方式,约束,上线时间,等等,目的是让自己能慢慢的站在客户角度来看待这个系统,通过自己的知识,想客户所想,忧客户所忧,因为我们的目的就是要让客户满意么。

  注意性能测试场景选择的原则:

  a. 重要的(业务上),

  b. 重复的(最常用的模块),

  c. 重量级的(消耗大量系统资源的)

  具体性能指标分为几类类:

  a. 系统容量(数据容量、用户量、并发用户量),

  b. 系统并发度指标(注册用户、在线用户、并发用户),

  c. 响应度指标(正常压力下响应能力、峰值压力下的响应能力,以及异常压力下的响应能力)

  2、理解整个系统及其实现之后,再列出自己分析得到的性能需求点。

  3、询问客户的具体性能需求,共同分析,是否测试,测试的优先级。

  4、写出性能测试计划和用例,并要得到客户认可。

  性能测试策略:

  1、单一性能点,多用户测试。测试过程可以隔离测试性能场景,先单独测试加压每种性能需求点,比如用户登陆,可以单独模拟此需求,建立比如50人并发登陆的场景。但此种场景并非是用户实际使用情况,不可能有个系统大家只是在拼命的登陆,而不作其他事情。但是,如果在做别的事情,那么同时再有50人并发登陆的话,那这个登陆时间会大大的延长的。所以此场景的设计仅仅为了检查这一个模块的性能水平。

  2、隔离之后,再逐步建立混合的性能场景。比如登陆的同时有人在浏览、查询、写入系统。但是此时只加载20%的负载。这一步主要是一个集成测试,考虑各个功能模块之间是否有影响,是否有对某些资源的抢夺等问题。同时找出Top Time Transaction

  3、如果上一步没问题了,这次就加压100%,看看在真正我们规定的要求下,系统各项性能指标如何,同时对本次测试结果作为Base Line,用来性能调优之后的比较。

  4、压力测试,看系统的最大负载能力。

  性能测试能力问题

  Loadrunner是性能测试一个非常好用,同时也比较复杂的工具。经过这么一段时间的学习和使用发现其难点在于:

  1、脚本录制和开发,怎么写这个东东,比如怎么样让日志输出合适的信息,对于后期分析有很重要的意义,这些都会有些开发能力要求。

  2、如何设计测试场景,最大程度的模拟用户需求,这个有挑战,是对需求理解的挑战,对整个系统设计和实现的理解,如果知道的东西很少,那理解起来就很费力,也不容易把握住重点,这个功夫也在LR之外。

  3、性能测试出来之后,结果如何分析,呵呵,这个更是挑战了,挑战来自什么的?我觉得这个也不是来自LR本身,而是来自对数据库操作系统、中间层和这个被测系统本身的理解。这个应该是最难的。调优,在哪个行业不是是最难的啊?单独一个Oracle, SQL Server调优那需要DBA多长时间的积累啊,何况我们需要懂的不仅仅是数据库。当然这个阶段可以找DBA来帮我们分析解决问题。这个要求也是在LR之外的。

  所以,性能测试工具本身并不是最大难点,学会使用工具也仅仅是个起点。能做好性能测试人的本事最主要也不是在如何熟练的使用LoadRunner,或者JMeter,主要的是对系统的理解和掌控,一种大局观。我自己感觉,自从这几个月比较深入的学习Oracle、Linux之后,对性能的理解越来越深刻了,测试过程会有计划有目标的选取某些数据,执行某个过程,不像以前仅仅是个表面的照葫芦画瓢,尽管测试完了,但却总是感觉心里不安。

  发现这个世界,道理都是相同的,你越是想搞钱,越是难搞到钱,即使有,也都不会是大钱。为什么呢?因为能赚多少钱,这个东西,不在钱本身,而在钱之外。我想当年Bill、李嘉诚也没想自己一定要赚多少多少钱吧,他想的是怎么把这个事情做大、做好、做强吧,要不然他们也不会有钱之后,又投入这么大把的钱到慈善事业上的了,李嘉诚可是放弃了1/3啊!不像国内的某些企业家仅仅做个样子而已。扯远了……性能测试似乎也是这样,能力在性能测试之外。所以说吧,做什么都要放大视野,这样道路才会更宽!

版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章原始出处作者信息本声明,否则将追究法律责任。

本文出自allenzgw的51Testing软件测试博客:http://www.51testing.com/?101349

《2023软件测试行业现状调查报告》独家发布~

精彩评论

  • xuben
    2009-2-18 18:03:56

    很喜欢这段总结:

    能做好性能测试人的本事最主要也不是在如何熟练的使用LoadRunner,或者JMeter,主要的是对系统的理解和掌控,一种大局观。我自己感觉,自从这几个月比较深入的学习Oracle、Linux之后,对性能的理解越来越深刻了,测试过程会有计划有目标的选取某些数据,执行某个过程,不像以前仅仅是个表面的照葫芦画瓢,尽管测试完了,但却总是感觉心里不安。

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号