在看微信公众号的时候,无意中看到了一篇如何做好测试管理的文章,觉得很受启发。回想自己做测试管理的这段时间,感受颇深,跟以前做一个纯粹的测试,工作模式和时间分配相差还是很大。以前自己只需要做好自己的项目,不需要再思考整个团队的个人发展轨迹,以及部门如何与其他部门更有效的结合起来。

一、组织管理

测试组织总体架构 测试组管理_测试组织总体架构

组织管理:建立组织架构、规定岗位职务、明确责权关系等手段以有效实现组织目标的过程。

作为技术管理者核心:如何高效地管理技术开发人员,以及如何满足组织的战略目标。

测试管理主要工作包含4部分:向下管理、向上管理、向外管理、自我管理。

1、向下管理

  1、角色认知

    由普通的执行者变成牵头者,由独立按时保证完成某项任务变为带领团队每个组员完成各自任务,并且做好分工;由暴露问题、提出问题变为总结问题、解决问题者;刚开始可以从具体任务着手去发现和解决问题,需要善于发现和总结问题,你可以多分配组员去完成任务,并对执行过程进行监控(主要可以是评审测试用例、测试过程的每日进度及问题、测试后的总结复盘、关注线上问题、线上问题具体分析、了解测试的过程,当时是怎么进行测试的、为什么没有测到位、制定一些流程规范)、二是团队合作问题,跟开发合作过程中的痛点、不顺畅的地方,从项目的各个阶段去发生问题解决问题。

  重点:着眼于整个团队、善于发现问题解决问题、善于思考、敢于打破常规去创新。

  2、规划你的团队

    找到团队定位:结合公司发展,结合业务发展需求与测试部门的愿景进行结合,做合理的规划。比如业务快速发展期,为了快速响应业务的发展需求、测试的主要目标是快速持续且高质量地交付项目,重点是测试工作要能够起支撑业务的目标。技术上要从业务痛点问题出发,比如重复的工作可以考虑自动化实现,手工的部分考虑脚本实现。当业务发展到稳定器,需要关注质量、如千行bug率、无效bug分析、二次上线率等,做好规划技术层面。

    做好资源分配:充分利用好每个人力,如何保证每个人的工作都有其价值;比如业务能力强的,可以让他参与业务规划;技术能力抢的,在发现某个问题可以用技术手段解决的时候可以尝试让他去做整个规划并牵头去实施。

  3、打造测试的影响力

    多沟通、尝试了解并帮助其他角色解决问题、抓住跨部门合作项目,充当owner,把控项目,打造影响力。

  4、其他方面

    包容心、关心组内成员。

2、向上管理

  1、如何让你的领导了解你在做的事情

    日常汇报、每月沟通

  2、帮助领导了解一线执行人员遇到的问题

    暴露问题、反馈问题

  3、积极响应leader推动的一些事项

综上所述,

  1、招聘:硬技能、软技能、素质、潜力的考察

  2、做好分工,量才而用,计划、控制、优化测试人才的使用

  3、解决日常项目的问题,把控项目的进度、质量、成本、应对风险,不断扩大测试部门的影响力。

  4、员工考核:制定、跟踪、考核、淘汰,培养组员综合能力的成长,成为导师

  5、跟进员工工作状态和产出,引领测试部的技术发展方向,解决技术难题

  6、跨部门协调,解决项目和团队中产生的矛盾,获取公司重要信息,上传下达

  7、明确测试部门所处公司架构中的位置和定位,例会、项目阶段会、1V1沟通会

  8、为团队取得更多的资源和利益(预算、人员、考核结果、培训资源、硬件资源、薪酬等)

  9、学习、跟进技术发展方向和趋势,获取行业最佳实践经验,并分析

二、带好测试任务和做好员工培训工作

2.1 带好测试任务

1.必须重视沟通

  既然项目需求不清晰,那就别不好意思不说,必须用实际行动来解决,那就是开会和讨论。

2.详细记录会议情况

  会议开完之后,将邮件发给所有参会人员以及相关的领导,让所有人了解项目的进展情况。

3.根据确定的内容,写测试案例

  先把确定的内容写出来,一点点地完善(项目的需求是不断变化的)。

