谈「效」风生 | 「自动化」聊起来简单,做起来难

news2024/11/24 1:09:17

#第4期:“自动化”聊起来简单,做起来难#

在上一期《如何找到现有研发体系的「内耗问题」》中,我们聊了评估现有研发体系,正确的找到“体系内耗问题”,是改变研发体系的第一步。本期我们继续聊下一个关键点就是研发体系中引入自动化,看看下面两位嘉宾朋友是如何理解”自动化“这件事。

受访者A:某电商平台 架构师 马经理

受访者B:某金融企业 效能工程师 汪工

在提升研发效能的时候,“一切自动化”是大家都在追求的。在你们的研发体系中,是如何做“自动化”的?

A:说到“一切自动化”,这确实是研发体系所追求的。我们在最初进行自动化改造时,首先在单个环节上用自动化工具解决效率问题,再根据流程打通工具链,最后实现全流程的自动化平台

通过自动化工具解决单点效率问题,这个方法前期效能提升非常显著,可以节省很多人。

    • 第一个最关键的,同时也是我们早期进行的单点突破,就是实现自动化构建发布,像是大家都在使用的Jenkins、Travis、Ansible、Docker等。

    • 第二个单点突破就是实现自动化测试,这部分其实是比较难做的部分,不仅是要考虑合适的工具,更重要的是系统性考虑开发流程、产品架构、技术栈等,自动化测试的目的就是快速反馈研发中的安全质量问题。

解决单点的效率问题后,就是打通工具链,看全局其实还有很多环节可以进行自动化升级,包括接入流程管理、代码托管、代码扫描、测试执行、日志监控等等。每个环节需要做多种工具的选型,需要根据自身实际情况灵活选用调整工具链。最终目的是打通各部门之间的壁垒,从产品经理开始串联研发、测试、安全、运维各环节,减少「内耗」。

打通工具链后,进一步提升研发效能的方式就是打造平台,实践DevOps或DevSecOps,这也是很多大企业的必经之路,市面上也有很多“一站式、一体化XX平台”来给中小企业提升效能。通过打造平台,实现研发流程的标准化、自动化和可持续化,提高研发效率和质量,缩短产品上线时间,更快地满足市场需求。所以,除了集成打通工具链外,平台还需要拥有更强大的可视化管理能力、分析能力和有效的度量体系,全流程引导效能的提升。

B:我们这边一直实践的DevSecOps,开始也是单点优化,然后慢慢升级成平台。开始做自动化的时候,从以下几个方面入手。

首先,需要明确研发自动化的目标和要求,虽然也是从单点开始做,但需要一个整体的目标,如提高研发效率多少、降低多少成本、团队资源配置等,这是考量我们自动化能力的指标。

其次,在团队建设方面,我们这边因为涉及到很多开源工具的开发,并且安全要求也相对较高,虽然自动化可以节省人工成本,但团队增加人员却是必须的。因为业务在不断发展,需要团队拓展自动化工具的能力或改进流程,所以要增加相关人才,这是我们要时刻跟进投入产出的数据。

再次,自动化工具选型很关键,错误的选择不但影响研发的工作量,更会影响未来产品的走势。因此需要根据业务特点来选型,我们在同一类工具上会选择多个产品,来测试每个产品的效果,从而选出最优工具。

因为我们是实践DevSecOps,要满足安全性,产品上线后的安全监控和响应也需要更高效的自动化工具,来满足严格的安全标准。

你们认为,做“自动化”过程中,最困难的地方在哪里?

A:对我来说“自动化测试”是个难点,相信大家也是这么认为。对于产品来说,测试是必须做的,同样也是非常耗时的,所以自动化测试的价值不言而喻。很长一段时间,我们想法局限于单点工具的使用和改进,努力节省测试时间,但从全局看研发效能的提升效果没有达到预期,为什么?

其实,我们在要求提升迭代速度的时候,需求和研发速度提升,使得测试任务加剧,测试时间被严重压缩,产品功能越来越多,测试的范围也越来越大。简单的说就是,测试不够用了。如何提升自动化测试效率,成为了我们一个长期的命题。

但自动化测试除了依靠工具外,还需要从全局考虑,抓住“人”和“方法”两个方面。在“人”的方面,要求研发人员提升测试能力,测试团队配置测试架构师和专家,对测试方案、技术选型、平台对接负责。在“方法”上,拆分小的团队,团队支撑的业务集中,尽量保持团队对业务场景保持统一的认识和理解。

