QCon北京「鸿蒙专场」火热来袭!即刻报名,与创新同行~ 了解详情
写点什么

B2B 跨境支付平台 XTransfer 的质量保障体系建设之路:测试的左移与右移是关键

  • 2023-02-07
    北京
  • 本文字数:3087 字

    阅读完需:约 10 分钟

B2B跨境支付平台XTransfer的质量保障体系建设之路:测试的左移与右移是关键

质量保障体系的建设是个复杂、长期的过程,基于业务发展阶段、团队规模和业务形态,每家公司都有不同的思考和实践。


近年来,跨境电商新业态的高速发展使得跨境支付赛道备受关注。一般来说,在交易模式上跨境电商分为 B2B 和 B2C。相较于 B2C,B2B 模式交易流程更复杂,其背后的质量保障体系建设就显得尤为关键。


近期,InfoQ 采访了 XTransfer(上海夺畅网络技术有限公司)技术总监马吉武,请他与我们分享了 XTransfer 的质量保障理念,以及他对于质量保障体系建设的思考和实践经验。


XTransfer 创立于 2017 年,聚焦于 B2B 跨境支付,为从事 B2B 出口的中小微企业提供跨境支付及风控服务。XTransfer 对于质量保障体系的建设从 2018 年初第一款外贸收款产品问世便已开始。在业务发展初期,质量保障体系的工作主要体现在功能可用性测试层面;随着业务的发展和团队的精进,逐渐扩展为测试的左移与右移。发展至今,质量保障已不再停留在“功能性测试”这样一个工程化流程的单一环节,而是拓展到“大质量”的范畴,即协同工程化上下游的多个环节共同确保产品交付的稳定可靠。


关系到中小微外贸企业的资金安全,B2B 跨境支付产品对于质量有着极高的要求,这给 XTransfer 的质量体系建设带来了不少挑战。“具体而言,主要体现在三个方面:首先在业务层面,绝不允许有任何一笔交易出现资金问题;其次,B2B 跨境支付交易链路更长,相应的产品质量保障链路也更长,这给质量保障工作增加了难度;最后,XTransfer 业务发展迅速,产品也在快速迭代优化,这也需要质量保障体系随之迭代优化。”马吉武介绍道。


质量保障理念


XTransfer 质量保障理念的核心体现在质量设计和质量实践两个方面。


据马吉武介绍,在业务早期发展阶段,主要是产品驱动、研发和测试互相配合。不同的测试方法是验证和保障交付质量的手段,而不是构建质量体系的基石。测试的努力带来的更多是一些“安全感”,而非安全保障。


因此,要做到高质量的交付,就需要回到质量的本质,好的产品依赖于其底层设计。简单来说,XTransfer 的质量设计核心思路是“好的质量是设计出来的,而非测试出来的”。保障质量需要尽可能地“设计先行”,在前期充分讨论需求,严格把关设计,把质量问题在源头解决。与之相对应的则是,不同于早期阶段的完成测试动作,团队需要从交付质量保障转入质量共建。



测试的左移与右移是 XTransfer 质量保障团队目前正在探索的质量保障路径的关键,也是 XTransfer 质量保障理念的落地尝试。测试的左移与右移指的是,让质量保障尽早地发生在整个 SDLC(产品开发生命周期),同时确保稳定性得到持续保障。


在需求阶段,测试左移的目标着力于验证需求质量,包括方案验证、功能验证、支撑性验证等,由此分析需求的完整性,及时发现设计中可能存在的问题。“XTransfer 质量保障团队有明确的需求评审规范,测试会在项目需求阶段介入,避免等到实际测试阶段时才发现问题,导致修复成本过高,无法高效提交项目。”


在开发阶段,XTransfer 质量保障团队需要充分了解开发的代码框架,从而更好地评估改动范围和需要回归的内容。同时,质量保障团队可通过提供自动化测试脚本的方式,让开发团队在前期加强自测,避免在后续收到提测包时仍然有基础问题存在。此外,质量保障团队与开发团队会在共同的规范下有序推进开发工作,这也是测试左移的关键一步。“目前 XTransfer 质量保障团队已经确立了开发质量规范,制定动作、明确责任人。其核心目标是将问题在初始阶段解决,避免在产品提交后重复工作。”


