LoadRunner VS RunnerGo:主流性能测试工具对比谁更胜一筹?

 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自动化测试、项目管理都可以满足个人以及大部分企业的测试需求,尤其是有测试平台建设需求的企业。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/727187.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Rust 库是如何根据 features 实现相关 Trait 的?

看下面配置文件中的依赖库说明: [dependencies] serde { version "1", features ["derive"] } serde_json "1" chrono { version "0.4", features ["serde"] }serde 是如何实现 derive 相关 Trait 的&…

宠物空气净化器值得入手吗?选购宠物空气净化器关注哪些方面?

一开始养猫时,每天看着可爱的猫咪在家里快乐奔跑,让人心情愉悦。然而,作为铲屎官都知道,猫咪会掉毛,特别是在换毛期间,地板、沙发上都会有一大堆猫毛,甚至衣服也可能沾满猫毛。养猫家庭中&#…

宠物空气净化器值得不值得买?各品牌宠物空气净化器怎么选?

随着越来越多的家庭选择养宠物,我们也面临着宠物环境卫生和家庭生活舒适度的问题。根据一项调查显示,有70%的养猫家庭中的铲屎官曾经遭受过猫藓或猫毛过敏、鼻炎等问题的困扰。尤其是对于家中有老人、小孩和孕妇等免疫力较低的人来说,他们的抵…

2024/3/7打卡公共子序列---动态规划问题

题目: 给定两个长度分别为 N 和 M 的字符串 A 和 B,求既是 A 的子序列又是 B 的子序列的字符串长度最长是多少。 输入格式 第一行包含两个整数 N 和 M。 第二行包含一个长度为 N 的字符串,表示字符串 A。 第三行包含一个长度为 M 的字符串&am…

uniapp聊天页面之消息滚动

目录 1、HTML部分 2、 Js部分 3、注意,滚动方法调用 1、HTML部分 用整个scroll-view的高度减去所有聊天内容的高度,得到的就是滚动条需要下拉的距离,即可使聊天页下拉至最底部。 需要给 scroll-view一个固定的高度,并获取消息…

Java解决IP地址无效化

Java解决IP地址无效化 01 题目 给你一个有效的 IPv4 地址 address,返回这个 IP 地址的无效化版本。 所谓无效化 IP 地址,其实就是用 "[.]" 代替了每个 "."。 示例 1: 输入:address "1.1.1.1" 输出…

算法-删除有序数组中的重复项

Q:给你一个有序数组nums ,请你原地删除重复出现的元素,使得出现次数超过两次的元素只出现两次 ,返回删除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用O(1)额外空间的条件下完成。 第一种解决方法&a…

高质量的外贸开发信标题都是怎样的?

今天在网上看到很多不错的开发信标题,觉得不错,收藏起来分享给大家学习。 标题是吸引读者打开邮件的第一印象,对于外贸销售人员来说,精心撰写开发信标题至关重要。客户收到的邮件那么多,那么在客户收件箱中的5至20个客…

vue项目如何禁止屏幕缩放,vue项目进行浏览器进行缩放

第一步 找到 html 文件 &#xff0c;在head中添加一行属性代码 <meta name"viewport" content"widthdevice-width,initial-scale1.0 ,maximum-scale1.0, user-scalable0">第二步 找到 App.vue 文件 &#xff0c;在 script 模块中 添加下方代码 // …

几个市场主流伦敦银交易系统简介

很多人在伦敦银交易中都希望建立一个交易系统&#xff0c;依靠这个系统&#xff0c;我们在市场中能够建立稳定盈利的基础。下面我们就来简单地介绍几个市场主流的伦敦银交易系统。 均线交易系统。这是很多人使用的伦敦银交易系统&#xff0c;一般适用于趋势行情中。均线交易系统…

如何定期跟踪和评估OKR的进度