在我们现阶段的一个共识是,通过自动化测试实现效能提升,不只是测试团队的工作,而是全研发体系的工作。

B:“自动化测试”在我们这也是难点,刚刚汪工已经说的比较多了,我再讲一下其他难点。在我们这边来说,在构建自动化工具链上,技术选型也是比较大的难点。首先,技术选型需要考虑企业实际情况,包括企业规模、业务要求、研发团队水平、基础资源等方面。

其次,需要考虑技术的成熟度和稳定性。因为我们经常探索一些开源项目,一些新兴的开源技术往往有很高的潜力和创新性,但是可能不够稳定,存在风险。有些我们采购外部厂商成熟的产品,依赖厂商提供的服务能力。

最后,还需考虑工具链的综合效益和可扩展性,包括具体的研发场景、业务规划,未来的扩展方向等,以便在保证交付质量的前提下更好地推动自动化工具链的后续发展。

本期我们围绕“自动化”聊了两个问题,两位嘉宾回答的比较深刻。我们总结几点:

1.  自动化实践的三个步骤:

a.  单点使用自动化工具,提升单点效率。

b.  打通工具链,建立自动化工具链。

c.  向平台化升级,持续改进。

2.  自动化实践两大难点:

a.  通过自动化测试实现效能提升,不只是测试团队的工作,而是全研发体系的工作。

b.  在进行技术选型时,需要通过全面的调研、深入的分析和认真的取舍,才能实现自动化工具链的可靠性、高效性、扩展性。

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

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

相关文章

多USB工业相机的使用