在运营阶段,XTransfer 质量保障团队会持续监控产品在生产环境下的运营体验,确保产品在实际环境、场景下,其功能和体验都能符合用户预期,而这也是测试右移的关键步骤。此时,质量保障团队会通过埋点数据、生产监控、用户反馈等措施,与运维团队一起完善监控体系,发现系统可能存在的漏洞并及时修正。例如,对用户名、访问时间、资源地址进行监测,判断是否符合规范和要求;对访问频率过高或者其他异常情况进行监控,若符合警告规则,系统可通过邮件等方式通知相关人员,并帮助其快速定位问题。

质量数字化管理


对 XTransfer 来说,质量数字化管理的本质是将需求质量、过程质量、交付质量通过数字化指标抽象出来,并以此为依据完成质量保障。例如,通过大量元数据的收集和管理,团队可快速发现问题、定位问题,这其中涉及到数字化指标包括如过程质量中的 demo 次数、转测次数等;交付质量中的 UT 覆盖情况、自动化覆盖情况、缺陷情况等。


其中,需求质量主要指的是在包括原型图、PRD 文档、交互设计、技术方案、测试用例等基础上,质量保障团队从不同于产品、研发的角度理解需求设计,同时根据已有的数字化指标提出建议并协同产品、研发团队进行修正。在项目启动阶段,质量保障团队就参与到整个设计过程中,充分汲取产品、研发等不同岗位角色的需求,降低后续产品的过程风险和交付风险。


“对于过程质量和交付质量而言,一方面是通过测试的左移右移确保整个产品从研发到交付全过程保持质量可控;另一方面则是构建一系列标准化门禁,如研发架构侧资损防控标准化设计检查清单、验收清单,以及 QA 侧的 Sign off 条件、严格上线验收清单,包括账务比对清单、用户交互验收清单等。不能达到设计预期的产品将无法完成交付。”

大质量模型

XTransfer 大质量模型指的是“持续”的质量保障能力,可以从“质量金字塔模型”和“一切皆代码”层面理解。


其中,质量金字塔模型在不同公司均有实践,这套理论模型在 XTransfer 质量保障体系中同样有所应用,包括从 UT、API、UI 到 E2E 都是不可或缺的部分,但是在 XTranser 更为坚持的观点在于,一切理论的背后都是代码,对于质量的保障实际上最终要落到代码层面。

 


快速的高质量交付,意味着持续的全回归测试,“智能化测试”在其中扮演了重要角色,能够实现精准和高效。精准,是通过代码去度量影响范围;高效,则是通过代码如 UT/E2E 等来实现快速测试。


为持续提升测试精准度和效率,XTransfer 质量保障团队会把测试专项能力向服务化能力转型,建立自动化为主的测试能力,减少手工测试和手工操作。目前,测试自动化主要包括自动化环境创建与部署、生成测试数据、执行自动化测试,生成测试结果与日志;此外,也会对测试相关结果进行自动化监控与分析,自动生成测试报告,便于进行测试定位失败原因与快速修复。



质量文化


质量文化在 XTransfer 被抽象为质量规范、质量度量和技术延展。随着业务更加成熟、规模不断增长,质量文化需要不断强调、落地和迭代,这就需要制定一些规范来保证落地效果。这里的规范不是强制要求大家一定要做什么,而是为了大家在不同的工作阶段都有据可依,知可为、知不可为。质量规范体现在产品需求阶段,有针对性地构建 PRD 规范、技术方案规范,在后续的开发、测试、上线等阶段构建开发规范、提测规范、发布规范、运营规范等。


同时,在不断提高产品质量的过程中,如何评估质量的效率也颇为重要,XTransfer 质量保障团队将其抽象为质量度量,包括需求度量、开发度量、交付度量、运营度量、故障演练度量等维度,确保大家在关注质量的过程中,也要同步关注效率。


“建立质量文化,还需要关注对质量技术的研究,这是确保质量保障体系在团队最终落地,并提高质量效率的基础能力。”在 XTransfer,团队关注新的质量保障理论和技术层面的探索,质量不仅是后台支持保障,也是前沿技术的落地场景。


