一周实践案例推荐,TesterHome 社区整理行业技术、管理方面的好文章分享给大家,期望与大家一起进步,扩大视野!
(点击每篇文章标题可阅读详情)
近日,沃尔沃汽车宣布将在瑞典哥德堡建立全新的软件测试中心。全新软件测试中心预计初步耗资约 3 亿瑞典克朗,建成后整体规模将成为沃尔沃汽车目前最大的软件测试中心,将进一步提升沃尔沃汽车在软件自研领域的综合实力。
沃尔沃汽车全新软件测试中心占地约 22,000 平方米,可容纳约 500 台测试设备和数字化测试环境。相较于在瑞典隆德和中国上海设立的软件测试中心,此次在瑞典哥德堡新建的软件测试中心规模更大。
随着货拉拉技术团队不断扩展、技术框架上从 PHP 迁移到 Java、核心业务交易由 1.0 演进到 2.0。由于项目的持续更新,业务逻辑愈加复杂,代码频繁变更,技术团队对工程标准和规范的诉求也就愈来愈强烈。而物流是 7*24 小时业务,代码问题可能导致巨大经济损失和品牌损害。
我们的一些核心服务在用户下单和司机服务中起到关键作用,有些涉及各种费用计算。如果核心服务出错,整个业务可能中断,引发风险如用户流失和负面舆论。同时一些核心服务在微服务中处于核心位置,与多方关联。为确保服务稳定和服务的长生命周期可维护性,我们开始进行单元测试。
在开发自测阶段,需要保障应用基本可用;功能测试阶段,需要应用功能完整,实现用户目的;在专项测试中,则以为用户提供更好的体验为目标,通过多维度测试(如安全、性能功耗、稳定性等),持续跟踪应用质量指标;直至最后满足 HarmonyOS 应用测试标准,方可上架发布。
在这个过程中,专项测试是否充分,各项领域是否全面,决定了应用在测试验收环节能否通过各项检测指标和高质量的交付,最终成为用户喜爱的应用。
随着业务和规模的不断发展,为了更好更快地提供服务支持,同时基于微服务原子化、单一职责等最佳实践,不管是业务上还是技术上都存在着各种各样规模的改造。
为了解决系统改造过程中数据验证问题,本文根据助贷核心平台系统改造的真实案例,来分享基于流量回放的线上发布双写验证方案。
随着业务的不断发展,服务数量日益增多。手动发布版本不仅耗时长,而且容易出错,发布时间过长会导致服务不可用时间增加。为了解决这些问题,我们需要一套自动化的流程。
我们的系统基本上都由各种开源项目集成而来,我们团队发布版本所涉及到的几个主要环节包括:Jenkins、Apollo 配置中心、XXL-JOB 配置和 Archery 工单执行。由于不同公司使用的技术栈和框架选型存在差异,整个项目发布流程也不尽相同。因此,无法实现一套通用的自动化发版平台,目前也找不到一套适用的自动发版平台,每个公司只能根据自身情况定制开发一套。
本文主要介绍在 vivo 内部针对 Dubbo 路由模块及负载均衡的一些优化手段,主要是异步化 + 缓存,可减少在 RPC 调用过程中路由及负载均衡的 CPU 消耗,极大提升调用效率。
vivo 内部 Java 技术栈业务使用的是 Apache Dubbo 框架,基于开源社区 2.7.x 版本定制化开发。在海量微服务集群的业务实践中,我们发现 Dubbo 有一些性能瓶颈的问题会极大影响业务逻辑的执行效率,尤其是在集群规模数量较大时 (提供方数量>100),路由及负载均衡方面有着较大的 CPU 消耗,从采集的火焰图分析高达 30%。为此我们针对 vivo 内部常用路由策略及负载均衡进行相关优化,并取得了较好的效果。
度量驱动开发(Metric-Driven Development,MDD)在软件工程领域扮演着关键的角色。它强调了度量数据在软件开发过程中的重要性,这些度量数据可以是关于代码质量、性能、可维护性、进度等各个方面的信息。
为了为业务提供最大价值,技术团队需要尽可能深入地了解代码运行时的状态,而技术系统的度量指标通常是实现这一要求的唯一方法。