途游游戏 x 极狐GitLab “通关” DevOps :单元测试从无到优,覆盖率 0→80%

news2024/11/18 10:20:06

目录

4 个工具孤岛 → 极狐GitLab 全家桶,

被动的「人找进度」 → 高效的「进度找人」

把 Code Review 做扎实

代码质量「向左移」,修复成本「往下降」

从无到「优」

自动执行单元测试,覆盖率 0→80%


你喜欢玩游戏吗?

最近在玩什么游戏?

你是哪款游戏的“死忠粉”呢?

人口红利消退,流量竞争越发激烈的故事,已经上演多年,游戏行业亦如此,只有持续创新和优质体验,才能在存量市场中破局。

然而,创新只是一款游戏作品的开始,通过高效研发让创新落地、快速迭代提升游戏体验,才能抓住玩家的心。

作为手游行业的领先企业,途游游戏如何将高效能研发体系带到游戏中?与极狐GitLab 产生了哪些化学反应?跟随视频去了解一下~

途游游戏 x 极狐GitLab | “通关” DevOps :单元测试从无到优,覆盖率 0→80%

4 个工具孤岛 → 极狐GitLab 全家桶,

被动的「人找进度」 → 高效的「进度找人」

之前,途游游戏在项目管理、需求管理、Bug 管理、CI/CD 等研发环节中,都选取了优秀的产品。但是流程割裂,存在较多需要人为干预的断点,操作繁琐;且在不同平台间搬运信息,增加了出错的概率。

现在,途游效能效率团队将研发流程“搬”到了极狐GitLab 上,将需求管理、代码审核、CI/CD、代码准入、单元测试、安全扫描等流程融合在一体化 DevOps 平台上,形成更体系、更规范的研发流程。

例如,现在研发需求、Bug 反馈和开发代码自动关联,需求开发情况“随时看”,Bug 修复进展“在手边”,还会同步自动通知对应测试人员,从“人找进度”到“进度找人”,大幅提升研发效率。

图片

而且,极狐GitLab 这种 All in one 一站式特性,屏蔽了众多工具链的集成、安装细节,让团队中的每个人无需关注工具问题,而可以“沉浸式”投入到更高价值的工作。

把 Code Review 做扎实

代码质量「向左移」,修复成本「往下降」

在使用极狐GitLab 前,途游效能效率团队因为缺乏合适的工具和流程支撑,Code Review 落地实践仍有很大提升空间。为保障代码质量,产品上线前,团队往往加班加点,集中突击进行测试,压力山大。

通过使用极狐GitLab  和 JiHu flow ——工具和流程相辅相成,途游效能效率团队真正落地了 Code Review 。

现在,所有代码通过极狐GitLab Merge Request 提交,经指定的相应负责人多层 Review 后,再由 Approver 最终合并。这相当于质量左移,有问题及时修复,而不是积小成大,等后期投入更巨大的精力和成本。

“我们把 Code Review 做扎实,让问题在代码合并之前就能被发现,修复起来成本最低;而不是等到产品发布到用户手里再发现。”途游效能效率研发负责人刘勇说道。

图片

从无到「优」

自动执行单元测试,覆盖率 0→80%

“原来我们没有做单元测试,现在可以了。因为极狐GitLab 可以通过 CI 自动化执行单元测试,还可以把单元测试的覆盖率可视化出来”,刘勇说:“现在单元测试覆盖率应该能达到 70%-80% 。”

基于极狐GitLab 提高单元测试 ROI 的实践与体会,刘勇曾在极狐GitLab 江狐会上分享《途游游戏敏捷开发工程实践》,并归纳了单元测试四步骤(AAAC):

  • Arrange 筹备:为测试做准备;

  • Act 执行:给予特定行为所需的上下文和输入并执行;

  • Assert 断言:判断结果是否符合预期;

  • Clear 清理环境:为后续测试保证上下文干净,测试之间彼此隔离没有依赖性。

获取单元测试完整实践指南,请戳 👇

途游游戏 DevOps 实践|都说「单元测试」好,「AAAC四步法」少不了

图片

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

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

相关文章

概念辨析 | SAR运动补偿和自聚焦技术:深入探索雷达图像

