金融产品设计中测试的必要性

前言:寻找写作灵感?中文期刊网用心挑选的金融产品设计中测试的必要性,希望能为您的阅读和创作带来灵感,欢迎大家阅读并分享。

金融产品设计中测试的必要性

1测试的含义与种类

测试是银行业乃至整个金融行业面临的最大挑战之一。测试有很多种类,包括性能测试、压力测试、功能测试、容错测试、界面测试、安全测试等等,每个测试类型中都有自己的测试方法,比如白盒测试、灰盒测试、黑盒测试等,测试人员运用这些测试方法保证金融产品能够正确满足客户的需求、产品设计流程的正确。但是谁负责承担测试角色,是设计出产品的开发人员,还是产品的项目经理,还是具备计算机基础知识的测试人员,或者说金融背景出身的业务人员等?这些一直是学者们讨论与争论的焦点,本文将从实际业务的角度和定性分析的角度探析独立测试的重要性。

2第三方机构独立测试的重要性

所谓的第三方机构独立测试,就是指在测试过程中扮演测试角色的人员是由经济和管理上独立于开发机构的组织进行的。他们在经济资源和测试工作上不受开发机构的控制,而是单独的职能部门,专门负责产品与产品关联性的测试工作,因此他们测试的结果往往更具有客观性和可靠性,具有其他机构担任测试角色时所无法比拟的优势。

第一,独立的第三方测试机构是由专门的测试队伍构成,其目标就是为了在投产前发现产品缺陷来进一步提高产品的质量。早期开发人员在设计产品的同时会兼顾测试的角色,他们不单是程序编码人员,还是程序检测人员、程序维护人员等,这种多重身份不仅会给程序员增加工作负担,还会使他们的目标变得矛盾而不可协调。作为开发人员总是希望自己的产品是优良的、无缺陷的、能够满足用户需求的;但是作为程序检测人员总是希望自己能发现更多的缺陷,产品的设计过程是有漏洞的。如果程序员既承担开发的角色又承担测试的角色,则其目标难以统一并且不协调,既希望自己的产品是完美的又希望测试过程能发现更多的缺陷,最终的结果难免会出现偏差,工作目标变得矛盾而不统一。所以,研发人员开发出的金融产品,不应该由自己负责测试工作,而是应该由专门的测试人员测试,这样测试的目标不再是矛盾而不可协调的,而是希望在测试的过程中暴露出产品更多的缺陷与漏洞。

第二,金融产品的使用用户分类繁多,比如按资产规模、受教育程度、风险偏好程度分类等等,不同类型的客户对产品的需求是不统一的。比如:风险偏好高的客户会偏向于风险高的金融产品,而风险偏好低的客户会偏向于风险低的金融产品;对于资产规模较高的客户可能偏向理财产品(增值产品),而资产规模较低的客户可能偏向于基本的储蓄产品(保值产品)。多样化的客户群体、多样化的产品需求下,如果开发人员既设计金融产品又测试软件程序,测试任务不但繁重,而测试的重点可能会在程序的代码编码上,设计出的产品难免功能单一化、简单化。相反,如果测试由独立的第三方机构测试,测试人员的重点就放在测试工作上,从客户的角度出发去验证产品是否符合自己的要求,从柜员的角度出发验证产品设计流程是否合理。而测试员作为产品最直接的体验者,在测试的同时体验产品的功能,再将体验结果反馈至开发人员,比如产品界面展现是否合理、用户操作是否方便等。

第三,测试参与人员角色的多样化,意味着测试人员在测试过程中应该做到测试与业务融合。最初开发人员担任测试人员,其专业背景比较单一,可能局限在计算机专业,导致对产品的业务背景与设计原理了解不是很透彻。而如今参与测试的人员专业背景越来越多样化,包括金融相关专业、计算机相关专业、会计相关专业等。在测试的过程中,由这些具有多样化专业背景的测试人员测试,可以拓宽思路,设计出更多有实际意义的测试案例,测试案例也可以更加贴近真实的业务运用。相反,如果由程序员担任测试角色,其专业知识可能局限在计算机知识,而不了解产品背后真正的含义,在这样的情况下,测试只能从代码的正确性验证产品的质量,而不能更好地站在使用者的角度去检验金融产品功能是否正确。

第四,由于第三方测试机构在其经济和管理上具有独立性,所以可以充分发挥自己的测试角色,对产品以及产品之间的关联性做出验证。在产品设计成功后,测试人员应该尽早介入测试工作,了解项目的需求说明书。测试方法可以简单地分为静态测试、动态测试,而静态测试贯穿在整个测试过程中。在项目启动前期,测试人员应该认真审查项目的文档资料,其中包括软件需求说明书等,在分析文档的过程中,应当注意文档设计思路是否正确、是否有遗漏的地方,而测试员还可以在这个过程中提前学习项目的流程,包括项目中新加功能、删除功能、修改功能,这些都是在测试中需要特别注意第地方;动态测试,是静态测试的补充,在测试过程中发挥极其重要的角色,指的是通过运行软件程序来验证产品的质量。在动态测试过程中,独立的测试人员可以发挥自己的想象设计多样化的测试案例,测试中可以用等价类划分法、边界值分析法、错误猜测法等去验证产品设计的正确性。比如存款金额输入项,在测试过程中开发人员可以输入负数(边界值法)或者特殊字符,验证程序运行过程中是否有正确的提示。

3结语

软件测试保证产品的质量,而专业的测试是提升软件质量的重要手段,也是金融业防范风险的重要途径。承担软件测试角色的人员,应该是第三方专业化的测试团队,在经济与管理上独立于开发机构,充分发挥自己的测试角色。不但可以在测试过程中利用多种测试方法如静态测试、动态测试、功能测试、性能测试、压力测试、容错测试等,保证产品的质量;还可以从产品使用者的角度验证产品是否满足需求;同时对产品设计提出优化与建议反馈至开发部门,在开发部门的再次设计与修改后,再对产品做出功能性验证。在这种循环模式下,开发人员与第三方测试机构既是相互补充也是相互制约的,这种彼此制衡的关系不但有利于产品的稳定,还可以提升产品的质量甚至提升客户的满意度,让金融行业的创新与稳定都得以保证。

所以测试的角色应该由第三方独立机构扮演,利用他们资源上、专业上、技能上等方面的优势,设计出更多精细化并且符合业务场景的测试案例,并及时将测试情况反馈至开发部门进行维护与调整,以此保证金融产品的质量与稳定性和灵活性。

作者:陈林轶 兰秋颖 单位:中国工商银行数据中心(北京)