NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

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:267738
用户头像
蔡芳芳 InfoQ主编

发布了 781 篇内容, 共 494.8 次阅读, 收获喜欢 2748 次。

关注

评论 1 条评论

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

在 Flutter 中以编程方式截取任何 Widget

坚果

6月月更

【LeetCode】爱吃香蕉的珂珂Java题解

Albert

LeetCode 6月月更

【Python技能树共建】正则表达式

梦想橡皮擦

6月月更

Apache.commons.lang3 的 isNumber 将会在 lang 4 的时候丢弃

HoneyMoose

Linux驱动开发_倒车影像项目介绍

DS小龙哥

6月月更

优酷端侧弹幕穿人技术实战之:PixelAI移动端实时人像分割

阿里巴巴文娱技术

音视频 弹幕 人像 移动端 移动端开发

Fabric.js 元素被选中时保持原有层级🥁

德育处主任

web前端 前端可视化 FabricJS Fabric.js 6月月更

服务管理与通信,基础原理分析

Java 架构 微服务 nacos Feign

什么是加密?有哪些加密类型和加密算法?逆天原创神作,值得一读!

wljslmz

加密 密码学 加密算法 网络技术 6月月更

数字货币持币生息质押理财dapp系统开发

开发微hkkf5566

系统运维 SIG 直播: libbpf 编译平台 LCC——eBPF从入门到享受 | 第 20 期

OpenAnolis小助手

Linux 运维 内核 ebpf LCC

SpringBoot官方支持任务调度框架,轻量级用起来也挺香!

沉默王二

Java springboot

JavaScript原型链继承与盗用构造函数继承

大熊G

JavaScript 前端 6月月更

GIT 常见问题

甜甜的白桃

git 版本管理 6月月更

架构实战营|模块3

KDA

#架构实战营

深入浅出Spring事务的实现原理

清风

spring 原理 事务 源码学习 深入浅出

C#入门系列(八) -- 方法定义

陈言必行

C# 6月月更

聚焦中国算力大会 | 浪潮集团肖雪: 数字化转型新场景激发算力需求

浪潮云

云计算

面试突击55:delete、drop、truncate有什么区别?

王磊

Java 面试

这本书押中了2022北京高考作文题!

博文视点Broadview

帮助中心对企业有用吗?要不要做帮助中心页面?

小炮

Django API 开发:身份认证原理

宇宙之一粟

django 6月月更

物联网低代码平台如何快捷管理资产?

AIRIOT

spring4.1.8初始化源码学习三部曲之二:setConfigLocations方法

程序员欣宸

Java spring 6月月更

如何搭建短视频app源码,实现短视频内容的播放优化

开源直播系统源码

APP开发 短视频源码

一二三线互联网公司划分标准和榜单

laofo

研发效能 互联网公司 一线大厂 二线互联网 一线互联网

OKALEIDO的NFT聚合交易,打造面向艺术家的Web3商业生态

BlockChain先知

架构训练营模块三作业

融冰

Web Service进阶(七)浅谈SOAP Webservice和RESTful Webservice

No Silver Bullet

6月月更 SOAP Webservice RESTful Webservice

基于 spring-cloud-k8s 跨NS坑续集

Damon

微服务架构 云原生 6月月更

网络七层结构是干啥的? 看这篇文章就够了

郑州埃文科技

TCP/IP 网络结构 传输网络

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