您好, 访客   登录/注册

银行新一代核心系统建设中 黑盒测试方法的覆盖性研究

来源:用户上传      作者:曾诚

  摘 要:本文基于银行新核心系统的特点及多种黑盒测试方法的优缺点,提出组合策略的方法解决系统测试覆盖性的痛点并进行了相关论述。
  关键词:核心系统;黑盒测试;覆盖性
  一、新一代核心系统简述
  在二十一世纪初期,许多银行的核心系统有很大比例的业务无法纯粹依靠系统进行完成,仍需要手工做账,无法做到办公信息化、电子化以及智能化。这种纯手工或者半手工的方式大大的消耗了人力资源,并且还存在不小的操作风险。现今随着云计算、区块链、物联网、人工智能等新鲜技术的不断涌现,近年来国内银行纷纷进行新一代核心系统建设,借鉴互联网企业的相关经验探索分布式IT架构及构建企业级业务架构,旨在提高自身管理效能,提升管理效率以达到电子化、信息化和智能化办公。
  无论对于哪家银行,核心系统的更新升级都是一项庞大复杂的系统工程,它具有建设周期长、成本高以及涉及要素面广等特征。从需求分析到项目开发再到系统测试,都是系统建设中不可缺少的环節,本文着重研究系统测试这一重要环节,针对黑盒测试,研究其对于系统的覆盖性是否全面,旨在为新核心项目建设提供启示作用,能够进一步提高银行业核心系统建设水平并推动银行业信息化、电子化和智能化建设稳步向前发展。
  二、黑盒测试方法简述
  黑盒测试也有另一个称法,叫做功能测试,顾名思义,它是测试系统中的每项功能是否正常运行。所谓黑盒,也就是将系统看作一个无法打开的黑匣子,不考虑内部的结构也不考虑内部的算法,只关注系统的输入输出,核查系统功能是否按照其需求说明书来正确使用。
  黑盒测试可以简单的分为划分等价类、边界值分析法、错误推测法、因果图法以及场景法等,不同的测试方法具有不同的测试特点。划分等价类着重于输入数据的集合,边界值分析重点关注对于边界值的划分,错误推测依赖测试人员的经验和判断,因果图强调输入条件间的互相组合,场景法基于系统中的不同流程所组成的场景。
  黑盒测试十分适合功能测试,核心点就在于对照需求说明书来测试系统相关功能,但黑盒测试的缺点也相应明显,它无法毫无遗漏的进行测试,同时系统中的一些bug或故障无法通过黑盒测试进行检测,黑盒测试主要依赖需求说明书的正确性,如果说明书本身有遗漏或者冗余,黑盒测试都无法进行甄别,这个问题也是黑盒测试的痛点,在下一节中会详细描述。
  三、黑盒测试覆盖性痛点
  在黑盒测试过程中,一个需求会相应对应数个功能点,而一个功能点又对应数个测试案例(n个正案例和m个反案例)。多数的黑盒测试方法都能够使其需求覆盖度达到100%,但显然需求覆盖率并不能作为一个测试充分的佐证,因为就算在某个需求点中,将其对应的功能点都测试完毕,仍然会有疏漏,测试还远远不能结束。
  (1)输入正确的用户名、密码以及验证码,最终成功登陆
  (2)输入错误的用户名、正确的密码及验证码,最终无法登陆
  从以上测试中,我们可以看到第二个测试明显没有遍历完所有的错误可能性,比如错误的密码和错误的验证码以及它们各自的排列组合。尽管没有遍历完所有可能性,但从需求覆盖率的角度来讲,依旧覆盖全了所有的功能点,那么此项需求的测试覆盖度就会变为100%。无法考虑到测试的每一种可能,但从需求覆盖度的数据来看,又已经将所有功能点覆盖,这项数据容易让测试人员掉以轻心,误以为已经完成测试工作,这是黑盒测试的通病,也是本文希望解决的核心问题。
  四、银行新一代核心系统黑盒测试覆盖性解决方法
  在第二节中说到,黑盒测试十分适合功能性测试,但在银行新一代核心系统中,测试需求的种类繁多,大致可分为界面、流程、功能三大类,而每大类下面又会衍生许多小类,甚至在某些特殊的功能点(比如支付中的反洗钱测试)会遍历十几道岗位,所以在核心系统中的黑盒测试非常容易产生疏漏,稍不注意就会发生测试不完善的情况。
  针对不同的系统特点应使用不同的黑盒测试方法。新一代核心系统界面复杂、流程繁琐且测试必须达到“安全保生产”的效力,故可以使用组合策略的方法来解决黑盒测试覆盖性不完整的痛点。
  所谓组合策略,就是将几种不同的测试方法进行综合考量,通过组合的方式来降低黑盒测试过程中的疏漏,从而达到提升其测试覆盖性的目的。
  以下是笔者针对银行新一代核心系统而选取的测试组合,在往后实际的应用过程可供参考:
  (1)在测试初期,我们应首选将输入、输出条件进行等价类划分,这样才能够框定测试案例的范围,既减少了工作量也提高了测试效率。
  (2)等价类划分完毕后,应重点分析输入的边界值,大部分系统中错误率最高的就是边界值,这是应着重考虑的部分。
  (3)与此同时,我们也需要利用错误推测法去进行相关测试,这一步骤主要依赖测试人员的经验进行查漏补缺,将某些系统中容易产生的错误作为遗漏补充进行再一次测试。
  (4)参照系统的相关逻辑,核查已编测试案例的逻辑覆盖程度,针对前期拟定的测试覆盖性标准进行测试补充
  (5)系统的功能说明书里如果有输入条件的特意说明,那么应该在等价划分类的时候,多参考借鉴因果图法或判定表驱动法。
  (6)最后在系统的整个测试过程中,都需要时刻把握好场景法,在系统清晰的业务流中综合各种测试方法并进行针对性使用。
  银行新一代核心系统具有功能繁琐、界面复杂、业务流程清晰以及安全风险容忍度低等特点,在对其进行的黑盒测试中非常容易产生遗漏的情况,利用组合策略的黑盒测试方法可提高系统的测试覆盖性。
  本文基于银行新核心系统的特点及多种黑盒测试方法的优缺点,提出组合策略的方法解决系统测试覆盖性的痛点,但终归只是理论上的论述说明。纸上得来终觉浅,绝知此事要躬行,希望在后来人的不断测试实践中,对该方法的不妥之处也不断进行修正,争取早日探索出最完善、最高效的黑盒测试方法。
转载注明来源:https://www.xzbu.com/1/view-15181769.htm