中国农业银行研发中心 吴柯 谭晓辉 杨旭
中国农业银行研发中心高级专家 朱文彬
按照研发主体分类,商业银行软件系统主要分为自研系统和采购系统。采购系统是商业银行软件资产的有效补充,为银行业务的安全平稳开展提供服务。采购系统由第三方厂商提供,行内人员通常不直接参与系统设计和编码实现,这也造成了采购系统的测试工作具有一定的特殊性。在“项目外包,责任风险不外包”的原则要求下,对采购系统的测试工作如何开展,提出了新的挑战。

实现采购系统的安全生产,需求、采购、开发、测试、投产、运维环环相扣,每个环节都需要行内外多个部门的协同配合。测试部门以往对采购系统参与较少,一般由厂商完成开发、测试后即交付业务部门进行验收。由于各厂商的技术研发能力不同、研发管理流程也存在差异,导致厂商的测试质量优劣不一。通过对以往生产问题的分析,我们发现部分问题的产生是由于厂商测试不充分造成的,因此保障系统的测试质量不能完全依靠厂商。由于大多数采购系统的业务逻辑复杂、研发难度较高,如果由行内测试部门对采购系统进行全面的测试验证,不仅测试难度较高、沟通成本较高,也会消耗大量的人力投入,使得采购系统的使用成本增加。
因此,我们认为测试部门应当加深对采购系统的参与程度,建立一套针对采购系统的测试新思路,通过对厂商的系统测试质量进行评审和验证,使不同厂商的系统测试质量能够达到商业银行的统一要求,从而降低出现生产问题的可能性。

从测试角度分析,商业银行对采购系统的测试重点实现以下目标:一是检验系统在功能、性能、安全等方面的投产要求;二是确定采购系统与行内各关联应用系统的平稳对接;三是验证采购系统与行内IT架构的兼容性——这是一项隐含的重要内容,一定程度决定了后续自主化研发或客户化改造的难易程度。鉴于上述目标,结合以往工作经验,我行提出了“规、管、控”的采购系统测试新思路。
规——即提出厂商系统测试规范。一是细化对厂商系统测试工作的要求,从技术、进度、人员、交付物等方面提出要求,并将要求加入银行与厂商签订的技术服务需求书中,通过合同条款规范厂商的系统测试工作。二是制订出一套采购系统测试全流程管理规范,对厂商的功能测试、性能测试、安全测试等方面建立规范标准,使外部厂商的测试工作能够满足银行对系统测试的相关要求。
管——即加强厂商测试过程管理。一是按照既定的规范和标准,对厂商的用例设计、用例评审、用例执行、缺陷管理流程进行管理,通过检查厂商的测试过程产出物来判断厂商的系统测试质量。二是加强对测试资产的转移和管理,要求厂商按照合同约定提交测试文档,对于有自动化测试能力的厂商,要求其转移自动化测试资产,上传至我行自动化测试平台统一管理,进一步检验采购系统的产品成熟度。三是建立有效的沟通机制,将厂商测试人员管理、安全管理纳入测试过程管理中。
控——即逐步做到测试风险自主可控。一是对大型、复杂、核心的交易系统,要求厂商配合建设自动化测试资产,并在每个投产窗口前或按季度进行回归测试,验证系统的稳定性,降低系统整体风险。二是通过厂商培训了解系统概况和操作流程,同时尝试通过厂商的测试交付物来倒推业务规则、业务逻辑,对行外资源内化吸收,逐步加深对采购系统的了解,提高自有人员自主测试采购类软件系统的能力。
采购系统测试方法的实践与成效1.制定技术规范,工作有据可依。我们参与编写了采购系统的技术服务需求书,从多个维度提出对厂商系统测试的具体要求。在纵向上,涵盖功能测试、性能测试等各类测试内容;在横向上,覆盖完整的软件生命周期,包括需求分析阶段、产品验收阶段、生产运维阶段;在深度上,重视资产转移、明确交付物及里程碑、拓展测试具体实施要求等方面的约束。目前我们已在6个应用系统采购项目技术服务需求书中加入了对系统测试的相关要求,有3个已进入落地实施阶段。
我们建立了厂商测试配套文档清单及模板。由于各厂商对测试文档的产出标准不同,很多测试文档不符合研发中心的标准,逐一确认细节的沟通成本较高。为使厂商交付物能够更好地满足我们的需求,我们以研发中心标准测试文档为基础,结合安全保密的相关要求,建立了厂商测试配套文档清单及模板,按照功能测试、性能测试、技术安全测试等测试分类,共梳理规范和模板类文档14份,统一了交付物标准,使我们更有针对性地把控厂商的测试过程和测试质量。
2.完善基础建设,改进管理手段。在自动化测试建设方面,我们以某采购系统的重要业务模块为试点,验证了由厂商配合在我行自动化测试平台建设自动化测试资产的可行性。针对该模块,对673个交易建设了720个自动化用例,包含正向用例673个、反向用例47个,交易覆盖率达到93.4%,回归通过率90%左右,基本完成该模块的自动化测试资产建设。
在常备测试环境管理方面,我们建设了3套采购系统的常备测试环境。建设过程中,我们结合保密管理和数据安全等方面的要求,严格按照行内流程为厂商人员申请工位、设备和用户,对测试数据进行脱敏,并在相关人员的任务完成后及时收回权限。对于安全风险较高的事项,增加签订保密协议的环节,在使用厂商人员配合行内测试工作的同时严格保障行内各项资产安全。
3.加强资产积累,控制产品质量。在测试资产积累方面,结合绘制“业务视图、技术视图”的重点工作,我们完成建设了4个重要采购系统的双视图资产。对于厂商配合程度高的系统,协调厂商人员组织培训、提供各类系统文档,充分利用厂商资源积累测试资产。对于厂商支持力度较弱的系统,组织与开发人员和业务人员的培训,先了解系统概况、搭建测试资产框架,同时在项目中投入较多的自有人员充分测试,把握与厂商沟通缺陷的机会深入了解系统细节。
在验证系统稳定性方面,充分利用试点建设的采购系统自动化用例库,按季度(或按投产窗口)进行回归测试。对于未执行通过的自动化用例定位问题、分析原因,充分利用自动化测试的优势来验证系统的稳定性,加强对采购系统的版本管控。
采购系统测试要点形成采购系统测试工作新思路后,我们在项目中进行了实践,逐步将宏观的工作思路拆解为微观的测试要点(见下图)。依托于行内、研发中心的规范制度,以软件研发流程为主要维度,形成了逐阶段逐环节的采购系统测试要点。测试要点涵盖了需求阶段、立项阶段、测试、投产与运维等4个阶段,覆盖了15个测试活动,提出了30余条关注点,实现了工作思路的具体化,更加贴近实际测试工作的开展。
图 采购系统测试要点
对采购系统测试的后续思考“规、管、控”测试新思路在采购全流程中的实践,为我行应用系统的采购质量提供了保障,也符合TMMi四级认证对测试过程改进优化的思路。后续将对如何更大发挥“规、管、控”作用进一步研究:一方面,该思路不仅适用于软件类采购系统测试,对硬件设备采购测试也同样具有指导意义;另一方面,采购类系统测试从需求研制直至投产运维阶段,贯穿了应用系统的全生命周期。因此,如何对采购系统的测试工作进行“项目化管理”,使其更加流程化、规范化,也是我们不断探索和研究的课题。