行业资讯 Tango 低代码引擎正式开源;如何通过变异测试助力 Java 项目单测覆盖率提升;五个关键问题让单元测试的价值最大化…

TesterHome小助手 · 2023年09月01日 · 3445 次阅读

一周实践案例推荐,TesterHome 社区整理行业技术、管理方面的好文章分享给大家,期望与大家一起进步,扩大视野!
(点击每篇文章标题可阅读详情)

​1.网易云音乐 Tango 低代码引擎正式开源!

Tango 是一个用于快速构建低代码平台的低代码设计器框架,借助 Tango 只需要数行代码就可以完成一个基本的低代码平台前端系统的搭建。Tango 低代码设计器直接读取前端项目的源代码,并以源代码为中心,执行和渲染前端视图,并为用户提供低代码可视化搭建能力,用户的搭建操作会转为对源代码的修改。借助于 Tango 构建的低代码工具或平台,可以实现 源码进,源码出的效果,无缝与企业内部现有的研发体系进行集成。

2.如何通过变异测试助力 Java 项目单测覆盖率提升

通常在软件测试过程中,我们会关注测试用例的代码覆盖率。理想情况下,测试用例应该能够覆盖所有业务代码的函数、方法和模块,从而实现 100% 的代码覆盖率。然而,达到理想目标并不意味着测试用例已经健全。接下来,笔者将向您介绍一种称为 “变异测试” 的方法,它可以帮助我们实现目标覆盖率并补充测试用例。

3.五个关键问题让单元测试的价值最大化

在推广单元测试的过程,通过与研发同学的交流,发现大家对单元测试的探讨还是存在薄弱的地方。这个薄弱的地方既不是抽象的单元测试理论,也不是具体的单元测试工具,而是理论与实践结合的单元测试策略。

就像测试策略一样,单元测试策略决定了我们能否把单元测试真正做好 (而不是流于形式),并且让单元测试产生的价值最大化 (而不是与集成测试做类似甚至重复的事情)。

本文讨论的单元测试策略不是空泛的,而是来自于单元测试实践中遇到的真实问题,如:用例设计问题、边界测试问题、Mock 测试问题、与集成测试的分工问题、度量问题。

4.哔哩哔哩 Android 客户端基于依赖注入实现复杂业务架构探索

B 站作为一个视频网站,视频播放页作为用户的核心消费场景,其重要程度可想而知。目前 APP 客户端的主要播放页场景主要有 UP 主稿件播放页,Story 模式播放页,直播播放页跟番剧影视播放页。每一个都是大量业务的汇总点作为用户核心消费场景,需要在承接各种业务到播放页的转化,还要负责承接各业务在播放页的功能展示。可以说播放页代码复杂度属于客户端最高的代码之一,这不仅仅是因为播放页本身的功能复杂,还因为播放页往往需要融合大量外部业务功能。复杂的功能自然会产比较高的代码复杂度,而高代码复杂度又往往意味着高代码维护成本。

另一方面,在这个降本增效的大时代之下,公司层面上决定把 UP 主稿件播放页与番剧影视播放页进行页面合并,这样既可以确保用户播放体验尽可能一致的,又避免了相同功能又不需要重复开发从而降低开发成本,并且后续课堂业务也会融合进来。然而这也意味着在这个新的融合播放页中会承载直接三个播放页的代码复杂度。为此我们需要探索出一种新的架构模式来满足当前的业务诉求。

5.AIGC 生成 3D 模型探索与实践

本文将以 AIGC 生成 3D 模型探索与实践为主题,结合电商平台的应用需求,探讨如何利用 AIGC 技术实现 3D 模型的个性化生成、大规模生产和快速推广,以及其对于电商行业的推动作用。

6.实时数仓混沌演练实践|得物技术

目前实时数仓提供的投放实时指标优先级别越来越重要,不再是单独的报表展示等功能,特别是提供给下游规则引擎的相关数据,直接对投放运营的广告投放产生直接影响,数据延迟或者异常均可能产生直接或者间接的资产损失。

实时数仓业务侧的混沌演练,从 0 到 1,在经过一系列的探索实践后,通过主备链路比对方式,演练期间对于异常波动的指标,可以快速识别感知,从演练结果上,取得了不错的成效,但也存在一定的局限性。这些都需要团队进一步去探索、解决,同时在演练的过程中,我们将不断积累、丰富演练 case、完善演练库,后续计划通过引入工具(平台)、建立演练协助机制、定期定时演练等手段,使混沌演练更加自动化、规范化、常态化,提高实时数仓整体数据稳定。

7.C++ 知识体系总结:语言核心与代码工程

都 2023 年了,还在说 C++,难道不应该多讲讲 golang/rust/python 吗?其他公司我不知道,但在至少在腾讯内,如果能把 C++ 代码写好,仍然有不错的饭碗,比如游戏/微信后台等。

梳理一下 C++ 的知识体系,温故而知新。文章很长,建议收藏。

8.浅谈业务解耦小工具 - Spring Event

Spring Event 是 Spring 框架中的一个事件驱动模型,可以用来在不同的组件之间传递消息和响应事件。Spring Event 使用 ApplicationEventPublisher 发布事件,通过实现 ApplicationListener 监听事件。这种模式可以解耦复杂的业务依赖。用@EventListener@TransactionalEventListener 注解处理函数,可以提供更复杂的条件过滤,或者事务状态感知,支持业务实现更复杂的事件处理。

暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册