4.日报反馈

  特殊项目特殊对待,做好日报的工作(一般的项目不需要日报,周报或者月报就可以了,但 是本项目特殊,还是日报更好)。做好及时反馈,每日发送测试日报,日报的内容如下。

  • 今日测试的模块。
  • 遇到的问题。
  • 发现的 Bug。
  • 明天需要做的事情。
  • 意见与建议,需要哪些帮助。

注意,邮件除了发送给项目内部人员,也一定要抄送给相关的领导。发给领导的好处有 如下几点:

  • 自己力量小,别人都不当回事,可能会影响项目进度。
  • 一定程度上给开发人员施加压力,让他们尽快修改 Bug。
  • 体现出自己认真负责。  让领导知道项目进度,及时反馈,保证项目顺利进行。

2.2 做好员工培训工作

(1)综合考虑测试部门人员的测试技术情况,制订培训计划。

(2)培训内容主要包括软件测试技术、测试工具的使用、公司产品、部门工作流程、项目管理和软件测试配置管理,主要提高测试人员的技术水平。

(3)测试相关资料模板的制订,包括测试计划、测试方案、测试用例和测试报告模板等, 主要是指导测试人员进行文档编写。

(4)测试人员能力要求。

1)技术知识:包括表达、交流、协调、管理、质量意识、过程方法和软件工程等。

2)测试技能及方法:包括测试基本概念及方法、测试工具及环境、专业测试标准、工作 成绩评估和熟悉测试的产品所用到的技术,并掌握测试工具和方法等相关技术。

3)测试规划能力:包括将业务任务和技术任务相互独立、能够适应不同的测试项目、 风险分析及防范、软件放行与接收准则的制订、测试目标及计划、测试计划和设计的评审方法等。

4)测试执行能力:包括有成熟的测试过程管理规范、测试数据、脚本、用例、测试比较及分析、缺陷记录及处理和自动化工具等。

5)测试分析和改进能力:包括测试度量、统计技术、测试报告、过程监测及持续改进。

(5)测试人员技能要求。

1)测试工具(性能测试工具、安全性测试工具和配置管理工具等)、测试自动化编程、 编程语言、操作系统、网络、数据库及测试生存周期的技术技能。

2)测试过程:评审、制订和改进过程,指导工作,了解业务领域的发展。

3)任务安排、跟踪和报告,监管测试工程师,掌握测试周期使用的工具。

4)管理项目,与客户交流,管理测试人员。

5)项目或产品研发指导、促进产品销售、确定业务机会和承担盈亏责任。

(6)测试组织管理者的工作能力在很大程度上决定测试工作的成功与否,测试管理是很困难的,测试组织的管理者必须具备以下能力。

1)了解与评价软件测试政策、标准、过程、工具、培训和度量的能力。

2)领导一个测试组织的能力,该组织必须坚强有力、独立自主、办事规范且没有偏见。

3)吸引并留住杰出测试专业人才的能力。

4)领导、沟通、支持和控制的能力。

5)提出解决方案的能力。

6)控制测试时间、质量和成本的能力。

三、测试管理的能力和素质

3.1 测试经理最重要的能力

测试经理最重要的能力:识人、用人、带人的能力。同时也包含测试技能、团队管理能力、项目管理能力、沟通能力,一般来讲,测试经理需要懂技术、懂管理、懂政治和懂客户体验(时刻考虑与其他人交流、如何完成项目),保证正确理解项目需求,同时也更好地将测试范围与下属充分沟通;同时需要了解软件工程的相关内容,得到PMP、软件测评师等方面的认证。

3.2 测试经理需要什么样的能力

硬技能:

测试组织总体架构 测试组管理_测试组织总体架构_02

软技能-PMCDF也适应于测试经理的能力发展,有3个维度:知识能力、个人能力和执行能力。

  • 1.知识能力:有没有学习并掌握项目经理的相关知识技能(是否获得 PMP 认证,是否获得其他同等认证)。
  • 2.个人能力:项目经理在执行项目活动时的行为表现,包括其态度与个性特征等,是否有助于达成项目目标(可以通过对项目经理行为的评估而得以证实:自我评测、队友评测、专业评测和结果反馈)。
  • 3.执行能力:在实际工作中,是否使用了项目管理知识技能,是否取得了期望的结果(对项目相关行为和结果进行评估:自我评测、队友评测、专家评测和结果反馈)。

 

测试组织总体架构 测试组管理_测试人员_03

