2016测试部门规划与管理
1. 引言
1.1测试部门现状
部门划分后通过学习、观察,了解到我们公司现阶段的测试组的情况如下:
1)测试流程不规范;
2)测试文档不健全;
3)测试文档也没有控制和管理;
4)测试人员不参与需求分析;
5)被测软件没有版本控制;
6)测试部门人员多为行业的新人。
1.2编写规划目的
根据测试部门现状,以及公司领导对测试部们的重视与期望,该文档明确定义了测试部门岗位职能、测试流程、测试文档规范、日常项目工作、部门考评机制以及测试部门人员技能与业务的培训等方面,同时该文档将作为测试部门发展的一个指导,在后期的工作实践中由测试部门成员不断地改进优化,使得测试部门能够更好与其他部门成员做好产品的质量控制。
2. 测试部门规划
2.1团队建设
1)岗位职能与技能:参考质量管理流程,测试人员分3个岗位, 具体职能如下:
a. 测试组负责人:负责项目测试环境搭建和bug 管理库的维护、同时负责协调测试组所有事宜,包括与开发、需求、设计人员的沟通,分配任务并指导团队测试人员做系统测试,在项目的不同环节阶段输出相关的项目文档,如:测试计划、测试报告等。
b. 自动化测试工程师:负责项目的自动化测试工作,输出文档:自动化测试计划、自动化测试用例、自动化测试报告等。
c. 功能测试工程师:负责项目的功能测试和流程测试,提出bug 到bug
管理库。输出文档:功能测试用例、功能测试报告。
根据公司现状,测试部门目前暂时定位为:测试组负责人、功能测试功能师两个岗位。
2)测试人员技能要求:测试岗位不同技能要求的程度也会有所不同,测试团队的成员应该对现市场上比较流行的各种测试软件都应有简单的了解,对于公司部门内部使用的测试工具能够灵活运用。以下测试技能和工具需要部门人员能够掌握到一定的程度:
a. 测试部目前选择JIRA 做为部门的bug 管理工具:要求测试部人员对
于从测试需求到bug 列表管理的功能熟练使用,并能够做测试报告总结。对于测试组负责人和配置管理员除了功能使用外系统管理员的常用功能使用熟练。对于市场上流行的Bugzilla 、bugfree 、QC 、mantis 等都能够有一定的认识。
b. 公司目前使用svn 作为配置管理工具,要求配置管理员熟练掌握svn
的功能。所有团队成员能够使用svn 做update 操作,并了解简单的svn 知识。对于团队的所有成员队员目前常用的配置管理工具vss 、cvs 、jiar 等工具要有一定的认识。
c. 测试部门计划将QTP 作为自动化测试工具,测试人员需要熟练掌握
自动化测试工具的使用比如:脚本录制、回放,后期随着技能的提高可以独立编写自动化测试脚本;根据测试部门实际需要后期会引入Selenium2自动化测试工具。(由于自动化测试需要编写测试脚本,而脚本语言的学习熟练一直到最后的项目应用,需要一个长期的过程,所以由目前测试部门人员自学的时间成本比较高;一旦公司BS 项目业务做大做强,会根据实际需要考虑从外部招聘自动化测试人员)
d. 除以上使用的测试管理工具外,要求测试部门人员在以下技能方面
有一定的深度。
server2008、Oracle 是公司使用的数据库,要求测试组团队成
员能够熟练的使用这两个数据库的常用的语句, 例:查询、插入、
修改、删除和简单的表关联。
在网络协议方面,测试人员要了解常用的网络协议http 、
oracle 、tuexdo 、snmp 等协议,团队成员根据个人兴趣爱好适
当的学习。
操作系统方面:对于流行的操作系统windows server、linux 、
unix 等,希望测试人员能够了解常用的命令,对于测试组长和
测试人员需要能够独立安装操作系统并搭建测试环境。
其他技能:测试团队成员能够使用viso 、excel 的部分函数编写
测试文档,同时测试团队成员对系统使用的架构和使用语言等方
面根据个人的兴趣爱可以进一步学习。
e. 人员数量:视公司具体情况而定。
2.2测试流程
1)项目整体测试流程:
2) 测试流程:
需要开发人员配合
2.3技能、业务培训
测试部门根据部门人员能力情况,以及测试人员的发展方向,定期安排技能、工具和业务流程的培训等。
技能和工具的培训时间安排一个月1-2次,根据测试部门员工的工作时间进行调配。学习内容将汇总测试部门人员的期望学习意愿统一安排。每次培训结束后希望测试人员能够有所收获。
业务流程培训将根据部门人员参与项目情况,会请需求和设计人员统一给测试人员做培训。
2.4日常项目管理
1)测试各个阶段的分工:
a. 单元测试:由开发人员完成
b. 集成测试;由测试人员完成
c. 系统测试:由测试人员完成
d. 回归测试:由测试人员完成
e. 验收测试:由测试人员、用户完成
2)测试环境:
测试环境要求测试部门独立搭建并负责测试环境维护,搭建测试环境时需要开发或是实施人员提供系统的安装部署手册、版本代码、数据库脚本等。必要时可要求开发人员做配合。
3)测试过程输出文档:
a. 测试需求:参考需求规格说明书和业务流程说明文档。
b. 测试计划:参考项目整体计划、开发计划以及测试需求。
c. 测试用例:参考需求规格说明书、demo 、系统的详细设计文档。 d. 执行测试:测试用例
e. 提交缺陷单:定期统计bug 管理工具的问题。
f. 测试总结报告:根据各个阶段的测试总结,借助测试bug 管理工具,
对项目做测试总结报告文档输出。
以上的这些文件必需要有的,这样可以有效监督测试整个过程,并且对以后的软件测试也有参考价值,对于相似软件的开发也能提出参考的建议,长期提高软件质量有很大的帮助。所输出文档请按照测试部门文档模板编写; 如果项目经理对测试输出文档有特殊要求,请按项目组输出文档模板输出,测试部门问题模板可以在工作过程中改进并完善。
4)Bug 的追踪机制和处理方法:
使用JIRA 作为项目的bug 管理工具,bug 管理流程参考公司流程,bug 的管控可以根据项目组的需求进行调整。测试部门问题流程管理模板可以在工作过程中改进并完善。
5)项目团队人员安排:
根据项目任务量协调测试人员,至少每一个项目会有1-2人,其中测试组长任务繁重,建议项目组适当的做测试人员的备份,使得在项目中因个人原因而无法到岗情况得到缓解,同时对测试人员的培养提供了空间,希望测试工程师能有一个积极的心态面对工作任务。在工作中测试小组人员阶段性的组织技术和心得的交流,达到共同的进步。
2.6和其他各部门的接口
1)测试组与开发组:
a. 与开发人员交朋友
b. 要采用恰当的方法与开发人员进行沟通,不要总是责怪开发人员的能力和经验,而是要主动协助开发人员解决问题,排除阻碍;
c. 两个部门负责人之间的沟通和协作是工作成败的关键
d. 测试人员一定要熟悉业务流程和技术, 这样才能对系统的bug 有更多的发言权,有时还可以给开发人员提出建议.
f. 明确规定各部门人员的职责
建议:测试组的负责人员参与开发人员的项目需求分析的研讨会,并且对测试组的其他成员进行讲解项目需求与培训业务流程,这样才能保证每个测试人员对所测的系统的业务流程熟悉,对提高软件质量有很大帮助。
2)测试组与其他部:
建议:对于验收测试由开发、需求业务部着重考虑软件是否满足规定的所有功能和性能,文档资料是否完整、准确人机界面和其他方面(例如,可移植性、兼容性、错误恢复能力和可维护性等)是否令用户满意,在适当时候测试人员也要参与。
3. 部门考核与激励
3.1整体考核机制
测试组的考核参见人事部门提供的测试工程师绩效考核表。
3.2测试人员考核机制
1)月考评具体考核项参考考评用表。
2)测试部门人员做月度考评的同时,要求每年的年底写一份年度总结报告。
3.4考评奖励机制
根据部门员工的工作表现能力,考核员工后做职位的级别调整,同时会考虑员工的职业规划做岗位的调换。
部门员工薪资待遇问题,可以根据员工表现在公司统一调薪期间做申请调薪。