有赞 GO 项目单测、集成、增量覆盖率统计与分析

一、引言 我是一名中间件 QA,我对应的研发团队是有赞 PaaS,目前我们团队有很多产品是使用 go 语言开发,因此我对 go 语言项目的单测覆盖率、集成以及增量测试覆盖率统计与分析做了探索。 二、单测覆盖率以及静态代码分析 2.1、单测覆盖率分析 Go 语言自身提供了单元测试工具 go test,单元测试文件必须以 *_test.go…

Read More

质量度量记实

质量度量是指我们采集了一些产品研发过程及上线后质量相关的数据,经过聚合计算,通过图表、质量分等方式呈现出来这件事。在业界也有一些关于这方面的分享,比如“质量运营”,“数字化软件过程”,“质量罗盘”等,今天我们就来分享一下做质量度量的过程与思考。 一、背景与目标 为什么做这件事?之前关于质量相关的数据都是散落在各个系统,查看起来不方便,并且无法以我们关心的维度、指标去看这些数据,为管理与质量运营做支撑;因此想通过做质量度量,达到让关心质量的小伙伴查看部门、应用等维度产品的质量做的怎么样,给出改进建议,从而推动软件质量的提升。 二、…

Read More

有赞持续集成容器化实践

背景介绍 目前我厂 Jenkins CI 采用的是 Master-Slave 架构, Master 和 Slave 都是物理机搭建。主要用于跑单测,集成测试等。由于早期没有专人来管理 Jenkins ,随着业务的发展 Jenkins Job 越来越多,也带来了如下问题: 当 Job 越来越多时需要通过增加 Slave 机器来解决,…

Read More

一次 Logback 发现的隐患

一、现象描述 近期我们在线下环境进行了核心链路单接口的性能摸底,在使用我厂基于 Gatling 自研的 gatling-dubbo框架(详见Dubbo 压测插件 2.0 —— 基于普通 API 调用)对 ic 应用的 getActivityList 这个 Dubbo 接口进行压测的时候,在 RPS 接近 100…

Read More

有赞精准测试实践

背景介绍 有赞早期业务跑在一个单体php工程上,随着业务发展,性能拓展性已经满足不了需求,为了后续发展,底层开始微服务化,整体转向dubbo框架。从单体转向分布式框架,测试也面临着一系列问题,如下: 对于分布式系统中的绝大部分应用,随着业务发展,自身应用代码复杂度会不断增加,如何准确、全面判定代码修改影响范围会越来越重要; 一些领域设计不太合理的业务架构,会发现任一应用接口变动会使多个应用受影响。测试过程中会发现只是自身应用代码一个修改,会导致对外暴露的接口逻辑发生很大变动,此时测试人员需要判定出这个对外暴露的接口对上层应用到底有多大影响; 业务快速迭代导致测试时间不断压缩,全量回归是一个很困难的事情,那么测试范围需要开发测试人员根据代码和业务熟悉程度精确把控,风险容易失控; 基于上述背景,…

Read More