概述
一个有活力的组织总是在人员、流程和技术三方面不断改进,追求更高的社会效益和经济效益。大多数的组织都建立有信息技术部来实现 IT 技技术改进业务流程,提高人员效率,它们也会首先建立 IT 运维中心,或称为数据中心、信息中心,来运维和管控组织的 IT 系统。一些较大的组织还建立起专门的研发中心来掌控 IT 技术。随着 IT 在组织中的作用加大,为提高 IT 系统质量,测试中心逐渐从开发中心和运维中心中分离出来,逐渐形成信息技术部统一业务指导下的开发中心、测试中心和运维中心三中心相互制衡、共同发展的局面。特别是 2000 年以来,随着测试技术的发展和测试部门的不断成长,越来越多的组织开始建立自己的测试中心,测试不再仅仅作为开发的后期阶段,系统上线的前期阶段,而是贯穿整个应用系统的全生命周期中。测试中心在从需求的提出到系统的运维全过程中,与开发中心、运维中心进行业务交互,共同保证系统的高质量交付和运维,支撑组织业务的发展。
组织的信息技术部、开发中心、测试中心和运维中心共同负责组织的信息化平台,提供 IT 服务。随着这一部三中心的发展壮大,它们自身的 IT 水平开始受到重视。一般以为,它们为组织提供 IT 服务,那么它们自己的 IT 服务水平应该会较高,其实不然,由于业务部门提供了资金给 IT 部部门来提高信息化水平,IT 部门重点在于多、快、好、省地实现业务部门的要求,而常常忽视了自身的 IT 建设,一是缺乏专门资金,二来也缺乏时间。我曾看到一家大型的开发中心有员工 1500 多人来为企业开发 IT 系统,但为该开发中心自己建设 IT 系统的开发人员不到 5 人。在一家 400 多人的测试中心,仅仅从外包厂商那找来了 2 人开发满足测试中心自身需要的 IT 系统。本文探讨正在兴起的测试中心的信息化平台建设,首先基于测试中心的定位和业务流程,分析信息化平台建设目标,给出软件测试中心的信息化平台参考框架。
回页首
测试中心定位和业务流程
测试中心、开发中心和运维中心三足鼎立,相互制衡,在信息技术部的业务指导下,共同实现 IT 系统的开发、测试、运维和演进。测试中心主要负责 IT 系统的全生命周期质量保证。这一部三中心的主要业务模式如下图所示。
图 1. 一部三中心主要业务模式
测试中心接受业务部门的测试需求和任务,与开发中心同步开始需求的分析,制定测试计划,设计测试架构,参与评审开发中心的系统需求和总体架构,编写测试用例。从开发中心接收到测试版本后,进行系统测试、性能测试(以及安全测试等非功能测试),和用户验收测试,测试过程中发现的问题即时反馈回开发中心修复。测试通过后,提交给运维中心上线,运行过程中,遇到功能缺陷,运维中心反馈回开发中心和测试中心确认,测试中心协助开发中心定位问题,开发中心修复缺陷后,再经由测试中心验证,提交给运维中心。运维中心在系统上线和运行过程中,遇到一些使用问题,如安装、系统配置,功能使用方式等,可要求开发中心提供技术支持。
回页首
测试中心信息化平台建设目标
基于测试中心的定位和主要业务流程,我们讨论在测试中心建立信息化平台有哪些需求,要达到哪些效果,实现哪些目标。我们看来,通过信息化平台,能够帮助实现测试工作的集约化、标准化和自动化。具体包括如下主要目标:
实现测试工作集中统一的管理。借鉴业界理念和方法,在测试中心工作的各个环节,如项目管理、进度管理、质量控制、版本管理、问题和缺陷管理、测试环境准备和维护、生产事件分析和管理、测试技术支持等,均形成中心统一的、流程化的管理模式,中心对于各类测试项目和任务,各级测试人员的监控和跟踪具备完善的信息化平台。
实现各类测试制度流程的固化。测试中心汲取业界领先实践和经验,通过信息化平台来固化业务流程和制度,测试人员在学习制度后无需再机械记忆和反复查阅制度,而通过信息化平台的硬性控制来保证制度在实际工作中的执行。
实现测试信息的智能分析和展现。研究业界领先的信息自动收集、展现和分析的方法技术。测试工作各方面的信息,包括过程指标、结果指标、员工绩效、部室评价与考核情况等各类信息均可以通过信息化平台进行自动收集、智能分析和主动呈现,系统根据不同角色的登录用户,按照对应的权限提供所关心的重点信息。
实现测试资产的有效积累。学习和掌握业界资产积累策略和方法,测试知识和经验能在平台上为全体测试人员分享,实现某个项目或某个员工好的测试方法或工具能被全中心的测试人员借鉴。测试人员的知识、经验和技能利用平台逐步积累和分享,从而使得测试中心资产重用率、分享率以及测试的自动化程度逐步提高。
实现测试工作的专业化。从业界成熟测试组织的组织和工作方式角度,研究通过测试信息化平台,实现各项测试工作合理的专业化分工,如测试设计和测试执行、技术测试和业务测试、功能测试和性能测试等能达到理想的分工合作状态,促进测试工作既能向专业纵深发展,又能通过平台实现整体合力。
实现测试工作强有力的风险控制。通过测试信息化平台,对环境准备、测试前移、技术测试设计、业务测试设计、测试实施、版本交接和投产等各个阶段实现自动化的风险识别和分析,将版本测试过程中各个环节的风险提示给相应的人员,并且跟踪其处理结果,实现风险管理和控制的智能化。
回页首
测试中心信息化平台参考框架
根据测试中心信息化平台建设目标,基于业务组件模型(CBM,Component Business Models),信息化平台参考框架如下:
图 2. 信息化平台参考框架
图 2 大图
全生命周期测试信息化平台分为三层:
规划层,支持中心的战略方向,为中心领导提供决策支持。