1.背景
恒天测试团队自2007年开始一直协助国内一大型交易中心(以下简称客户,英文缩写C)完成验收测试工作。测试主要是根据客户需求,确定系统功能等是否符合系统业务要求,同时还包括非功能、UI、数据、迁移、接口等测试。
2.团队构成
恒天驻客户的验收测试团队(缩写为C-UAT)具有清晰的组织架构及完善的后备机制,能应对客户灵活多变的项目要求并配合交易客户团队的合理管理和组织资产的积累丰富。客户的项目从组织架构来说,主要分为三部分:测试团队,BA团队及QA专员。每一个测试项目组都有其项目的负责人(Test manager),各个项目人员之间会定期的进行交流和分享。人员的后备机制不仅建立在普通测试人员一层,也同样为项目管理人员一层建立。任何人都不可或缺,但任何人的请假或离开都不会影响项目组的整体运转。
图7-2-1 C-UAT组织结构
BA团队主要涉及前期需求的分析和细化,BA的引入使得原本粗略的需求文件变成了精细的业务需求规格说明书,有助于测试人员学习,消化和分析业务需求;特别是BA提供的需求跟踪矩阵,为整个项目团队及其干系人在整个项目生命周期中跟踪需求提供了一种直观的方法,有助于确保需求文件所批准的每一项需求在项目结束时都得到了实现,也为管理需求范围变更提供了框架;有了业务需求规格说明书和需求跟踪矩阵,使得从需要到项目范围、设计、开发、测试策略和测试脚本上都提供了一致的可参考物;在测试组对于业务需求理解遇到问题时,能够及时给予业务上的培训与解答。
质量专员(QA)主要负责监控流程的实施和执行,并在监控过程中收集必要的数据进行绩效的考核和项目的度量。为进一步完善质量体系提供保障。质量专门向质量管理经理负责。通过各个项目的质量专门可以清晰的了解到各项目组的执行情况。从客户的质量管理部门成立至今,已帮助客户建立并不断完善了测试体系,建立了培训体系,考核体系等。
3.服务内容
团队在客户所服务的内容包含测试、业务需求分析以及质量管理三部分。
测试类项目主要以业务测试为主,基本上涉及了客户的绝大部分业务,其方法采用典型的系统化测试流程。
需求分析则是与用户一道提取系统需求,编写相应的需求文档。需求分析的参与有助于提高对于需求的理解力,同时通过与业务测试人员的互动,帮助验收测试的完成。
在C-UAT参与项目的过程中,团队与客户的人相互合作,提升项目的规范性,利用恒天拥有的丰富经验,来提升客户对于项目质量的控制能力。这当中,包括流程的创建和优化、流程的监控和管理、风险的识别和解决、质量的度量、项目的审计等内容。
4.成果
4.1 团队规模的不断壮大
自2007年组建以来,C-UAT已从一支只有4个人组成的团队发展成为一支具有36人规模的精英团队。为客户开发的外汇交易系统以及外汇相关系统,本币交易系统及相关本币外围系统提供了专业而卓越的UAT服务,为客户的业务分析工作提供了专业的BA服务!团队在不断壮大的过程中,除了一系列的制度支撑之外,还形成了团队的文化与价值观:
激情的文化:对生活和工作永远充满热忱、永保积极向上的生活和工作态度
专业的文化:从专业技能到业务知识,从业余不断进化到专业和职业
执行力的文化:行动第一
学习和分享的文化:开放心态、善于学习、乐于分享
爱和感恩的文化:学会爱、学会感恩;在C-UAT我们是相亲相爱的一家人
表7-2-1 测试生命周期一览表
4.2 测试流程规范化
测试团队在测试过程中遵循的软件测试流程为:业务需求分析 -> 测试计划 -> 测试需求设计 -> 测试用例设计 -> 测试执行-> 测试报告 -> 测试总结。
整个测试生命周期规范和约定如表7-2-1所示。经过几年的实践,C-UAT与客户一起整理出了符合客户实际情况的一套测试框架,包括测试流程的几个阶段划分、每个阶段的关键活动、每个活动的标准产出、相关辅助工具在每个阶段的用途、针对每个阶段所使用的方法。
测试流程框架的确定,对于测试的标准化、测试本身的质量、测试产出的成果等都有极大的帮助。
4.3 业务知识与测试技术积累
日常工作中,团队一直重视专业技能的培养,因为我们相信,除了应有的专业态度之外我们也必须具备专业的技能与知识,必须与时俱进才能为客户提供更好的服务。团队通过三大方式来实现:
培训:申请客户方专业业务培训、驻场团队BA团队培训、资深测试人员培训、专业公司培训
测试团队每年会联合BA组、开发组等制定年度培训计划,培训内容会包含:业务相关知识、测试技能提升、自动化实现、数据库相关、英语培训等等。测试人员可以根据自身需求来选择相应的培训课程。同时,团队也会派表现优秀员工去参加专业公司提供的测试技能培训。
系统间和系统内业务总结
在日常工作期间,测试组内会展开系统间的业务流整理和系统内部模块之间的业务流整理,来加强测试人员对于业务熟悉度以及业务流/数据流之间的梳理能力。
知识竞赛
测试组内部也会不定期展开知识竞赛等来巩固测试人员之前学习或了解过的知识点,也会通过知识竞赛等方式深层次引导测试人员进行业务思考等。
4.4 沟通专业化
由于所涉及的项目成员构成的较多包括业务、需求分析人员、开发、测试、部署团队、系统支持团队等,同时大项目还包含了多家合作企业的参与,沟通也成为项目构成的重要一部分,所以团队形成了一系列的沟通解决方案:
组织结构合理化
每个项目组都会配备Test Leader, Associate Test Leader, 系统负责人,Tester等几个角色。目前测试团队在项目的人员的沟通职责划分如下:
TL:统一管理组内各项事宜:和业务部门确认需求、监督项目进度、抽查项目质量、制订测试计划、组织需求与用例评审、分配各版本测试、汇总测试日报/周报;主要负责和项目经理、业务部门、QA、测试团队内部进行沟通
ATL:负责测试进度总安排、测试任务总接收、测试版本部署等;负责和开发部门、开发公司负责人、部署人员、测试团队内部进行沟通
系统负责人:负责测试任务安排、问题跟进、测试范围与计划、测试报告等;负责和测试团队内部进行沟通
测试人员:与系统负责人沟通业务疑惑、测试中存在的问题以及缺陷、进度、测试设计、测试执行相关等
模块分工明晰化
测试团队曾经遇到和多家测试公司一同参与一个系统的测试任务。以测试新货币网为例:在初期做模块分配时,恒天内部就制定了以下两条原则:
不同测试公司间的模块划分尽量不做交互,没有重叠。确保同一模块功能由同一家公司测试人员完成,以避免后期一些责任的划分。
尽可能的发挥各公司业务知识上的优势,合理分配资源。
沟通合作态度专业化
团队在测试各阶段,都能以专业的沟通合作态度与客户方,开发公司,不同系统公司积极合作。简单的将基本上每个项目组日常的工作罗列了一下,如下:
表7-2-2 沟通活动一览