关于光大验收测试的现状
51Testing:很多人对于金融证券行业不是很熟悉,能给我们简单介绍一下吗?
许峥:证券业指从事证券发行和交易服务的专门行业,是证券市场的基本组成要素之一,主要经营活动是沟通证券需求者和供给者直接的联系,并为双方证券交易提供服务,促使证券发行与流通高效地进行,并维持证券市场的运转秩序。主要由证券交易所、证券公司、证券协会及金融机构组成。
当前证券企业几乎100%通过借助集中式的信息技术平台,通过金融电子交易技术帮助企业实现从分散化经营到集约化、规模化经营的战略转移。将交易类、经营管理类、统计分析类等各类软件系统集成,通过公司级的数据集中、应用集中和管理集中形成集中式证券交易系统。只有持续的IT服务保障才能提供持续运营的服务创新能力。
51Testing:能否介绍您在光大证券验收测试工作中所承担的角色?
许峥:光大证券信息技术部的测试团队主要由以下角色组成:质量经理、业务专家、自动化测试工程师、性能及安全测试专家。我主要承担的角色是“质量经理”和项目经理。具体工作主要有:负责制定“测试计划”和“测试方案”;根据测试需要协调相关业务专家加入测试团队;保证“测试用例”质量;测试全流程监控;通过评测或验收测试评价软件质量和上线风险。
51Testing:软件开发厂商在研发阶段已经开展了测试工作,那么光大的验收测试与研发厂商的测试差异在哪里?如果不做验收测试,是否会有bug遗留到上线的系统中?
许峥:厂家的测试主要注重白盒测试,我们的验收测试主要是黑盒测试。其次,厂家希望提供的通用的产品,因此在系统测试中测试数据选择上主要选择通用的测试数据,而我们做验收测试中是使用生产环境的真实数据进行测试,因此能充分体现券商和客户的个性化特点。另外,厂家注重功能性测试,而我们更注重业务场景的测试。因此从整体上看我们的验收测试体系和厂家的测试形成了很好的互补作用,确保了测试的全面性。从质量管理的角度,厂家保证其研发过程质量、软件的质量和应用系统的质量,我们除了对厂家这几个环节的质量管控之外,还需保证最终用户的使用质量。
51Testing:如何做好金融证券行业的验收测试?主要保障哪些问题?你们团队又是如何做的?分享下您的经验。
许峥:证券业是个比较特殊的行业,对于证券IT系统,特别是交易系统对于业务连续性、安全性、稳定性通常有非常高的要求。由于券商在证券领域的角色定位,因此券商更多地把资源投入到系统的安全运维中,对软件开发的投入以及软件测试资源的投入相对较小。因大多交易类系统通过外包方式获得,所以验收测试是券商对接受产品最主要的质量控制环节。要做好验收测试就必须在当前行业现状下,通过一套适合的验收体系、方法和流程来对验收测试的过程进行控制,确保测试目标明确、测试过程可控、测试结果评估。为此我们组建了以业务专家为核心的测试团队,通过对验收测试标准的制定,验收测试全面性以及测试用例质量进行控制,从而实现对验收对象的客观评估。
51Testing:以前的验收测试工作中,存在哪些主要的困难?(可从人员/技术/流程几方面谈)
许峥:以往我们的验收测试主要依靠运维人员来完成,没有专门的测试团队支持,测试用例更多依赖开发商提供的测试用例。因此测试中我们无法确认测试用例质量好坏,测试过程主要依赖运维人员的个人能力,测试结果往往不能客观评价,测试全面性存在不足。
51Testing:目前光大证券的验收测试技术团队的构成是什么样的?如何构建测试团队规范/体系?
许峥:由于券商在证券领域角色定位,通常券商的专职测试人员相对较少。同时,我们考虑到证券业务的复杂度较高,验收测试和开发商测试的互补性,我们组建了以“业务专家”为核心的测试团队。“业务专家”通过对测试用例质量的控制来进行验收测试质量保证。
51Testing:对于金融证券行业的测试,尤其需要注意的是测试风险,谈谈你们团队是如何控制测试风险的?
许峥:其实在测试过程的每个环节都存在一定的风险,但风险影响程度是随着测试工作逐步推进而逐渐减少的。因此我们在风险控制上注重以下原则:
● 在测试的准备和计划阶段引入专家评审机制,对开发商交付件的可测试性进行评审;对测试方案和计划进行评审。好的测试方案和计划可避免未来测试过程中绝大多数的风险发生,是测试工作有序进行的重要保证。
● 在测试每个阶段中引入质量保证机制,对每阶段的工作输出通过和基线的比较来动态调整,确保整个测试过程可控。
关于快速验收测试体系
51Testing:据说,光大已经构建了一套快速验收测试体系,可否简要介绍此体系?
许峥:我们的快速验收测试体系主要是针对产品验收环节所制定的,目的是通过可量化评估的测试过程客观评价测试对象,从而保证上线产品的质量。为此我们把验收测试体系划分了六个阶段:
任务准备阶段:该阶段负责收集和验收测试相关的各种材料,并对相关材料所描述内容的可测试性进行评审。
计划和方案阶段:该阶段负责明确测试范围,定义和优化目标,以及为实现上述目标而制定行动方案。
设计和实现阶段:该阶段负责完成测试计划和方案中确定的工作以实现项目目标的过程。
执行阶段:该阶段负责具体落实测试工作。包括测试环境的准备以及测试用例的执行。
结果分析阶段:该阶段负责对测试结果进行分析,关注测试对象的质量是否符合验收质量要求。
回归测试阶段:该阶段负责对新发布的版本进行回归测试,用以验证之前的缺陷是否修复,是否还引入新的缺陷等。
51Testing:能具体给我们谈谈此体系中具体的测试流程吗?
许峥:以下是具体流程图:
51Testing:快速验收测试的评估点有哪些?
许峥:在验收测试中的评估点是根据阶段不同而有所不同。在任务准备阶段主要是对开发商交付件的可测试性规范进行评估;在计划和方案阶段主要是对测试方案和计划进行评估;在设计和实现阶段主要是对测试用例质量进行评估;在执行阶段主要是对测试执行报告进行评估;在结果分析阶段主要是对测试报告进行评估;在回归测试阶段主要是对缺陷的修复情况进行评估。
概括地讲,验收测试重点评估业务场景的功能、系统的性能和上线运营的用户测试。
51Testing:光大证券使用了哪些测试工具?带来了什么效果?
许峥:我们的验收测试体系中主要选择了基于测试用例分析及管理的TestPlatform工具来构建我们核心的测试用例库,并依靠它实现测试项目管理、需求管理、测试需求分析、测试用例设计、缺陷管理、缺陷分析等。同时我们根据证券业软件的特点,使用了面向接口的集成测试自动化工具Integration Test Platform工具,通过该工具实现测试用例自动化执行,极大提高了测试效率及回归测试效率。
51Testing:快速验收测试体系在光大的实施效果如何?是否有量化的数据加以说明?
许峥:首先是测试用例质量的大幅度提高,之前我们的测试用例多依赖供应商提供,难免会有疏漏。建立起该体系后我们通过TP/ITP工具能够快速设计出高质量且覆盖面全的测试用例,从而避免了测试疏漏。其次,测试速度大幅提高,之前的测试大多是依靠人工执行,500条用例最少需要2~4人天才能完成,而使用ITP测试工具后仅仅需要20分钟即可输出测试结果。另外,测试用例的资产化转变是测试体系中的核心,随着测试用例资产的逐步积累,测试用例复用度提高,测试从准备到执行的效率都因此而提升。
51Testing:对希望进入金融证券行业测试的新人,您有什么样的建议?快速验收测试对项目的整体解决方案有何作用?将来有怎样的推广价值?
许峥:其实不管是金融行业还是其他行业,要想做好测试首先是要对业务熟悉。因为只有懂业务的人设计的测试用例才能是高质量的。只有当你的测试技术和业务知识充分结合才能做好测试工作。
这套测试体系的建立是在我们长期工作中摸索总结出的经验,它的作用主要体现在:“规划质量”、“快速执行”和“统计度量”几个方面,它的实施保障了整个项目在可控环境下的高效有序的进行。
金融行业是个比较特殊的行业,有着鲜明的行业特点,因此我们这个验收测试体系在整个行业内均有借鉴意义,希望这个体系的建立在行业中起到抛砖引玉的作用,促进提高行业中验收测试的质量管理。