USB相机的使用 USB3.0引入了“SuperSpeed”(SS)传输速率。理论传输速度高达625 MByte/s, SuperSpeed传输可以在短时间内传输大量数据,适用于许多视觉应用。给出的带宽上限是一个理想化的理论值。对于实际应用,主机控制器(Host Controller&am…

红黑树下岗,内核新数据结构上场:maple tree!

在外界看来,Linux 内核的内部似乎变化很少,尤其是像内存管理子系统(memory-management subsystem)这样的子系统。然而,开发人员时常需要更换内部接口来解决某些长期存在的问题。比如,其中一个问题就是用来保…

五个程序员必要的在线绘图工具

说到程序员,每个人的第一反应都是敲代码。事实上,画图也是程序员必备的技能之一。各种流程图、架构图、UML类图、线框图等多种多样。 1.即时设计 即时设计是一款免费的在线 UI 设计工具,无系统限制,浏览器打开即可使用&#xff…

算法修炼之练气篇——练气七层

博主:命运之光 专栏:算法修炼之练气篇 前言:每天练习五道题,炼气篇大概会练习200道题左右,题目有C语言网上的题,也有洛谷上面的题,题目简单适合新手入门。(代码都是命运之光自己写的…

Recoil在React中完整实践方案

先让我吐槽一下,Recoil这个玩意文档是真的不友好,另外发现国内很少有人去用Recoil,然后好多文章都是照搬官网文档,我特喵的要是出了问题直接看官方不就行了。如果你碰巧看到这个文章了,就细心看完吧,绝对的…

从一文不值到数字黄金 诞生于极客圈的比特币,究竟经历了什么?

比特币作为技术性很强的神奇发明,从一文不值到数字黄金,在发展过程中不仅为金融范式转变奠定了基础,改变了人们感知和交易价值的方式,也为无数数字资产开辟了一条可追随的道路。 比特币之所以复杂,是因为技术属性、金融…

在线未注册域名批量查询-域名注册批量查询

域名批量注册查询 域名批量注册查询是一种工具,可以帮助用户批量查询并注册多个域名。这种工具通常被域名管理者、品牌专家、互联网营销人员等使用。 以下是域名批量注册查询工具的优点: 提高效率:与手动单独注册域名相比,域名批…

机器学习基础(粗学)【未完待续】

卷积神经网络粗学 卷积:用卷积求系统的存量 卷积,就是把输出函数反转一下。。。。(离谱) 实际不是从物理意义上理解的函数翻转,而是应该从数学意义上,去理解卷积的…

六、IDEAJ同一个服务启动多台服务器的方法

目录 1、打开启动类配置窗口--->选择Edit Configurations进入配置窗口 2、从左侧Springboot应用选择需要启动的多台服务器(服务只要启动一次就会在此窗口有显示)--->勾选Allow parallel run菜单(默认不勾选,则只能启动一台…

【JAVAEE】常见的锁策略

目录 1.常见的锁 1.乐观锁&悲观锁 2.轻量级锁&重量级锁 3.读写锁&普通互斥锁 4.自旋锁&挂起等待锁 5.可重入锁&不可重入锁 6.公平锁&非公平锁 2.CAS 1.什么是CAS 2.CAS的应用 1.实现原子类 2.实现自旋锁 3.synchronized用到的锁策略 1.s…

RobotFramework +appium实现Android自动化

环境准备 1、已安装python37版本(SDK、JDK均已安装完成,且环境变量都配置好了)。 2、已安装robotframework。 3、已安装安卓模拟器(本文使用夜神模拟器)。 4、安装appium(下载地址:http://6…

立创梁山派学习笔记——GPIO输出控制

梁山派 前言开发板简介GD32F407ZGT6官方资源数据手册1.系统框图2. 引脚复用表3.命名规则4.其他 用户手册固件库与PACK包 开发环境搭建立创官方的资料包资料齐活,开发1.工程搭建2.使用寄存器点亮LEDGPIO数量LED的GPIO口GPIO的配置流程GPIO的寄存器1.端口控制寄存器&a…

假如你是一位测试主管,如何判断一名测试工程师是否优秀?

假如你是一位测试主管,去评价一名测试工程师是否优秀,那么你将如何去判断呢?你最看重的是哪方面的能力呢? 对于这个问题,是不能一概而论的,要分为两种情况,情况不同,答案一定是不同…

自媒体素材哪里找?这5个网站告诉你答案。

做自媒体最需要的就是各种视频、配乐、图片等素材了。想要图文好,那就必须要一个好封面图。想要视频好,那就必须要有好的素材和配乐。 那要如何找到这些素材?看这几个网站就够了。 1、菜鸟图库 https://www.sucai999.com/video.html?vNTY…

基于Kubernetes集群构建大中型企业CICD应用平台(1)-- devOps

一、DevOps介绍 软件开发最开始是由两个团队组成: 开发计划由开发团队从头开始设计和整体系统的构建。需要系统不停的迭代更新。 运维团队将开发团队的Code进行测试后部署上线。希望系统稳定安全运行。 这看似两个目标不同的团队需要协同完成一个软件的开发。 …

【游戏逆向】《创世战车》玩家遍历分析

对于这种FPS游戏来说,玩家的血量并不是很关键,不过想分析玩家对象内的其他信息,还是要从血量作为突破口的。 但是由于试驾场是很少有发包的,包括战车的攻击等等,所以只能通过正常匹配战斗进行扫描。又由于匹配模式中没…

局域网会议软件

局域网会议软件怎么选?连通宝视频会议系统,当然也可以从以下维度进行视频会议选择。 1、部署简单方便连通宝视频会议系统部署简单,五分钟部署专业级的视频会议系统,系统支持主流视频会议设备,支持桌面型会议、机顶盒型…

字节面试挂在2面,复盘总结了经验,决定再战一次.....

先说下我基本情况,本科不是计算机专业,现在是学通信,然后做图像处理,可能面试官看我不是科班出身没有问太多计算机相关的问题,因为第一次找工作,字节的游戏专场又是最早开始的,就投递了&#xf…

算法修炼之练气篇——练气十一层

博主:命运之光 专栏:算法修炼之练气篇 前言:每天练习五道题,炼气篇大概会练习200道题左右,题目有C语言网上的题,也有洛谷上面的题,题目简单适合新手入门。(代码都是命运之光自己写的…

【2023 阿里云云计算工程师 ACP 认证练习题库】01、VPC 专有网络题库

目录 一、多选题 1 1 答案与解析 2 2 答案与解析 3 ​3 答案与解析 辑 4 4 答案与解析 5 5 答案与解析 6 ​6 答案与解析 7 7 答案与解析 8 ​8 答案与解析 9 ​9 答案与解析 10 ​10 答案与解析 11 ​11 答案与解析 12 ​12 答案与解析 13 ​13…