2008年8月到2008年12月,我参加了某省级无线运营商的网上营业厅3期项目的开发,并担任项目经理的职位。网上营业厅是该无线运营商的省级网上门户,是其电子化营销渠道的重要组成部分。本文结合我们项目组的实践经验,以网上营业厅3期项目为例,论述了如何制定一份高效可行的测试计划。其中重点强调了采用正确的测试模型对于软件测试计划的重要意义;软件测试人员及早介入需求分析对于项目的需求分析和测试计划的制定起到了积极的促进作用;以及在测试计划制定阶段把握和控制变更的重要性。
项目背景介绍:
2008年8月到2008年12月,参加了某省级无线运营商的网上营业厅3期项目,在这个项目中,我担任了项目经理的角色。我的主要工作是协调项目需求,控制软件质量并按时交付产品。
网上营业厅是该运营商的省级网上门户,是电子化营销渠道的重要组成部分。其主要功能包括:企业形象宣传;新业务、新活动推广;客户进行业务查询和办理等。随着客户对电子渠道认知度的提升,原有的网上营业厅2期在硬件方面,已经无法满足日益增长的客户数。在软件架构方面,已经无法快速响应频繁复杂的需求变更。因此,该运营商提出了对于网上营业厅3期项目的建设计划。3期建设的预期目标为:把网上营业厅的注册客户数从200万提升到500万,并从硬件、软件等各方面保证客户正常使用。
该项目的人员组成包括:1名项目经理,1名软件开发经理,1名系统实施经理,3名程序员,2名页面制作,2名系统实施共10人。项目组的测试人员归属于公司的测试部门,只是逻辑上暂时归属项目组,共3人。项目的开发平台为J2EE。
该项目的硬件大体情况为:14台IBM BCH ,安装apache,作为 web前端服务器。6台IBM P52A,安装weblogic,作为应用服务器。2台P570作为身份认证服务器。2台P570,安装oracle,作为数据库服务器。操作系统使用了红帽企业版 linux 5,以及AIX5.3。
目前,网上营业厅3期成功通过终验,并按时上线。在月初、月末的业务办理高峰期,能够保证客户的正常访问。此项目得到了该省级无线运营商和我所在公司领导的认可。
正文:
软件测试计划作为软件项目计划的子计划,在项目启动初期是必须规划的。在越来越多公司的软件开发过程中,软件质量日益受到重视,测试过程也从一个相对独立的步骤越来越紧密嵌套在软件整个生命周期中,这样,如何规划整个项目周期的测试工作;如何将测试工作上升到测试管理的高度都依赖于测试计划的制定。测试计划因此也成为测试工作的赖于展开的基础。
我认为软件测试计划的制定必须要着重解决以下几个问题。分别是:软件测试模型的选择;测试人员对于需求分析的充分介入;以及测试计划的变更控制。下面,我将结合网上营业厅3期项目,具体论述我们的项目组是如何进行面对和解决上述问题的。
软件测试模型的选择
在软件测试领域有着各种各样的软件测试模型,他们都有各自的优缺点和针对性。网上营业厅3期采用的开发方法是瀑布模型和敏捷方法进行层次化结合后的综合方法,以瀑布模型为纲,从较高的层次划分工作任务,再以敏捷方法逐步迭代和演进。所以,传统的软件测试V模型并不能很好的适用于我们的项目。软件测试H模型是一个强调独立于软件开发任务,并与开发任务并行的测试模型。基于这两个特点,我们最终选择了H模型做为项目组的测试模型。
在网上营业厅的设计当中,有一个日志记录模块负责记录客户访问过的资源以及业务办理的日志。最初,这个模块直接沿袭了2期的设计,在日志记录切面上,拦截到客户的一次访问,就记录一次。这个模块首次交付后,即具备了测试日志记录的条件。根据H模型的思想,结合测试设计好的测试用例,测试人员便开始实施测试。在测试过程中,日志记录模块的功能测试和性能测试都顺利通过了。但是当进行完压力测试后,我们发现以目前3期的硬件投入只能勉强满目标客户数的访问。这样的测试反馈促使我们对日志记录模块的实现方式进行反思。经讨论,我们最后设立了一个日志缓冲池,并启用单独的线程进行日志记录操作。原来是一次一提交,现在改为积累若干条日志后才进行一次批量提交,并且日志池独享一条数据库连接。本次迭代后,测试人员重新对日志模块进行了测试,测试结果表明新的日志模块完全满足性能要求,并且证明硬件设备具有50%以上的性能冗余空间。
由于采用了适用于我们项目组的开发方法的H测试模型,不仅使得软件测试和软件开发能够并行进行,而且测试工作的及时反馈使我们提前发现了系统的性能瓶颈,并且引导我们及早地采取了改进措施。由此可见,在项目测试计划制定阶段,研究项目组的软件开发方法,选择正确的、合适的软件测试模型是制定一份合理有效的测试计划书的重要步骤。
软件测试人员对于需求分析的充分介入
传统的瀑布开发模型认为软件测试是软件生命周期后期的一项阶段性任务。随着人们对软件质量的日益重视,软件测试的地位也变得越来越重要。例如我们项目组所采用的H模型认为软件测试活动是与软件开发相并行的贯穿软件生命周期的一个完整活动。所以,要想制定一份切实可行的软件测试计划,测试人员就必须尽早地介入到软件开发过程中来。
在我们的项目组中,要求软件测试人员从需求分析阶段开始就必须充分介入进来。这样做不仅能够帮助分析人员从可测试性的角度重新审视系统架构,而且反过来,由于测试人员参与了需求分析,也就能够制定更加流畅的,可操作性强的软件测试计划。
该移动运营商的集团规范中明确给出的网上营业厅对于统一认证中心的建设需求。业界的统一认证平台已经十分成熟,所以我们对这一部分采取了外购的形式。在把业务需求转化为产品需求的过程当中,测试人员从可测试性角度给出了自己的建议。他们认为,从测试的角度看,网上营业厅和统一认证中心两个系统应该能够方便地解耦,并分别进行测试。这个建议启发了分析人员,并在产品需求中增加了网上营业厅的独立认证功能。即通过一个配置项来决定网上营业厅是独立进行客户认证还是通过统一认证中心进行认证。这样的功能不仅解决了测试人员提出的问题,而且还增强了系统的健壮性。在测试计划方面,由于测试人员充分参与了统一认证中心的需求讨论和挖掘,所以在制定测试计划时就能够分别针对网上营业厅和统一认证中心设计测试策略,规划测试资源,安排合理的测试时间以及不同粒度的测试强度等等。
软件测试人员充分介入需求分析阶段,可以尽早帮助他们把握系统测试的范围,寻找到有效的测试途径,以及合理地安排测试资源和测试时间。这些对于软件测试计划的制定有着重要的意义。
软件测试计划的变更控制
在软件项目进行过程当中,项目的需求,版本以及资源等都不可避免地要发生变更。有些是计划内的,例如需求的变更,版本的变更;有些是计划外的,例如硬件设备的延期到货等等。这些变更都或多或少地会影响到测试过程。因此,在测试计划当中就应该充分考虑到对于各种变更的控制。
下面我将结合网上营业厅项目,讨论一下测试计划当中对于资源变更的控制部分。网上营业厅的客户量十分庞大,要想对这个系统进行充分的压力和负载测试,就需要有处理能力很强的设备来模拟客户请求。在3期建设初期我们拥有3台IBM P52A,我们计划在新设备到货之前,采用这3台小型机作为测试机器。一台部署迭代发布的软件,另外两台模拟客户请求。但是这3台设备已经过保,它们随时可能会出现硬件故障,所以在做测试计划时,就必须充分考虑设备故障对于软件测试的影响。我们计划首先建议公司投资购买新的硬件维护服务,如果不能购买就必须考虑外借设备。外借设备已经超出项目组的能力范围,就必须计划好如何对此事进行协调。当然,这些可能已经超出了测试计划的范畴,但是一份合格的测试计划必须能够对这种资源变更风险有所预见。
只有充分考虑到各种变更风险的测试计划才能够在实施阶段处乱不惊。
综上所述,本文结合网上营业厅3期的实践经验,详细论述了如何制定一份高效可行的测试计划。其中重点强调了采用H测试模型对于网上营业厅项目的重要意义;测试人员及早介入需求分析对于项目的需求分析和测试计划的制定起到了积极的促进作用;以及在测试计划制定阶段把握和控制变更的重要性。
|