测试部门的主要职责如下:
(1)与内容产品部和软件产品部配合完成软件需求分析讨论,并根据需求说明书制订《项目测试方案》,编写《测试用例》,建立测试环境。
(2)负责完成研发部各开发组研发的软件产品开发过程和投入运营之前的新增软件和修改升级软件的模块测试和系统测试。
(3)建立、推广并维护实施软件版本管理系统CVS和VSS。
(4)使用并维护软件缺陷管理系统Bugzilla,负责软件问题解决过程跟踪记录。
(5)负责推广实施软件开发文档规范化工作,管理研发产品相关文档。
(6)负责配合软件运维部门等对于新业务软件或修改升级业务软件的上线测试工作,并提供上线测试报告。
(7)负责监督软件开发流程的执行,并负责提出软件开发过程改进建议,提高软件产品质量。
为了保证软件的开发质量,软件测试应贯穿开发的整个过程,包括对设计和所有实现结果的检测。然而在实际工作中,由于研发部门的开发速度滞后于业务发展、业务需求不完整、业务不断变化、开发部门无原则地迁就业务部门、同步开展的测试项目及测试过程没有业务人员参与等原因,加大了管理人员跟踪测试进度和统计测试错误的难度。同时,由于测试人员的流动性较大,使得项目的测试难以连贯、有效地进行,也给测试管理带来了较大困难。为了解决上述问题,有必要成立专门的测试管理组,由测试管理组对测试进行统一、规范的管理。测试管理组包括评审小组、测试小组和支持小组。
1.评审小组
在软件研制阶段,一般要求在里程碑点进行软件评审,而软件评审相当于软件生产过程中过滤软件错误的一个“滤波器”。软件评审的主要类别包括:软件定义评审、软件需求评审、详细设计评审、软件实现评审和软件验收评审。
评审小组应坚持如下评审原则:未通过阶段评审的项目不得进入下一个研制阶段;评审时对事不对人,要尽可能找出软件的缺陷和隐患;评审只提问题,不必解决问题,只将争论点记录下来,供以后甄别。评审小组可根据不同项目,由业务人员、开发人员、用户等组成。
2.测试小组
测试小组实行组长负责制,组长负责组员工作的安排、检查和进度管理,对整个测试过程和产品质量进行总结和评价。测试小组成员不但要有一定的分析、设计能力,还必须有责任心。这是因为,有的产品之所以投产后会出现问题,与测试人员不重视软件测试,随意缩短测试时间、简化测试环节(如只进行正交易的测试,不进行反交易的测试)等做法有直接的关系。
3.支持小组
支持小组的机构设置一般相对比较稳定,主要负责网络管理、数据备份、文档管理、设备管理和维护、员工内部培训、测试理论和技术应用、日常事务管理和检查,以及开发项目的版本管理等。
软件测试过程分成4个阶段:单元测试、集成测试、系统测试和验收测试,根据不同阶段的测试内容,测试工作可由编程人员或专门的测试组来完成,测试组长负责整个测试的计划与组织工作。