金融咨询网近期会进行系统维护,短暂的等待是为了更稳定的服务,感谢您的支持。
  • 快捷搜索
  • 全站搜索

联机交易回归测试条件的分析及实践

2016-04-13 19:10:05作者:福建省农村信用社联合社 詹清河 郭超年 王燕梅 编辑:金融咨询网
本文讨论了银行联机交易实现自动化回归测试的必要条件,设计了一个面向银行业务系统的交易链回归模型。在此基础上,通过福建省农村信用社联合社自动化平台的建设,以及核心存款子系统自动化功能回归测试案例基准的设计,该模型在实践层面上获得了验证。

        通过自动化测试平台(如图3所示),可以根据业务流程图自动生成覆盖所有路径所需的全部合法的节点序列,即业务流。

联机交易回归测试条件与交易链分析及实践-图3.jpg

四、主体组

        建立回归测试模型的基础是交易链的主体组。主体组在银行业务中可解释为任何银行业务均来自一个基本关系即B(银行)与C(客户)的关系。B是银行服务的提供者,C是银行服务的使用者。B与C的交易关系是一种法律关系,也就是说,任何银行交易都是以契约为基础的,其具体表现就是合约的签订。交易行为是一种法律行为,这意味着法律权利的行使或改变:一个交易,要么行使了某种法律权利(如查询),要么改变了某种法律权利《如资产或负债的增减)。

        主体组的概念表现的就是在持续交易的条件下,交易链中各交易在法权关系上的连续性。一个交易链是某个具体的交易主体(C)连续改变其法律权利的过程,由于交易由银行系统支撑,C的法律权利在银行系统中就获得了一个具体有形的表达——资源(比如合同、账户、额度)以及指向这些资源的具体手段,如客户号、介质(卡、存单、存折、支票等)。这些资源可以理解为C的法律权利在银行系统中的表达,或者说投影,这就是所谓主体组。

        在一个具体的金融产品中,例如整存整取,C的主体组将获得一个或多个具体的表现,例如客户、介质、账户。从程序设计角度看,一个产品的主体组是一组具体的对象,在面向对象(Object Oriented,OO)中,它可以理解为某个类(Class)的一个具体实例(Instance),主体组的某个成分,例如介质或账户,称为主体对象。主体组是交易链的轴。两个有时序关系的交易,如果其主体对象相同(比如卡号相同、客户号相同、支取方式相同等),则它们属于同一交易链,如果主体对象组不同,则属于不同的交易链。

        任何一个具体的交易链都属于一个合法的业务流(全部或局部)或业务流的组合。判断某交易是否属于某交易链的充分必要条件是主体对象组是否相同,主体对象是成组的(例如客户一账户一卡)。在一项具体的业务中,主体对象表现为一个(或几个)主体类型,如对私客户一活期账户一借记卡,并且归属于唯一的法律主体(客户或法人)。

        主体对象组被泳道中的节点所引用,它是某个主体类型的一个具体实例,例如某客户一某账户一某卡,实例是一个具体的对象组,其中的每一个对象都是唯一的,并且都有唯一标识(Handle),而且全部精确地关联到法律主体——客户句柄(Customer Handle),账号句柄(Account Handle),卡号句柄(Card Handle)。正因为如此,通过对象组中某个主句柄(Main Handle),比如客户号,可以关联出其余对象标识(账号、卡号)。

五、交易链的重现及还原

        1.重演交易链的必要条件之一是发现交易链

        在实际的测试活动中,交易链一般只存在于业务操作者心中,它指导并制约着测试的过程。通过对操作的监控,能够发现相应测试案例的时序,但时序本身并不充分,无法确定交易链。因此,交易链的发现必须通过专门的算法——交易链还原算法。该算法的前提是:

        (1)业务流节点序列可计算(通过业务流程图);

        (2)对该交易链的主体类型有相关知识——对象组,对象标识,主句柄;

        (3)主体对象的标识可监控(从业务剧本中识别);

        (4)可以关联出某节点的主体对象组(通过主句柄)。

        交易链还原是分析和验证的综合,业务流和主体类型是无法验证的,只能通过业务分析得出。这些知识存储于后端,构成验证(算法)的前提。交易链还原所需要的数据(主体对象组id)有两个来源:一是输入的数据(如卡号),二是关联的数据(如账号),后者实际上来自对操作环境的监控(实时的或后督的),由此形成对于测试案例的编组(如图4所示)。

联机交易回归测试条件与交易链分析及实践-图4.jpg

        图4的Y轴取值是组号,X轴取值代表业务日期,每一个组别对应于一个具体的主体对象组。已执行测试案例集的初态是未编组状态,随着主体组的发现,案例被编入主体组,并按照系统的业务日期展开。由此形成对于交易链还原的可视化表达。

        2.重演交易链的必要条件之二是运行条件的发现及重现

        运行条件包含两个成分,一是时间条件,二是非时间条件,而时间条件是非时间条件的基础。时间有两种:系统时间(业务日期T1)与测试案例执行时间(自然日期T2)。对于交易链回归测试而言,T2是不可重现的,Tl是重现的关键。重现Tl有两种手段,一是日期回退(物理重现),二是业务日期平移(逻辑重现)。后者需要引入时间规划。

        重现业务日期的必要条件是业务操作的监控反馈的信息中包含Tl。为了便于分析,除了在业务剧本中包含Tl,考虑在每一个业务事件中加入T1时间戳。测试案例与时间的关系有两种类型:一是绝对定位(例如2008年2月29日),二是相对定位(例如T+1)。相对定位可以平移,在实现时只要确保节点间的相对间隔就可以了(以业务日计量),绝对定位则需要专门处理,例如找到下一个闰年的2月29日。显然,Tl的逻辑重现需要有关于测试案例时间绝对定位的相关知识。这种知识不能验证得出,因此需要在案例执行前给定。

首页 上一页 1 2 3 下一页 尾页

扫码即可手机
阅读转发此文

本文评论

相关文章