一、前言
对于简单需求项目,测试边界划分相对直观;但当面对复杂项目时,边界往往模糊不清,各模块相互交织,责任难以界定,而这类项目通常需要多个团队配合开发,那么问题来了,多个测试团队如何划分测试边界?本文以实际跨业务测试经验(二奢仓店业务测试人员如何把控项目边界),讲述在项目初期如何快速和各业务方对齐测试边界及范围,提供相应的数据支撑工具,写下这篇文章作为经验分享。
在案例讲述之前,想先挖掘一下我们在大项目测试过程中遇到的痛点:在“从零到一”的项目中,通常存在系统繁多、交互复杂、人员众多、信息差明显等特点。
作为 QA,需要在项目初期尽早了解各业务方的背景和目标,做好需求分析,从业务线的视角出发,理解项目涉及的系统及其所支持的功能。因此,项目初期的首要任务是全面了解各业务系统。
测试边界本质上是各业务线之间的系统交互关系。在项目初期,需要准确划分边界,并在排期时考虑系统之间的依赖。例如,某些链路需依赖其他业务子系统的操作结果(如 MQ 消息、接口返回)才能闭环。
二、测试边界划分方法论
尤其针对中大型项目,从零到一的项目,意想不到的细节点非常多,所以针对不同业务划分测试边界至关重要,以下是在项目实践中得出的一些划分方法作为一些参考。
2.1、基于业务流程的边界划分
作为 QA,我们需要对我们所测的系统有全面系统的了解,针对这次的大项目 ,为了理清多个系统之间的交互关系,我们在项目初期通常会绘制端到端的业务流程图,明确各系统的职责及交互节点,从而划分测试边界。标识出各系统所负责的功能,以及交互节点,这将有利于我们对业务有一个系统的理解。
绘制端到端业务流程图:
梳理项目涉及的所有系统和流程,明确每个团队负责的流程段和交接点。
标识系统交互的方式:
明确各系统之间的数据流、接口调用、消息传递 MQ 等交互方式。
对齐依赖关系:
在排期和测试计划中充分考虑系统间的依赖,确保数据和功能的前置条件得到满足。整理的不同业务之间的流程如下:
在捋清各系统交互方式的前提下,我们需要进一步拆解细化,各系统之间的交互方式 ,以及如何保证我们在测试的过程中不会因其中一个系统的问题导致整个流程阻塞,于是我们进一步梳理各系统之间的依赖,跟各系统测试负责人明确边界、交互方式以及互相依赖的能力,并对各项待办事项持续跟进落地,在这个过程当中我们不仅从业务方出发讲解了业务流程,更从配合方出发共同沟通了测试边界,从不同的系统维度,全面地对所测系统的边界进行了深层的分析讲解, 如下图所示:
如系统 A 通过 MQ、接口调用方式和系统 B 交互,获取到系统 A 传递的数据流,实现系统 B 的功能数据变更;系统 B 通过接口方式和系统 C 交互处理某些业务逻辑;系统 C 接收系统 A 发出的 MQ 消息来处理数据状态的变更,达到各个系统之间的数据交互。
(1)系统 A → 系统 B
交互方式:MQ 消息队列 + 接口调用
数据流:系统 A 通过 MQ 异步推送数据(如业务事件触发),同时通过接口同步传递关键参数或指令。
功能实现:系统 B 接收数据后,根据业务规则更新自身功能数据(如订单状态、用户权限等)。
典型场景:例如系统 A 触发创建订单事件,系统 B 同步订单数据产生和状态流转。
(2)系统 B → 系统 C
交互方式:接口 业务逻辑:系统 B 将处理后的数据(如业务工单、交易请求)通过接口提交至系统 C,触发核心业务逻辑(如风控审核、库存扣减)。
依赖关系:系统 C 的响应结果可能直接影响系统 B 的后续流程。
(3)系统 C → 系统 A
交互方式:MQ 消息 + 状态回传接口
状态同步:系统 C 处理完成后,通过 MQ 异步通知系统 A 最终状态(如“数据变更完成”),或通过接口同步返回状态码(如 HTTP 200)。
数据闭环:例如系统 C 完成库存扣减后,通知系统 A 更新订单状态为“已发货”。
总结:
基于上述三方的系统交互,从业务流程出发能够更好的对齐各方所需的能力及工具,这样打通整体的核心业务流程就很清晰了。
2.2、基于业务细节的边界划分
第一部分其实从整体流程上已经明确各业务方所需以及提供的能力,接着需要明确交互点之间的细节,以免遗漏一些细节,如商品的基础信息的变更,包括选品后商品的价格、公价、颜色、商品的状态(在售、停售)商品配件信息、成色等,是否会及时同步仓店刷新选品池商品状态,以及同售中的商品信息变更、是否会触发商品同步,这其实就是细节方面重要的功能点,所以需要业务方提供修改的数据构造能力,满足测试场景的全覆盖。 除了上述流程外,每次梳理的其他流程也能提炼出类似的关键细节功能,从而覆盖所有业务场景,在测试过程中也不会因为哪些场景数构的缺失,导致部分场景的测试无法进行。
三、效果与经验总结
在我们以往二奢仓店项目中,通过我们以上的业务流程和业务细节上划分边界。
我们实现了:
1.在接入正式测试过程中,通过数构等方式达成测试点覆盖度 100%,测试过程中未出现因边界沟通不清而导致的阻塞情况。
2.团队协作方面更清晰,不同业务方对接不同 QA,提供相应的数构能力。
3.通过清晰的边界划分,能让我们在测试中更加熟悉各业务间的交互逻辑,提升定位排查问题的效率。
经验:
1.边界的划分针对中大型项目至关重要,宜早不宜迟,应在需求分析阶段逐渐引入。
2.在边界划分评审过程中,各业务方对自身业务流程进行详细串讲是必不可少的环节,这有助于明确各方职责范围,使系统或业务边界更加清晰。
声明:来自转转QA,仅代表创作者观点。链接:https://eyangzhen.com/1878.html