随着分布式核心系统建设深入推进,更多的产品应用系统从集中式架构向分布式架构转变,数据、程序从主机向开放下移,下移后产品应用系统、账务系统、核算报告之间的信息交互发生变化,全流程测试必不可少,而在实践中,测试人员会发现分布式核心系统账务全流程测试步骤复杂,注意事项繁多。如何顺畅的开展全流程测试,是测试团队面前的一个难题。
本文基于信用卡等核心系统全流程测试的实战,介绍了分布式核心系统账务全流程测试的要点、流程与方法。
测试之变化
账务全流程测试是指开展各项业务从交易端到核算端,涉及核算数据流转加工的全流程测试,全面验证系统业务的账务核算正确性。当前农行正在开展分布式核心系统建设工程,各产品应用均在开展下移,分布式核心系统账务全流程测试会面对如下的变化。
一是技术架构升级,核心系统由主机变成开放,集中式部署变为分布式部署,涉及分布式事务、账务数据迁移等。
二是业务架构改变,部分核心系统在下移时,同步开展了业务架构转变,改变原有的业务逻辑。
三是记账方式增加,主机上产品应用系统主要依靠接口记账,下移后增加消息记账方式。
四是记账场景复杂,由于多数系统下移后有主机和开放并行的过渡时期,会出现部分账务在主机、部分账务在开放的情况,账务场景更加复杂。
为了应对以上变化,需要总结出一套适用于分布式核心系统账务全流程测试的实战经验。
02
测试之流程
图1 账务全流程测试活动开展图
一是计划制定,目标是制定明确的测试执行计划,在规定的时间内完成账务全流程测试。计划中需要明确本次账务全流程的参与部门,各项任务的责任人。
二是进行测试案例准备,需要梳理下移系统所涉及的核算场景,并从全业务角度,梳理出业务全场景信息。根据业务全场景信息,编写测试案例,确认案例场景涉及的会计日,梳理测试案例中关联的应用系统,明确交易的发起方,同时业务部门、财会验收部门、开发部门、测试部门进行测试案例评审。
三是进行测试环境数据准备,准备所需的主机和开放环境,同时完成产品应用和账务系统之间的消息配置检查及接口调用检查,完成关联系统之间、产品系统与账务系统的环境连通验证。测试数据方面,清理测试环境中的脏数据,申请并部署本次的测试数据。
四是开展测试执行,根据评审后的测试案例,按照制定的计划开展产品系统的联机和批量案例执行,执行时做好相关金额、结果的登记和统计。按照批量执行顺序,开展账务系统的执行,执行后进行产品系统和账务系统借贷不平和总分不平的检查,并将结果数据传递至核算报告,之后开展核算报告系统执行,提取待核对的财务数据。
五是开展财会核对,根据测试案例执行记录,以及核算报告系统提取的账务核对信息,开展财会核对。根据核对意见,开展问题分析,最终得到结论。
测试之要点
分布式核心系统账务全流程测试要做好如下七个要点:
1、环境是基础。由于账务全流程测试要核对账务结果与交易数据,一套独立且干净的测试环境是开展测试工作的基础。在分布式核心系统建设工程中,要根据产品系统情况,准备一套包含主机和开放的测试环境。该环境除了包括计划开展测试的产品应用系统,还要接入运营、客户信息等“底座”系统,以及账务、核算报告等系统。测试开展中,要保持整体环境配置、资源、参数稳定,保障各系统与其关联系统间网络连通、消息、文件传递链路正常,最终确保产生的账务数据具有一贯性和可比性。
图2 账务全流程各系统关联图
2、数据是根本。账务全流程测试除了关注下移系统程序功能正常外,测试的重点内容是对核算数据进行“总总平衡、总分平衡”的核对,数据就是账务全流程测试的根本。在测试过程中需要在测试环境做好如下几方面的数据准备:一是在账务系统铺设最新的参数。二是将本次测试行部的测试数据打平,保障主机测试数据与开放测试数据一致,不存在挂账。三是将关联系统的测试数据对齐,与主机各产品共用一套数据库不同,开放环境各产品系统有自己独立的数据库,需要将不同数据库中的数据对齐。完成以上这些数据准备工作,当核对发现金额等数据问题时,才能准确判断是否是程序导致的问题。
3、案例是核心。账务全流程测试核对的内容是产品应用系统各业务核算场景的处理情况,测试案例需覆盖下移系统交易的核算场景。测试案例的全面性直接决定账务测试结果能否具有说服力,是账务全流程测试的核心。测试案例的设计,应覆盖下移系统业务核算需求,涵盖金融动账类的场景,以及产品应用业务特点的特殊场景。一般的金融场景有存款、取款、转账、结息、年费收取等。特殊的动账场景有减值核销、行所撤并、账务划转等。
4、批量是依靠。在完成环境、数据、案例准备后,账务全流程核算报告系统中数据的产生,还要依靠产品系统、账务、核算系统的批量处理。批量执行时,一是要安排好待测系统批量节点执行的顺序,确保测试数据可以被正确加工。二是做好产品应用系统、核心账务系统、会计核算系统之间的衔接与配合,尤其是账务数据迁移时,各系统直接的批量执行先后顺序尤为重要。
图3 账务全流程测试执行图
5、核对是关键。核对指将产品应用的测试案例执行情况,以及核算报告系统处理的会计核算结果进行核对,是账务全流程测试的关键。核对的重点主要在如下方面:一是检查产品应用常规交易功能,以及账务迁移、减值核销、行所撤并、资产证券化等专题场景实现否与需求一致,会计分录是否准确。二是检查产品应用交易端到核算报告端的流程贯通、数据处理一致、准确。三是核对会计记录、处理正确,本金、利息、费用等会计科目初始确认、后续计量正确。四是核对涉税及开票处理是否正确,涉及营改增、进项税、销项税等。五是核对账务总分相符,没有借贷不平,没有异常挂账等情况。
6、问题是重点。在账务全流程进入执行阶段时,要以核对中发现的问题为重点开展工作。它是测试的突破口,体现测试的价值。通过发现和排查问题,一是可以帮助测试团队分析当前账务全流程测试的不足之处,给后面的测试工作提供指导。例如,发现批量节点执行错误等测试操作问题,就可以更正后续测试批量节点安排,避免后续测试时“重蹈覆辙”。二是,发现的需求、程序类测试问题,可以帮助业务和开发人员审视下移的需求和程序是否合理,进而确保下移后系统账务处理的正确。
7、协同是保障。分布式核心系统实现了集中式架构向“一体化云平台+分布式数据库”的转变,账务全流程测试对“产品应用与产品应用”、“产品应用与基础应用”之间协同要求极高。待测的下移系统中,很多交易是以其他应用为入口发起的,交易中也会调用其他系统的逻辑,批量执行更是要求系统之间进行紧密的配合。此外,当发现问题时,除了要下移系统排查原因,也依赖账务、核算系统同步分析,才能精准地定位问题。
总结与展望
本文总结了适用分布式核心系统账务全流程测试的“七要点”、测试活动开展图,为分布式核心工程账务全流程测试进行经验积累。后续,将在目前总结的基础上,探索账务全流程测试的工具化、自动化,开展自动对账工具、以及账务全流程自动化测试研究及应用,进一步降低分布式核心系统账务全流程测试的复杂性,提高测试效率和质量,为农行数字化转型贡献力量。
本篇文章来源于微信公众号: 数字金融网