首页 | 互联网 | IT动态 | IT培训 | Cisco | Windows | Linux | Java | .Net | Oracle | 软件测试 | C/C++ | 嵌入式开发 | 存储世界 | 服务器
网络设备 | IDC | 安全 | 求职招聘 | 数字网校 | 网页设计 | 平面设计 | 技术专题 | 电子书下载 | 教学视频 | 源码下载 | 搜索 | 博客 | 论坛
中国IT实验室软件测试频道
Google
首页 资讯动态 测试技术 测试工具 行业软件测试 测试管理 测试下载 经验分享 软件质量 其他技术 RSS订阅 博客 论坛
您现在的位置: 中国IT实验室 >> 软件测试 >> 测试技术 >> 性能测试 >> 正文

测试工具:Pure Software vs Appliance

        因为工作的原因,我会经常去关注一些实用性强的性能测试工具。软件测试有很多的领域和方面,可能性能测试这个方面最离不开工具,基本上没有办法纯手工来做软件测试,因为你不大可能请一百个人同时点击按钮来模拟100个并发连接。所以软件测试工具在这个时候就显得比较重要,甚至软件测试的范围和深度也很大程度上也依赖于软件测试工具的能力,这也是为什么Mercury,Quest还有Spirent这种纯粹做软件测试工具的厂商可以成为年收入几亿美刀公司的原因之一吧。不过近年有很多纯做软件测试工具的厂商被一些巨头如IBM,HP收购,这可能和IT行业的另一场大讨论有关,那就是专注和大而全的问题,anyway,这些都没有否定他们的价值。

    性能测试工具的出现有很长时间了,而且已经有很多的领先者,比如Mercury LoadRunner, Rational Performance Tester, Segue SilkPerformer, 还有Empirix, Compuware,Quest的产品,后面的因为没有机会试用,所以不熟悉。以上这些工具都是纯软件的性能测试工具的代表。各家的产品设计理念都不相同,基本上每家都提出了一些概念和卖点。但其实它们的主要架构都是类似的,大致可以分为以下几个方面:

    1. Virtual User Generator。性能测试很多是要模拟多个用户或者client的行为,所以一个自然的起点是你要知道一个用户的behavior,这个模块的输出一般是一个client的脚本,可以独立执行完成一次操作。各家用的语言不同,大致有C,Java,Pascal等几种。Of coz都说自己的好,可能用的人还是觉得自己熟悉的好。这个话题也很有意思,当别论。还有一个问题是如何生成这样的脚本,基本上有两种办法,一是自己写,根据手册,甚至有些可以用标准的C和Java语言。二是录制,就是捕捉真正的client的一次操作过程,然后通过协议的反向解析,得到步骤,就是上面说的脚本。很多时候可能是先录制,再在上面改改。

    2. Load Generator。 一个用户的行为已经有了,现在的问题是要模拟出成百上千的用户。这个可以借助多进程或者多线程的方法,单个机器的能力有限,所以很多都支持distribution的方法,可以把很多机器组织起来作为一个group来产生load。

    3. Conductor/Controller。性能测试有时候像指挥一群人长跑,所以需要组织和协调,比如是所有人听到枪声就开始跑呢还是一批批的跑,好点的工具都支持压力曲线。如果跑的过程中队形乱了,你也可以大喊一声stop,让所有人都停下来,退回原点。Conductor做的事情还有很多,比如可以设定monitor和实时的数据显示。

    4. Analysis/report generator。软件测试跑完了之后自然是要有结果的,一般都会提供一份自动生成的report,这些就是分析模块做的事情。好的工具应该可以提供详细的不同层次的数据分析,也有一些智能化的分析会给出可能的bottleneck。

    潮流总是一阵一阵的,今年皮草明年复古。IT这个行业也是一样,最近几年的一个潮流是Appliance,简单的说就是以前卖软件,现在把软件装在硬件里面连硬件一起卖。比如一些网关安全产品,像http,email方面已经有很多了,还有Google也推出了search appliance。记得以前联想出过汉卡,还有什么杀毒卡,后面都被纯软件取代了。现在又开始有一些硬件取代纯软件的例子。由此可见很多东西都不是绝对的,要看环境了,有点适者生存的味道。关于纯软和appliance各自的优劣,我觉得是一个big topic,还有很多问题没有想太清楚,另找机会来讨论吧。

[1] [2] 下一页

【责编:michael】

中国IT教育

相关产品和培训
文章评论
 专题推荐

 ·建立可全面监控Squid代理服务器
 ·华为认证题库、模拟器下载专题
 ·嵌入式操作系统Linux资料下载(A)
 ·JAVA的应用编程接口——JAVA API详解…
 ·Linux Shell学习技术专题[上]…
 ·windows Server 2008专区…
 ·WEB开发ASP.NET和PHP、JSP究竟学哪个
 ·五步带你入门XML
 ·零距离接触OCP_Oracle认证体系全攻略
 ·揭秘:网络工程师职业发展路线图
 最近更新
 博客论点
 频道精选
 软件测试频道导航