项目 | 描述 | LoadRunner | |
协议 | 测试工具可以捕捉、处理及回放通信协议 | 支持多种协议。按照协议数量收费,支持多种协议录制功能。 | 仅支持HTTP 1.0 / 1.1 / HTTPS (SSL)。 |
回放功能 | 回放脚本及脚本调试工具 | 扩展的记录功能支持参数和服务器信息的浏览,还可浏览及比较已录制网页版本与客户端返回的信息,脚本生成器包括了调试工具、支持断点调试和单步跟踪。 | 类似的回放功能,但没有综合比较功能。有调试功能,包括控制器、断点设定和单步跟踪。 |
脚本语言 |
使用中间介质来代表被捕获的协议数据和操作回放数据
| 称为TSL,使用标准C语言语法而且允许添加C函数库,对工具支持的不同协议有广泛的定制功能。 | 使用专有的类似“BASIC”语言的自动化脚本语言SCL。在已有的功能上有些限制,例如字符串操作、支持文档对象模型(DOM)直接处理。 |
扩展性 | 工具功能性扩展 | 附加的TSL或者C函数库, 受限与工具的功能性。 | SCL脚本模块可以定义到Include文件里,开源使得功能可以用C++进行扩展。 |
脚本界面 | 编辑脚本的应用程序工具的界面 | 多种捕捉模式, 支持高级的文本浏览和低级的HTTP浏览,并且支持图形化的树形结构和脚本浏览方式,脚本浏览方式支持功能区分入口。 | 低级的HTTP浏览并且提供图形树表示的DOM结构。可视化的被捕获的HTML渲染与寻址服务器头表。有语言敏感、语法颜色凸显的编程功能。 |
相关性 | 从动态数据中替换数值从而能够成功回放的任务。 | 自动关联功能,包括在录制中录制后,比较录制与重放效果。但是不支持所有的模式捕获。 | 手动关联使用互动的DOM架构。自动生成脚本代码的功能用来辅助变量代换。 |
Cookie 管理 | HTTP cookies的检测、录制和回放,并需要额外的代码来管理javascript生成的cookies | HTTP头存根自动管理,如果需要可以手动操纵。 | HTTP头存根自动管理,如果需要可以手动操纵。 |
参数化 | 自动地调整动态数据参数从而更准确模拟真实用户。往往是对话(session)管理所必须的 | 可扩充的数据输入接口,包括数据库查询的向导界面。没有标准的函数来锁定数据源保持分布式测试中被并发访问数据的唯一性。 | 可扩充的数据输入接口,包括自动生成测试数据的向导界面。标准功能包括了对数据文件的顺序、随机、伪随机访问。分布式测试中,有标准的通用函数来维护单个或多个负载注入器(injector)的参数的唯一性。 |
控制器 | 管理和实施测试 | 实时监控功能。情景自动生成。对虚拟用户、脚本、脚本组的单独控制。脚本的运行安排,执行进度显示及循环控制 | 实时监控功能。简单拖放多情景测试配置,支持模块化脚本,并允许在在运行时加入新的情景/虚拟用户。没有情景自动生成。允许在多用户负载测试过程中对整个测试或者特定用户进行http监测和调试。 |
监控 | 在执行期间捕获资源使用信息,包括显示并用于建立性能测试报告。 | 支持多种模式。 支持在线图形显示、Apache/Netscape/IIS。其他监视器需另外支付费用。新的机制允许远程用户通过浏览器界面实时监控结果。注意:通过防火墙监控需要制定TCP/IP端口。未来版本的LoadRunner应使用HTTP消息避免此类问题。 | 支持Windows NT/2000中集成的性能图形显示以及SNMP信息收集。各种测试信息包括虚拟用户状特性、自定义状态和活动信息。 基于Web的监视器可以穿过防火墙运行在远程机器上。 执行过程中的联机图形以及监视结果会用于最后的报告。 |
分布式测试 | 把压力生成分布到多个产生压力的机器的能力 | 支持由单一控制器管理多个负载生成器。 | 支持由单一控制器管理多个负载生成器。同一网络使用TCP/IP或基于Web的HTTP远程控制负载生成器。 |
虚拟IP地址 | 模拟不同IP地址访问系统的能力。尤其对负载平衡系统非常有用 | 支持虚拟IP包括IP转发时的路由自动更新。 | 没有嵌入虚拟IP功能。 |
广域网/局域网仿真 | 在测试中模拟不同网络结构的能力 | 7.6版本新加入的功能。允许在局域网测试时仿真延时、丢包、连接故障及动态路由效果。需要专门的许可证书。 | 没有嵌入广域网/局域网仿真功能。 |
缓存 | 模拟网络浏览器缓存页面的能力 | 可以控制浏览器回放时的缓存仿真以及每个虚拟用户的设置。 | 没有特别的功能,虽然可以效仿简单的脚本代码。 |
用户网速模拟 | 模拟真实用户不同网络速度的能力 | 可以回放时仿真不同的网络速度 | 没有嵌入模拟真实用户不同网络速度的功能 |
分布式/远程压力生成 | 为了产生大量负载需要额外的负载生成器,并需要集中控制 | 可以控制多个负载生成器及收集结果。使用HTTP端口可穿过防火墙控制远程的负载发生器。 | 可以控制多个负载生成器及收集结果。使用HTTP端口可穿过防火墙控制远程的负载发生器. |
报告&分析 | 检查和分析测试的结果,包括定时器、监控的资源和以图形方式显示的结果。 | 大范围的混合式图表功能——在Word中自动生成报告。分析器可以作为单独的应用程序分发给用户 | |
可量测性 | 工具生成多少虚拟用户及相应的资源使用的能力。 实际可利用资源取决于数量、规模和脚本的复杂度。 | 资源的限制主要是线程数量及内存大小。在NT/2K操作系统上每个虚拟用户会占到1 Mb内存。 Windows 95, 98 & Unix的效率更低些。每台PC的最大虚拟用户数大约为1500。 | 主要使用的资源是内存。在一个单核P4处理器及Windows 2k上测试一个简单的ASP页面,如果达到3000用户的负载需要1GB内存。 未经证实的报告说明Win2k机器上对于复杂的脚本最多可以支持1664个虚拟用户。可能有线程限制。没有许可证书限制。 |
初始成本 | 购买软机及证书的费用,不包括升级或支持。 | 没有虚拟用户的软件基本价为16,000美元。额外的费用是通过每种协议、监控资源和虚拟用户来收取。 | 免费并可以通过www.OpenSTA.org下载。可供下载的有: 先前版本; 自动安装包和当前源代码(附有MS C++ Visual Studio 6简单build指令)。 |
虚拟用户成本 | 大多数商业工具按照虚拟用户的数量收费。额外的硬件也需要额外费用。 | 价格范围大:虚拟用户的费用从25个10000美元到1000个66000美元。临时的虚拟用户大约是每天3.50美元(1000分钟)。 这不是正式的报价。 | 免费,无许可证书限制 |
技术支持 & 专家咨询 | 该工具支持的可用服务和费用。 | 根据M.I., 此项费用每年大约为初始成本的1/5, 包括升级。 MI和其合伙公司还提供咨询服务(包括etest协会)。 | 众多的独立资源。 Etest协会对每次远程技术支持收取美元50,也提供收费的专家咨询。网上资源包括网页和电子邮件论坛。升级是免费的(大约每3-6个月)。 |
培训 | 工具的培训服务 | MI 有大量的培训课程,费用为大约每人每天400美元。许多合作伙伴也提供培训课程 | 专业公司,提供有针对性的培训,价格也不尽相同。 |
系统需求 | 使用工具需要的操作系统。(不是指测试的操作系统)。 | MS windows 2000, NT4 (sp 6a ),XP-Pro - 在Unix: HP, Solaris, Linux负载发生器仅支持部分功能 | MS windows 2000, NT4 (sp5+), XP-Pro。 |
硬件需求 | 使用工具的硬件需求。(不是测试的硬件系统需求)。 | 最低要求: Pentium 350 & 128M; 负载发生器: Pentium 1GHz以及每个虚拟用户1 MB内存 | 最低要求: Pentium 200 & 80MB 内存。 专业版: Pentium 500MHz+ & 128MB+ 内存。 |
代码开放性 | 工具本身源代码的可用性 | 不可用 | 开放源码GNU的公共许可证- C++语言。 |
用户评价 | 网络测试工程师对两种工具的体验 | 有一个非常友好的用户界面,强大的监测及结果分析。自动关联和改进的脚本记录设施能提高效能。非常灵活的脚本功能及周详的帮助文件,另一个亮点是支持很多协议。缺点是复杂的选项和控制器布局。 | 易于使用的界面和优秀的延展性。内建的结果分析功能稍许逊色。被捕获的数据是开放的、直接输出到Excel。情景设置和控制的拖放,非常直观和容易互动,模块化脚本简化了情景的制作。手动关联令人头痛,但可以用第三方的‘diff’工具和GUI DOM提供的功能使关联容易。相对不足的是标准脚本语言的功能,但足够完成大多数http负载测试工作。如果没有,就使用"Include"支持功能和提供的源代码,具有很强的可扩展性。 |