云层专访:他和他的LoadRunner

发表于:2010-1-06 16:22

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

 作者:陈霁    来源:51Testing软件测试网原创

性能测试进阶指南——打通从工具到实践的脉络

  最近我写的《性能测试进阶指南--LoadRunner9.1实战》终于出版了。在这里得给51Testing论坛上的一些朋友说声抱歉,忽悠他们很快就会出版(本来也的确以为很快就可以出版的),但是出于种种原因,一直拖到现在。 这本书是08年8月份左右决定去写的,其实也是在看了很多别人的书以后,自我感觉良好、头脑发热的情况下做的决定,直到09年的4月份基本完工,随后进入了调优与出版社校稿排版的漫漫长路,一路坎坷啊。

  以前我看过相同领域的前辈们的一些书,受益良多,但也有一种感觉:虽然每本书都有自己的定位,但要么就是工具有余实践不足,要么是实践深奥工具没有,另有一些是只有操作没有思想,少了一本真正能够打通从工具到实践路上主要脉络的书。而另外一方面所有的书都是基于较早Mercury公司LoadRunner8.0系列的,而对于HP收购后的9.1版本却没有任何参考资料,再加之该版本没有中文文档给很多新手带来了众多学习不便,于是便动了写本书的念头,于是《性能测试进阶指南——LoadRunner9.1实战》便诞生了……

  由于目录层次的问题,这本书在前面的章节分支清晰,但是在第六章,目录就会浅显很多,这个是排版导致的,没有办法。所以在看这本书目录的时候大家会发现和别的书有很多类似的地方,这是因为工具虽然升级了,主要的操作流程是类似的,所以从工具介绍角度来说目录是类似的。好比word2003和word2007的书目录总归是很接近的,但内容上却有很大的区别。LR9.1相对以前的8.0版本,还是有很大的变化的(例如参数数组的引入,新增功能SLA品质保证等)。我在编写这本书的时候力求保证内容的实用性,每一个知识点都会有对应真实的案例来介绍应用。在第六章中详细介绍了关于性能测试实施的流程细节,包括如何进行性能需求分析,硬件环境建模,历史数据准备,场景脚本定义,各种文档的编写案例及性能分析的方法及定位均有详细介绍。

  性能测试并不是LoadRunner,所以本书并不是以LoadRunner来介绍性能测试,而是介绍性能测试,再介绍如何使用LoadRunner来进行实践,所以其中穿插了很多在性能测试中需要用到的第三方扩展工具,例如协议的分析回放,响应时间的监控,历史数据生成,性能需求分析及配置管理。

  关于性能调优的部分,其实这是大家的一个误解,作为一本性能测试的书籍,其中并不应该包含大量调优的内容,原因主要是以下几点:

  1. 性能测试的目的是为了证明问题发现问题而不是解决问题(功能测试需要测试人员去定位和修复缺陷么?)

  2. 性能的定位和调优需要有相关系统非常丰富的开发、设计及维护经验。作为一个测试人员需要对这些东西了解并掌握是非常困难的(要学的东西太多)

  3. 性能的分析定位及调优的基础是正确的性能测试,如果连基础都做不好那么去做分析和调优是没有意义的。

  从这几个角度来看,作为一本性能测试的书籍,那么应该是告诉大家如何正确的进行性能测试,如何正确的使用工具来帮助我们更好的实现性能测试,而分析、调优方法为辅。如果对性能调优感兴趣,可以直接参考各个系统自带的tuning手册,因为常见的性能问题其实设计开发工具或平台的人早就考虑到了,会列出对应的解决方案的。

  最后说一下自认为特别的内容吧:

  1. 基于个人授课经验和项目经验总结,对性能测试和LoadRunner工具进行介绍

  2. 介绍了Linux下load generator的配置

  3. 详尽的LoadRunner9.1新函数的使用介绍及各个关键知识点的案例分析

  4. 所有的项目和案例都可以在本地实施

  5. 提供了协议原理捕捉分析的过程

  6. 监控原理及第三方监控导入

  7. 各个数据图的来源及表达含义

  8. 性能测试实施的各个过程,如何进行性能需求分析定义,如何设计场景,如何分析(个人觉得是精彩之处)

  9. 各个阶段文档的格式及实施要点

  10. 很多有趣的案例

  这里无法罗列所有的知识点,可以参考本人blog上的该书思维导图。

  Blog地址:http://www.51testing.com/?uid-104

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

精彩评论

  • cookies
    2010-6-28 16:23:35

    1, 打开recording options,在internet protocol下的recording中选择recording level为HTML-based script,点击HTML Advanced,选择script type为A script containing explicit.即可。
    2, 选择使用URL_based script录制。
    另外,附上帮助中的这个错误代码的说明:
    Message Code 27979

    Requested form not found

    The form was not found in the page received from the server. Possible reasons: (i) The current or a previous HTML page was changed after the script was recorded. (ii) A previous request navigated to a wrong page or failed. (iii) One or more web_submit_form arguments are missing or incorrect (especially for manually coded, parameterized, or correlated functions). (iv) The server returned an unexpected page (e.g., under excessive load).

    Troubleshooting

    If the current or previous HTML page was changed, look for the correct properties of the form used in the text (e.g., action), and change it in the script.
    If your snapshots and extended log are disabled, enable them and run the script again.
    (i) To enable Snapshots: Select Tools > General Options > Correlation, and check the Save correlation information during replay box.
    (ii) To enable Extended Log: Select Run-time Settings > General: Log, and check Enable logging, Always send messages, Extended log, Data returned by server, Advanced trace.
    Compare the record and replay snapshots for each step in the script from the beginning, and locate the first difference. If you identify a difference in the snapshots, locate the corresponding HTTP request in both the recording log and the extended log. Compare the requests and, if they are different, have the replay issue exactly the same request. This can be done, for example, by adding web_add_header (for adding missing headers or adjusting existing ones), web_remove_auto_header (for removing extra headers), and web_add_cookie (for missing cookies).
    If some correlation is missing, (e.g., the recording and replay runs have different session IDs), use the correlation tool to locate and handle such cases.

  • jasonxu
    2010-3-30 20:09:33

    可能是提交的数据有问题,不合法,导致服务器报500错误

  • 云层
    2010-3-01 15:12:20

    这是你服务器返回的500错误,具体原因请询问开发人员,可能还是initial脚本的动态处理有问题

  • 赵泠子
    2010-2-24 08:40:20

    问一下:用LR录制登陆时,我们软件每次都报错,手工操作不报错。
    报错提示为:未将对象引用到对象实例
    LR日志显示为:
    Action.c(314): Error -26612: HTTP Status-Code=500 (Internal Server Error) for "http://192.168.0.119:801/web/Main/Main_Frm_ConterEx.aspx"   [MsgId: MERR-26612]
    Action.c(314): web_url("Main_Frm_ConterEx.aspx") highest severity level was "ERROR", 5492 body bytes, 240 header bytes   [MsgId: MMSG-26388]

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号