注1:本文系“概念辨析”系列之一,致力于简洁清晰地解释、对比复杂而专业的概念。本次辨析的概念是:合成孔径雷达(SAR)的运动补偿和自聚焦技术。 SAR运动补偿和自聚焦技术:深入探索雷达图像 Synthetic Aperture Radar (SAR) 1 背景介绍 合成孔径雷达(Synthetic Aperture R…

打印机地址换了怎么连接

原先的打印机地址:172.16.17.10 添加新打印机地址:winR打开,在运行里输入更改后的地址(\\ip)\\172.16.17.40确定,右键链接。就可以在你要用到的地方看到这个设备了

ESD防静电监控系统在SMT产线中的应用案例

作为电子厂的关键制造环节之一,SMT(表面贴装技术)产线的效率和质量对企业的竞争力至关重要。为了提高生产线的管理效率和保障生产环境的质量,许多电子厂开始采用MES生产管理系统和ESD防静电监控系统的综合解决方案。 在SMT产线中安…

高电压功放的优点有哪些呢(高压放大器)

高电压功放是电子设备中的一种特殊类型的功率放大器,具有独特的优点,被广泛应用于各种领域。高电压功放可以将低电压信号放大到较高的电压水平,实现对大功率负载的驱动。下面我们来看看一下高电压功率放大器的优点。 1.宽电压范围 高电压功放…

8月3日上课内容 LNMP精讲

LNMP:目前成熟的企业网站的应用模式之一,指的是一套协作工作的系统和相关文件 能够提供静态页面服务,也可以提供动态web服务。 这是一个缩写 L linux系统,操作系统。 N nginx网站服务,前端,提供前端的静…

Dockerfile构建Redis镜像(yum方式)

目录 Dockerfile构建Redis镜像 1、建立工作目录 2、编写Dockerfile文件 3、构建镜像 4、测试容器 Dockerfile构建Redis镜像 1、建立工作目录 [roothuyang1 ~]# mkdir redis [roothuyang1 ~]# cd redis/ 2、编写Dockerfile文件 [roothuyang1 redis]# vim Dockerfile 配置如…

论文代码学习—HiFi-GAN(4)——模型训练函数train文件具体解析

文章目录 引言正文模型训练代码整体训练过程具体训练细节具体运行流程 多GPU编程main函数(通用代码)完整代码 总结引用 引言 这里翻译了HiFi-GAN这篇论文的具体内容,具体链接。这篇文章还是学到了很多东西,从整体上说&#xff0c…

Med-PaLM M走向通用医学AI(2023+Towards Generalist Biomedical AI)

摘要: 医学本质上是多模式的,具有丰富的数据模式,包括文本、成像、基因组学等。灵活编码、集成和大规模解释这些数据的通才生物医学人工智能(AI)系统可以潜在地实现从科学发现到医疗服务等有影响力的应用。为了使这些模型的发展,…

记录一个Spring自己注入自己的一个坑

问题代码如下: 原本是要在ActiveMqListener中注入ActiveMqSender方法的,在自动补全的时候没有注意,变成了图上的情况。 该问题会导致服务启动时卡住,不报错也没有异常信息。代码上也不会有任何提示。排查起来比较困难。在此特别记…

mysql 、sql server 常见的区别

NULL   处理 MySQL IFNULL(col , val) SQL Server ISNULL(col,val) 表名、列名等 一般不推荐用保留字 ,如果非要保留字 MySQL 用用着重号,即 反引号 包括 select col from GROUP SQL Server 用用着重号…

2023-07月:人工智能趋势总结

疯狂AI周! 我将详细介绍本周所有最重要的新闻,所以请坐下来,放松,享受更新! 1. Android 版 ChatGPT 本周最令人兴奋的消息之一是宣布推出适用于 Android 的 ChatGPT 移动应用程序。 您已经可以从 Google Play 商店预…

2023年国家留学基金委(CSC)青年骨干教师项目即将开始申报

国家留学基金委(以下简称CSC)的青年骨干教师出国研修项目(即高校合作项目),将于2023年9月10-25日进行网上报名及申请受理。知识人网小编特提醒申请者注意流程及政策,以防错过申报时间。 青年骨干教师项目&a…

从比亚迪海豹拆解,详看电机技术

样件采购请联:shbinzer 拆车邦 样件采购请联:shbinzer 拆车邦 比亚迪海豹最大的亮点就是全新的纯电平台e平台3.0,比亚迪最新技术的结晶,不仅延续了比亚迪引以为傲的超安全刀片电池,并且使用了电池与车身融为一体的设计…

使用tinyxml解析和修改XML文件

首先要清楚XML文件包含哪些元素&#xff1a; 他是由元素、文本或者两者混合物组成。元素可以拥有属性&#xff0c;元素是指从开始标签到结束标签的部分。 <?xml version"1.0" encoding"UTF-8" ?> <books><book id"1001">&…

企业邮箱费用详解!了解企业邮箱的费用及其相关信息

对于需要可靠的邮箱平台的企业来说&#xff0c;企业邮箱可能是最好的解决方案。有许多供应商提供企业邮箱服务&#xff0c;他们通常每月都有相应的费用。 在考虑企业邮箱的成本时&#xff0c;有几件事要记住。首先&#xff0c;您应该考虑使用邮箱服务的用户数量&#xff0c;因为…

【Leetcode】73.矩阵置零

一、题目 1、题目描述 给定一个 m x n 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。 示例1: 输入:matrix = [[1,1,1],[1,0,1],[1,1,1]] 输出:[[1,0,1],[0,0,0],[1,0,1]]示例2: 输入:matrix = [[0,1,2,0],[3,4,5,2],[1,3,1…

[Linux]手把手教你制作进度条小程序

[Linux]制作进度条小程序 文章目录 [Linux]制作进度条小程序C语言中的\n和\r字符缓冲区的刷新策略进行进度条代码编写 C语言中的\n和\r字符 C语言中字符分为两种: 可显字符控制字符 其中可显字符就是字符a这类的字符&#xff0c;控制字符就是\n这种控制字符。 对于我们制作…

车载开发智能座舱技术——【Surface渲染流程】

SurfaceFlinger智能座舱技术是一种车载开发中的创新技术&#xff0c;它能够实现高效的图形渲染和多媒体处理&#xff0c;为驾驶员和乘客提供更好的车内体验。本文将介绍SurfaceFlinger智能座舱技术的概念和原理&#xff0c;并详细解析Surface的渲染流程和相关代码示例。 一、S…

解决多开 sap 瓶颈 需要用同样的权限 打开,都是administrators 或者都是 普通用户

设置排程情况下&#xff0c;用户登录时运行&#xff0c;用最高权限运行 If my problem description is very simple, sorry. But I found the reason: the startup permissions of sap and python are not the same. For example, both of these should be run with admini…

如果室温超导被验证成功,它会是算力的永动机吗?

近期&#xff0c;有韩国科学家团队表示&#xff0c;他们发现了全球首个室温超导材料。室温超导&#xff0c;即在室温条件下实现的超导现象。而“超导”是指导体在某一温度下&#xff0c;电阻为零的状态。 如果室温超导被验证成功且可以被应用&#xff0c;没有电阻的超导体基本不…