设定跟踪周期 根据公司的实际情况和需要&#xff0c;设定合适的OKR跟踪周期。这个周期可以是每周、每月或每季度&#xff0c;以便及时了解OKR的进展情况。 使用进度图表 利用进度图表来可视化OKR的完成情况。这可以帮助团队更直观地了解目标的进度和剩余任务量&#xff0c;以…

uniapp直接连接wifi(含有ios和安卓的注意事项)

前言 小程序中直接连接wifi-----微信小程序 代码 启动 //启动wifistartWifi() {return new Promise((resolve, reject) > {uni.startWifi({success: (res) > {console.log(启动wifi 成功, res)resolve(true)},fail: (err) > {console.error(启动wifi 失败, err)uni.s…

【机器学习】【决策树】分类树|回归树学习笔记总结

决策树算法概述 基本概念 决策树&#xff1a;从根节点开始一步步走到叶子节点&#xff0c;每一步都是决策过程 对于判断的先后顺序把控特别严格 一旦将判断顺序进行变化则最终的结果将可能发生改变 往往将分类效果较佳的判断条件放在前面&#xff0c;即先初略分在进行细节分…

linux开发板设置密码登录

1、设置终端界面登录 inittab ::sysinit:/etc/init.d/rcS #::respawn:-/bin/sh ttyAMA0::askfirst:/bin/login #::respawn:/sbin/getty -L ttyAMA0 115200 vt100 #::restart:/sbin/init2、登录名 passwd root:x:0:0:root:/:/bin/sh3、密码加密 shadow root:$6$ButLCrnulfU4g…

http cookie,tcp syncookie 和 tcp fastopen 杂谈

syncookie 和 fastopen 的应用场景不赘述。它们均使用了 cookie 机制&#xff0c;返回给 client&#xff0c;再由 client 带回来用作识别。 说到它们的具体实现时&#xff0c;只要涉及 “识别” 机制&#xff0c;很多人都默认该机制需要 “解码 cookie”&#xff0c;“以 key …

c 枚举与字符串对 的几个方法

c使用枚举与字符串对的几种方法&#xff0c;供参考。 一 enum name { Zero, One, Two } ; const char* name[] {"Zero", "One", "Two"};//遍历 int size sizeof(name)/ sizeof(name[0]); //或字符串数组后加个空指针。 const char** ptr ; …

中国联通云技术,有哪些产品

中国联通国际公司&#xff0c;作为中国联通集团对外拓展国际市场的重要窗口与平台&#xff0c;已在国际电信领域取得了显著成就&#xff0c;其产品线涵盖了从基础联接到云端服务的多个层面&#xff0c;旨在为全球用户提供一体化、端到端的高品质信息服务解决方案。 大联接产品…

Mybatis-Plus——06,CRUD查

CRUD查 一、普通查询1.1、通过id查询单个用户1.2、通过id查询多个用户1.3、条件查询 通过map封装 二、分页查询2.1、配置分页插件2.2、运行方法 三、通过wrapper条件构造器查询3.1、查询name不为空&#xff0c;email不为空&#xff0c;age大于18的用户3.2、查询nameJone的用户3…

2024普通商家如何通过短视频矩阵快速破圈?

一个账号发1条作品&#xff0c;每条作品1000曝光覆盖1000人 十个账号发10条作品&#xff0c;每条作品1000播放量覆盖100000人 一百个账号发100条作品&#xff0c;每条作品1000播放量覆盖10000000人...... 如果我们有300个、500个账号甚至更多呢&#xff1f;自然每天能够覆盖到…

哪款洗地机值得买?希亦、追觅、米博、美的谁才是行业标杆?

在家庭清洁中&#xff0c;最让我们苦恼的便是厨房垃圾了&#xff0c;油渍跟食物残渣&#xff0c;用扫把扫了后&#xff0c;要反反复复的湿拖五六次&#xff0c;期间不停的手洗拖把&#xff0c;这套流程下来&#xff0c;往往容易腰酸背痛&#xff0c;手指皱巴巴的&#xff0c;这…