LoadRunner作为性能测试工具的开拓者,测试人员应该都听过,可能也用过,相比较后起之秀Jmeter,使用场景更趋于企业级的性能测试,不太适合个人使用。
RunnerGo呢,是一款基于Go语言、国产自研的测试平台。它支持高并发、分布式性能测试,相比较LoadRunner体积更小、操作更简单且更灵活,满足绝大多数企业的性能测试需求。
本篇文章中我们从各个方面对比了 RunnerGo 和 LoadRunner ,大家可以根据自身情况选择合适的测试工具。
产品定位
RunnerGo与JMeter一样都属于开源产品,个人开发者和企业可以按需部署或二次开发。
LoadRunner属于商业化产品,需要付费购买。
RunnerGo是一款测试平台,提供全栈的测试功能,如接口测试、UI自动化、缺陷管理等等。
LoadRunner属于一款测试工具,主要提供性能测试功能。
RunnerGo与LoadRunnerGo都提供团队协作功能,但RunnerGo提供成员权限管理,支持多团队多项目协作。
产品使用
RunnerGo采用B/S架构,用户通过浏览器登录平台即可使用全部功能,作为国产软件国产化适配成都更高。
LoadRunner采用C/S架构,具体分为Virtual User Generator(虚拟用户生成器)、Controller(控制器)和Analysis(分析器)三大部分产品功能用起来不统一且无国产化适配。
产品功能
资源配置
RunnerGo支持分布式集群部署,在企业级性能场景下可根据具体需求配置各个服务器的并发承载量,而且RunnerGo基于Go语言研发相比较传统测试语言运行时资源消耗更小、速度更快,性能更强。
LoadRunnerGo同样支持分布式,但其部署条件相对较高,并且进行测试时会占用更多的系统资源,如CPU、内存和磁盘空间。
脚本配置
RunnerGo的各项操作配置都是傻瓜式操作,压测场景支持Flow、List两种可视化场景配置方式,而且平台内支持接口管理,场景接口发生改动时会自动同步改动内容。平台内置了六大压测模式,如阶梯模式,并发模式,满足多种场景。RunnerGo支持接口权重压力分流技术,还原真实的测试场景。
LoadRunner的性能脚本支持录制浏览器操作生成,可根据相应的操作流程生成测试脚本。
接口协议支持
RunnerGo支持常见的HTTP、DUBBO、SQL、TCP、WS等主流协议,支持从各个测试平台导入接口数据。
LoadRunner的协议支持更全面,包括Remote Access protocols(Citrix、RDP、RTE等)、GUI protocols(Web)、Web protocols(Oracle、Flex、SAP)、loT procotol(MQTT)等等,但需要购买,一般团队选择购买主流协议,节省成本。
测试报告
RunnerGo可以实时查看测试报告、debug日志、压力机情况,满足大多数企业的测试报告需求,且测试任务完成后会生成一个报告链接,点击即可查看详细测试报告,支持通知到第三方,还支持导出测试报告。
LoadRunner Analysis 组件通过预制多种数据模版对性能测试的结果进行展示和分析,例如:虚拟用户数的图表、事务数相关的图表、错误信息统计的图表、Web服务器性能的图表、网页诊断和页面组件分析的图表、操作系统的监控数据图表等等,种类繁多,相应的配置操作也较为繁琐。
其他功能
RunnerGo作为一个测试平台,还支持UI自动化测试、项目管理功能。
UI自动化测试支持录制测试脚本,可录制浏览器的功能测试操作,做到一次录制多次复用
项目管理支持需求管理、迭代管理、缺陷管理、测试管理,项目管理中可对项目进度进行把控,对缺陷进行追踪,可以编写测试计划、测试用例。
总结
RunnerGo与LoadRunner在各自的领域都有着其独特的产品定位,LoadRunner作为性能测试的标杆产品,性能部分强大,对于大型企业级性能场景适配程度更高,对企业的购买力也要求更高,适合对性能有特殊要求的大型企业。RunnerGo对于整体的测试功能支持更全面,无论是性能测试、接口测试、UI自动化测试、项目管理都可以满足个人以及大部分企业的测试需求,尤其是有测试平台建设需求的企业。