例如,随着业务快速发展,传统的自动化测试已经不能满足快速变化的业务需求,自动化前置是 XTransfer 目前研究的重要课题。“为了持续提升研发交付效能,XTransfer 质量保障团队将进一步加强人工智能技术在测试领域的应用,其本质是结合 AI 算法和测试数据对测试多环节进行针对性的优化,达到对业务需求更强的适应性和响应能力。”

2023-02-07 16:268109
用户头像
蔡芳芳 InfoQ主编

发布了 804 篇内容, 共 574.5 次阅读, 收获喜欢 2799 次。

关注

评论 1 条评论

发布
用户头像
快速的高质量交付,意味着持续的全回归测试,“智能化测试”在其中扮演了重要角色,能够实现精准和高效。精准,是通过代码去度量影响范围;高效,则是通过代码如 UT/E2E 等来实现快速测试。
2023-04-10 17:11 · 广东
回复
没有更多了
发现更多内容

宜兴牵手百度智能云共建人工智能应用中心,推动数字经济创新发展

百度大脑

人工智能

博云作为专业独立PaaS厂商,入选中国PaaS市场研究报告

BoCloud博云

PaaS

面试官:如何给字符串设计索引?

一个优秀的废人

MySQL 索引 字符串 索引优化

24道几乎必问的JVM面试题,我只会7道,你能答出几道?

北游学Java

Java 面试 JVM

建信金科大咖访谈:ISO20000及ISO27001标准体系解读

金科优源汇

centos7使用

xujiangniao

Linux

阿里云官方出品:全面总结阿里云云原生架构方法论与实践经验

尹文敏

云计算 阿里云 云原生

准备3个月,面试10分钟,Java中高级岗面试为何越来越难?

Java架构师迁哥

油管视频下载: 如何下载油管视频到本地

科技猫

分享 教程 经验 油管视频下载 下载油管视频

如何针对美工与设计师的Maya工具进行版本控制

龙智—DevSecOps解决方案

程序员需要了解数据库知识么?

escray

学习 极客时间 朱赟的技术管理课 6月日更

福利时刻 十年黑客大佬的Web安全渗透技术分享

学神来啦

Linux 黑客 安全 运维自动化

从零开始学习3D可视化之模型动画

ThingJS数字孪生引擎

可视化 模型 大屏可视化 数字时代 3D可视化

百度灵医智惠明星案例获人民日报点赞:智慧医疗让看病更便捷

百度大脑

人工智能 智慧医疗

如何科学制定和管理项目计划?

万事ONES

项目管理 ONES 项目经理

☕️【Java技术之旅】带你一起探究String类不可变的特性

码界西柚

string 原理 字符串 6月日更

react源码解析9.diff算法

全栈潇晨

react源码

开源之夏来啦,欢迎报名 Apache APISIX 项目!

API7.ai 技术团队

开源 后端 技术人生 API 网关

创业邦南立新:搭建创新生态,是奔向万亿美金市值的必经之路

创业邦

基于传感器的人体生命体征监控技术

不脱发的程序猿

物联网 传感器 智能医疗 人体生命体征监控技术

☕️【Java 技术之旅】带你一起攻克String类创建的难点分析

码界西柚

Java string pool string 6月日更

Kubernetes学习笔记之Calico CNI Plugin源码解析(二)

360技术

2021年最新版Java后端最全面试攻略,全面对标BATJ

Java 程序员 架构 面试

在外包5年,每天读写删改,突然发现跳不出来了

Java架构师迁哥

带你剖析鸿蒙轻内核任务栈的源代码

华为云开发者联盟

鸿蒙 任务栈 任务调度 任务上下文

毕昇JDK:为啥是ARM上超好用的JDK

华为云开发者联盟

Java 华为 jdk Openjdk 毕昇 JDK

Flink + Iceberg 在去哪儿的实时数仓实践

Apache Flink

flink

用 CloudQuery 管理和操作数据库,更高效更安全

BinTools图尔兹

运维 dba 数据库管理工具

我人生的里程碑之【作为独立开发者,第一次承接外包项目的心得经历,也许说出你的心声哦!】

码界西柚

程序人生 6月日更

《原则》(九)

Changing Lin

6月日更

超全!阿里首发内部微服务架构笔记,再也不用为“微服务”苦恼了

Java架构师迁哥

B2B跨境支付平台XTransfer的质量保障体系建设之路:测试的左移与右移是关键_语言 & 开发_蔡芳芳_InfoQ精选文章