"代码测试"对提交的测试软件版本源代码进行静态代码扫描和动态分析。白盒静态扫描用来检测源代码是否符合公司要求或行业标准的编码规则,集中生成扫描报告,从而确保代码风格的一致性、更少的错误和更好的应用程序性能。另外,对于一些关键应用,可以根据要求,进行代码的内存分析、性能分析,比如发现内存泄露、性能瓶颈等。通过一些专业化的工具,如 Logiscope、PurifyPlus、Appscan Source Edition、Fortify等等,进行代码的扫描测试,而不需要去了解代码自身的结构逻辑。
"功能测试",对软件的各项功能进行测试,一般需要手工进行,但对于 Web 应用和基于图形界面的应用,可以进行一些自动化测试,测试人员在第一次测试时录制标准答案,以后在应用发生了修改以后,或者需要覆盖更多测试环境情况下,调出第一次录制的脚本,让自动化功能测试工具自动运行,得出测试结果。目前业界常用的自动化功能/回归测试工具有 RFT(Rational Functional Tester)和 QTP(Quick Test Professional)。
"性能测试"描述测试对象与性能相关的特征,并对其进行评价而执行的一类测试,如描述和评价测试对象的响应时间、吞吐量以及操作的可靠性和限制等特征。一般可以使用被测系统的动态监测报告、响应时间及吞吐量报告、百分位图报告和各种性能比较报告,对被测对象进行性能测试。性能测试工具常见有 RPT(Rational Performance Tester)和 LoadRunner,可以有效地帮助性能测试工程师验证系统的性能,识别和解决各种性能问题。
"安全测试"主要是针对 Web 应用进行安全检测,防范人为滥用、网络攻击、病毒扩散、恶意窜改应用数据等。常用工具有 AppScan,对 Web 应用和 Web Services 进行自动化安全扫描,简化企业发现和修复 Web 应用安全隐患的过程,根据发现的安全隐患,提出针对性的修复建议,形成多种符合法规、行业标准的报告,方便相关人员全面了解企业应用的安全状况。
"测试数据管理"将测试数据作为测试资产,进行系统化的管理,支持测试数据的评估、核准、使用、评价和更新维护的循环往复过程。对于组织的复杂应用,可以考虑利用已有的真实数据,与运维团队合作,全部或者部分地导出数据,进行数据筛选和内容模糊化处理。这样的数据集类型丰富,比例和关联关系更接近真实世界,是较为理想的系统模拟测试数据。这方面常用的工具有 Optim。
"虚拟测试"通过管理和创建虚拟应用的方式使得测试团队在相关系统没有就绪的情况也能够进行测试。对于一个应用的复杂测试场景可能需要多个其它系统协作来进行,这时可以通过模拟其它测试应用来加快测试进度,集中力量于被测应用。这方面常用工具有 GHVIE(Green Hat Virtual Integration Environment),可对常用的消息中间件处理机制进行模拟。
"测试门户和社区"提供测试中心的信息入口,所有人员都可以在这里找到测试中心的各项业务、管理和技术信息,并提供协作空间,比如可以为每个测试项目创建一个社区,社区中可以包含成员管理、文件共享、任务分派、共享书签、博客、Wiki 等等功能,测试小组成员可以在社区中分享文档、共同创作,对测试任务完成情况进行跟踪维护等。规划层、控制层和执行层中的各 IT 能力组件都可以在测试门户中发布信息,如测试中心各级人员都能看到"质量度量和报告"组件中发布的绩效报告。常见的工具有 Lotus Portal/Connection。
回页首
基于云计算的信息化平台
上面详细描述了测试信息化平台的 17个 IT 能力组件,为增强实现的灵活性和有效利用测试资源,这些 IT 能力组件可以采用云计算的方式来提供。下图显示了整个测试中心的云计算架构。
图 3. 测试中心云计算架构
图 3 大图
测试信息化平台应用和企业的业务应用都构建在云平台之上。初期阶段,也是目前最常用的云计算方式,测试中心整合所有的硬件服务器,形成"基础架构云"(IaaS, Infrastructure as a Service),所有的 IT 能力组件都可以或逐步加入到云平台上。随着云平台逐渐演进到平台云(PaaS, Platform as a Service)和软件云(Software as a Service),这些 IT 能力组件的实现方式也将同步演进。
回页首
结束语
本文首先在讨论 IT 技术发展的基础上,引出了 IT 系统建设的主体之一 —— 测试中心自身的 IT 建建设问题,先分析了测试中心的定位和业务流程,给出信息化平台的建设目标,基于这些目标,给出了测试中心的信息化平台参考框架,分为规划层、控制层和执行层,共有 17 个 IT 能力组件,然后对每个能力组件进行了详细说明,列出各能力组件在市场上常用的工具平台。IT 能力组件和常用工具组合如下图所示。
图 4. 常用的工具平台
图 4 大图
实际采用哪个工具平台来实现 IT 能力组件,不仅要考虑该工具的功能和性能,还要考虑它和其它工具平台之间的集成,避免形成信息孤岛。当一些工具平台能集成到一起时,对应的 IT 能力就能相互促进,获得更大效果,比如 Insight 和 DOORS、EPM、CQ、RQM 等等集成,自动收集数据,生成报表,不仅实现了测试质量度量和报告,还很好地展现了需求管理、项目管理、流程管理和测试管理这些 IT 能力,增加了他们的价值。
本文最后简要介绍了测试信息化平台与云计算的关系,给出了最常用的基于基础架构云的 IT 能力组件实现方式。
在实践中,各测试中心如何构建自己的信息化平台?可以参照自身的 IT 建设现状,以信息化平台参考框架为蓝图,看看有哪些 IT 能力组件还没有,然后根据组织需求的紧迫程度来设定 IT 信息化平台建设路线图,逐步提高测试中心 IT 水平,推动组织的健康发展。
致谢
本文在写作过程中,得到了诸多同事和多家企业测试专家的协助和启发,包括 IBM Rational 技术团队姚炳雄、庄俊乾、程燕宾,全球业务服务部门陈伟、卢杨,系统技术部线涛,中国银行软件测试中心周起文,在此一并表示感谢!