金融行业各类软件系统由于应用领域、交易的重要程度、应用人群各有不同,可能存在的安全隐患和质量上的风险也不尽相同,为了深入分析各类软件系统的特点,我们尝试从用户性质(行内、行外)、交易笔数、单笔交易金额、交易的复杂度(如币种多、客户等级多、交易种类多、交易价格浮动、实时牌价、政策约束条件多、交易的动作数)、实时程度(实时,T+0,T+I,T+2,批量等多个层次)、是否和行外系统相连接等六个维度对金融企业现有的软件应用系统进行风险分析,从更为客观全面的角度来综合考量各种金融软件系统可能存在的风险级别,然后根据ISO/IEC9126对6个软件特性、21个子特性的要求,分析和比较各类常见金融软件系统需要重点测试的软件特性,提出有针对性的测试策略和思路,才能在有限的资源和时间条件下,大限度地做好软件
测试工作,提高各类金融软件系统的质量,达到控制风险、规避风险的终目的。
    一金融软件系统的风险分析
    1.用户性质
    用户性质从大的层次可以分为行内、行外两类。应用于行内各级管理、业务人员的软件系统一般有人事、财务、党务、培训等内部经营管理类软件系统。相对于服务于行外用户的金融软件系统来说,经营管理软件系统可能造成的风险不大,对软件质量性能和功能的要求不高。对于行外的用户群体来说,又存在优质客户和非优质客户的等级划分问题,关键是服务于优质客户的软件系统的相应软件质量要求较高。
    2.交易笔数
    交易笔数一般可采纳日交易笔数和峰值并发交易笔数两个数据,交易笔数决定了金融软件系统需要承担的并发压力,以及软件失效可能造成的影响面大小。对于交易笔数较大的金融软件系统需要进行并发压力测试,对软件质量的要求也更高。
    3.单笔交易金额
    单笔交易金额的大小,决定了金融软件系统失效可能承担的资金风险。单笔交易金额越大的系统,对软件质量要求越高。
    4.交易的复杂度
    交易的复杂度可以通过分析交易要素的复杂程度来界定,对于一笔金融交易业务来说,一般可以从币种数量、客户等级数、交易种类数、交易价格变动程度、相关的政策和业务规则、交易的动作数(完成一笔交易需要执行的动作数)等方面来界定。例如,国际业务的交易复杂度较高,常规存取款的金融交易复杂度较低。金融交易复杂度越高的系统对软件质量要求越高。
    5.实时程度
    交易的实时程度可以分为实时,T+0,T+I,T+2,批量等多个层次。不同层次的实时程度决定了软件系统的不同复杂度以及软件失效可能造成的不同影响面。实时金融交易系统对软件质量要求高。批量的金融交易系统对软件质量要求低。
    6.是否和行外系统相连接
    如果一个应用系统不和行外系统相连接,相对应的资金和交易风险较低,对软件质量的要求也较低。