3.3 如何平衡自己的管理和技术贡献

(1)团队管理要学会“灰度”,学会授权。但是关键的影响项目效率或成败的一些工作内容,如设计评审和需求评审等过程,要留给自己去适当地处理,积极地参与,持续地跟进项目并编写和执行测试,避免掉队。

(2)每天给自己留出一个时间周期(前提是把其他事情处理完成,排除管理等干扰),比如用两个小时,独立验证与处理项目中的一些关键点,甚至是自己搭建测试环境,这样不仅能提高测试的效率,也不会让自己掉队,还能无缝地融入到项目中。

(3)最重要的,学会不断充电。要想成为管理者,必须要不断学习。

3.4 关心下属的工作

  没有做完的工作,也没有解决完的难题。根据实际情况划出优先级,保证某几件事情能够 100%完成,这样不仅能让项目出效果,也能让整个团队获得真正的成就感。

  学会做领头羊,指导下属如何工作,不仅要让他们知道做什么,也要让他们知道 为什么这样做,只有这样,整个团队才能不断提升,而不是机械化地执行。

 综合来看,很多招聘对测试经理的职责要求:

  1、对软件测试流程有较深刻的理解和丰富经验;具有丰富测试管理及10人+团队管理经验

  2、有行业领先的测试工具、质量管理平台的设计开发和开发管理经验

  3、熟悉掌握Java或python开发语言,熟悉性能测试

  4、具有业务类系统、高可用类系统质量保障经验,或相关行业的大项目经验

  5、熟悉较大规模团队写作中不同阶段典型的质量和协作效率问题,有自己成功的实践经验

  6、强大的主动性、善于发现、澄清、分析、综合、协同解决问题

  7、清晰的目标规划和分解、匹配资源和路径落地的实践,为结果负责。

  8、有很强的成就事业的企图心,在培养团队上有成功实践和沉淀

  9、良好的口才和培养能力

  10、大公司的从业经验

  11、独立思考和做决定的能力

四、测试管理的目标管理

  1、明确测试部门的定位,明确长期和短期目标

  2、制定年度、季度、月度KPI的考核要明确

  3、根据考核完成任务分解,责任到人

  4、识别和应对潜在的风险,克服当前遇到的困难

  5、定期跟进KPI完成,不断调整

  6、能够为研发和公司做哪些更有价值的事情[研发部门需要什么、质量管理需要什么]

五、测试团队的价值

  1、项目的测试质量、进度、成本

  2、功能测试框架的创建和完善

  3、bug预防体系(缺陷管理系统)

  4、制定和完善测试规范、推进开发规范的制定、自动化测试落地能力、在线监控能力、性能测试能力、安全测试能力

  5、工具和质量平台相关的建设

  6、研发流程优化,CI/CD,敏捷流程测试

  7、配置管理、产品和技术评审中的价值、搭建质量体系、提升测试人员自身的能力和经验

  8、提升测试管理人员自身的能力和经验

  9、输送人才到公司其他岗位

六、如何考核手下员工[绩效的设计与运行]

6.1 绩效考核的作用

  (1)提高工作效率。 要求员工在工作时按照合理的工作标准,制定一个可达成的目标,使他们有团队成就感、 安全感和责任感。让他们合理地完成工作,从而提高团队的整体水平和质量。

  (2)避免人才流失。 要合理地制定绩效考核体系,体现出员工的价值,这样才能使员工更有信心地去学习更多的技能,并且还会引进新的测试技术。相反,如果采用不合理的体系进行考核,员工受到不公平的待遇,则会引起不满,甚至导致人才流失。

  (3)辅助实现企业的战略目标。 对测试人员考核,要与企业的战略目标保持一致。测试团队的发展目标要紧跟着企业的发展做详细规划。虽然说在进行绩效考核时,考核的是人,但是在工作中,需要团队之间的 合作,才能更好地完成任务。所以绩效考核时,考核的不仅是个人,而是一个团队的目标。 只有整个团队的目标提高了,才能实现整个企业的战略目标。

  (4)量化地提拔任用人才。 绩效考核能体现出员工的能力,为晋升、薪酬的制订和任务安排提供重要的依据。让员工了解自己的优缺点,给自己一个合理的定位。

