● 在规划中,将来的2~3年内使所有的应用系统上线都必须有数字化的测试数据作为依据。
2.公司应用系统的情况
由于保险公司的业务种类繁多,同时在经过了几十年的经营后,公司内的应用系统从早期的终端方式到现代的J2EE和.NET等应有尽有,鱼龙混杂。IT部门已经建立的3年规划,即在未来的3年时间内将所有终端和C/S方式的应用转换成B/S架构,但当前仍然需要对这些旧应用系统进行维护,以保证业务的顺利进行。对于开发部门来说,目前新应用开发基本上已经以B/S架构为主,主要是基于J2EE架构的Web HTTP应用和部分Window.NET Form的应用。
3.公司软件测试现状
企业机构在做测试自动化选型时一定要考虑清楚企业内部哪些部分可以实施自动化、哪些部分暂不实施自动化、哪些部分仅在某几个项目做自动化试点。切忌匆忙上马或盲目否定,缺乏实事求是的理性思考。
测试部门目前仅负责系统测试和对用户验证测试进行管理,对于之前的单元测试和集成测试主要由开发团队中划分出的一部分临时测试人员完成。由于缺乏监测手段,测试部门也无法收集和确定集成测试和单元测试的完成情况,在整个软件测试过程中,业务需求是由开发部门通过Rational RequisitePro进行管理,但测试需求目前尚没有提出要求,测试案例主要通过在公司公用的文件服务器中的目录管理方式管理,对测试中缺陷流程等管理主要依靠邮件的流转进行处理。目前90%以上的测试是通过Excel和Word等测试案例文档来完成,测试人员对软件测试自动化的认识仅停留在“记录+回放”的认识上。
4.可供选择的方案
方案A: A公司可以采用美科利(Mercury)公司产品为主的软件测试自动化方案。
● 依照原先的邮件流转过程配置TestDirector缺陷管理流程,为每个保险业务的开发小组和测试团队分配相应的用户许可证,取消原有邮件方式。
● 部署Mercury Quick Test Professional,以便完成应用程序相关功能测试。
● 部署Mercury Load-Runner。从测试团队中分化出专职的性能测试自动化工程师和小组,和业务部门协调,建立A公司应用系统上线性能指标,通过LoadRunner给出测试指标。
● 建议A公司成立专门的质量控制部门,对TestDirector中的数据定期进行分析,建立相关质量模型,以便于企业量化管理和过程改进。
方案B: A公司也可以采用IBM Rational产品为主的软件测试自动化方案。
● 采用Rational Test manager来进行整个测试流程的管理,为相关开发和测试小组成员分配相应权限,改变以前通过邮件以及Word、Excel文档管理测试的工作方式。
● 部署Rational Robot,用它来完成功能相关的测试工作以及新版本发布时的冒烟测试。此外,Rational Robot也能较好地完成性能相关测试。统一的操作方式降低了工具的学习周期和培训带来的大笔开销。
● 部署Rational Purify plus,使测试工作前移到开发阶段。由于Purify plus能较好地支持白盒测试,编程人员在编码阶段引入的错误能尽早被检测到,这大幅降低了后期测试的开销。
● 建议A公司成立专门的质量控制部门,对Test manager中的数据定期进行分析,建立相关质量模型,以便于企业量化管理和过程改进。
方案C: A公司也可以采用开源软件为主的软件测试自动化方案。
● 采用Bugzilla来进行Bug跟踪管理,采用Bugzilla Test Runner进行测试用例管理,采用CVS进行测试资源的配置管理。