10.2 绩效考核的原则

  目标管理是使经理的工作变被动为主动的一个很好的手段。实施目标管理不但有利于员工更加明确、高效地工作,更是为未来的绩效考核制订了目标和考核标准,使考核更加科学化和规范化,更能保证考核的公开、公平与公正。目标看似一件简单的事情,每个人都有过制订目标的经历,但是如果上升到技术的层面,经理必须学习并掌握 SMART 原则,具体如下所示:

  • 目标是具体的。
  • 目标是可以衡量的。
  • 目标是可以达到的。
  • 目标是以结果为导向的。
  • 目标是有时效性的。

  在遵循 SMART 原则的同时要遵循公平与公开的原则。在进行绩效考核时,应避免主观偏见,力求实事求是、真实、科学和公开地对每个员工进行考核,避免在考核过程中出现假公济私的现象。

 

10.3 绩效考核内容

测试组织总体架构 测试组管理_测试管理_04

 

 

 

测试组织总体架构 测试组管理_测试人员_05

 

 

绩效考核的设计原则:

1.测试任务

测试任务是测试人员日常的工作,考核的内容包括以下几项。

(1)测试资料的质量,如测试计划、方案、用例和测试报告编写的质量和评审等。

(2)Bug 的质量,主要评估提交的Bug 描述是否准确可复现,发现Bug 的严重程度是否高级。

(3)测试相关资源准备情况,如缺陷库、测试库以及测试环境,有没有在项目需要之前 准备完毕。

2.擅长域

  擅长域,顾名思义,即是一个人擅长的技能。擅长域与员工自身的职业规划相关,也与企业的战略目标息息相关。

例如,小李的职业规划是往自动化测试方向发展,在填写擅长域 时,往往与自动化测试工作相关,如使用自动化测试工具,提高工作效率等;小王职业规划 是做性能测试工作,那么在填写擅长域时,则与性能测试等相关的工作有关。用这种方式,不仅提高了员工的积极性,给了他们实现自己职业目标的机会,也给企业带来了很大的利益, 因为让一个人做自己喜欢做的事情,效率永远是最高的。

3.创新能力

  随着互联网的发展,技术也在不断更新换代。在很多情况下,需要引进一些新技术和新 知识。只有不断地创新,接受新知识,才能更好地提高测试团队的整体水平。

4.加分项

  加分项包括工作量和测试用例复用率。

  在工作中,多少会有一些临时项目或紧急任务。在这种情况下,如何去衡量工作量,主 要是通过一些紧急任务的完成情况来衡量,这种情况也能锻炼测试人员处理紧急项目的能力 和技能水平。

  在整个测试工作中,大部分时间都是用来设计测试计划、方案或者测试用例,测试执行 的时间占用很少。测试用例复用可以节省更多的时间去完善测试案例的设计,提高工作效率。

5.工作态度

  测试人员的考核绩效是在整个企业的绩效考核之下完成的,一个人的工作态度、规章制度执行情况、创新力和培养他人的能力息息相关。 工作态度主要考核敬业精神、责任心、主动性、团队协作、技能水平、学习培训意识和 领导满意度。 规章制度执行主要包括保密意识和成本意识。

  1、工作质量:漏测、项目数量、用例数量

  2、工作量:加班

  3、效率:是否按工作计划完成

  4、创新:个人提升、组织提升(编程、自动化、性能、Linux、Mysql、持续集成、流程改进、规范的制定、网络、引入新工具)

  5、组织文化:项目经验分享、技术经验分享、见识,阅历分享

  6、协作:360度考核;主观打分:30%

七、常用的测试组织架构模型

测试组织总体架构 测试组管理_测试管理_06

测试组织总体架构 测试组管理_测试管理_07

测试组织总体架构 测试组管理_测试人员_08

 八、如何组建团队

组建测试团队:比如如何制定部门规划与流程规范、如何制定KPI、如何提升人员素质、如何打造团队文化和凝聚力、如何提高执行力等等。

工作初期,多参与测试任务。初做测试经理,肯定会遇到各种各样的困难:工作不受重视,被领导批评,这些都是常有的事,不过话说回来,觉得工作累,也说明你正在走上坡路。多带团队做一些重要的有挑战的项目,多通过一些具体工作来 指导自己的下属,培养他们的思维和技能。说到底,选择一个团队,一是为了谋生,二是为了谋发展。发展有两个方面,一是职位的晋升,二是技能的提升。职位晋升不是那么容易, 更多的人还是更看重技能的提升,特别是年轻的同事。

8.1 工作安排

(1)尽量避免并行工作,要教给下属如何进行工作分配,把看似并行的工作串在一起做, 保证员工在一个时间段内只做一件事情。

(2)安排老带新,这样不仅能培养老员工的能力,也能让你空出时间做其他的事情。

(3)让新员工在测试新程序之前,先重新测试老程序或者是先进行老版本的回归测试。 这样不仅使工作可控,也可以很好地锻炼新员工。

(4)自己也要跟员工一起工作,不要高高在上。

8.2 工作评估

(1)工作完成质量和效率如何。

(2)阅读其工作产出物。

(3)收集与其一起工作的开发或其他有关人员的意见。

(4)他卷入过什么争端,为什么,又是怎么做的。

(5)他在遵守诺言方面做的怎么样。

(6)他遗漏了什么类型的问题。

(7)他对其他测试员和程序员提供了什么类型的帮助,以提高他们的工作有效性和生产率。

(8)他在学习新技能吗?是否乐于分享自己的技术帮助同事提高。

(9)他在处理问题上的角度如何,是否从公司角度处理问题,处理过哪些?

综合以上:

  1、深入了解当前公司、部门的实际情况以及组织架构

  2、有态度、有激情、有理想的人。

    毕业生:活力;

    有一些工作经验的人:有激情、有想法、不世故、无包袱,不拖沓、可塑性强;

    有多年工作经验的人:经验和阅历;

    测试高管:真实的团队管理经验。

   3、合理的方法来提升凝聚力(钱、前景、平台、细节)

   4、培养核心

九、高效管理团队

团队发展规模:

测试组织总体架构 测试组管理_测试管理_09

  初创期:培养心腹、逐步建立流程、求稳不求胜

  发展期:分工和责任明确、考核明确、建立缺陷库、改进测试手段。

    业务测试:主要是负责系统的功能业务测试,包括手工测试和自动化测试。

     测试开发:有一定的平台化产品来支持测试团队本身。

    性能测试:比如电商行业。可以先从接口级开始,逐步建立规范、积累经验,从无到有地建立自己的性能考核体系。

    专项测试:主要是针对移动端APP的,如APP的内存、CPU、电量、流量、GPU等的测试。

     QA:根据项目手机质量数据,然后进行分析,对研发体系和质量体系进行优化和推进工作。

  稳定期:团队文化建设、项目管理、业务和技术的深入研究。

测试组织总体架构 测试组管理_测试组织总体架构_10

 十、高效测试团队的精气神

10.1 部门文化

这个测试部的团队精神,总结起来就是:纳容、传承和创新。

(1)纳容。

  • 容纳的原意:在固定的空间或范围内接受(人或事物)。
  • 引申为部门精神(容纳变成纳容):主动地去获取新事物或知识,并且变为自己的东西

(2)传承。

  • 传递,承接,沿袭创新。一般指承接好的方面,有承上启下的意思。
  • 引申为部门精神:互相承接对方好的方面,共同进步和发展。

(3)创新。

  • 运用已知的信息,不断突破、发现或产生某种独特的新事物。

部门的精神用一句话来说明:每一个成员都需要主动地学习新的知识和技能,不断突破自己,推陈出新,互相帮助学习,为团队的整体利益和目标奋斗。

10.2 合乎发展的灰度管理

灰度管理与授权有一些差别,灰度是一种管理方法,是一个过程, 而授权则是对具体任务或事件的授予执行。

灰度主要目的:发挥所有团队成员的主观能动性,提高管理的效率和团队成员的进步速度以及团队凝聚力。

测试组织总体架构 测试组管理_测试工具_11

1.管控的原则

  • 3 个不放手(总体计划不放手、总结审核不放手和关键功能不放手)。
  • 3 个原理(控制趋势原理、例外原理和直接控制原理)。

2.管控的类型

  • 前馈控制(风险识别与防范)。
  • 现场控制(过程干预)。
  • 反馈控制(事后总结)。

10.3 个人与企业的目标调整

测试组织总体架构 测试组管理_测试组织总体架构_12

测试部的擅长域体系规划:

测试组织总体架构 测试组管理_测试管理_13

10.4 为每个成员搭建一个发展愿景

 

测试组织总体架构 测试组管理_测试组织总体架构_14