测试也应该具备的项目管理能力

前言

前几天在技术交流群有同学问到:“需求不明确&测试时间不足,经常加班,交付质量也不太好,该如何处理”?

群里其他同学很热心的给出了分析和建议,比如:

  1. 评估是否是技术问题,否则就是测试策略问题;
  2. 调整测试活动开展策略,测试左移提前介入测试;
  3. Deadline Driver Dev,学会自我管理和项目管理;

这些建议都能很好的解决我们在项目中开展测试活动时遇到的问题,但我有了新的思考:测试需要做项目管理吗?

如果做好质量保障工作需要项目管理能力为辅助,那么哪些项目管理能力,需要我去学习和实践?

结合工作实践以及群里各位同学的建议,我得出的结论一句话概括就是:

事前做好风险评估,事中做好进度把控,持续开展复盘改进,保障预期交付目标

示意流程图如下:

事前风险评估

其实在日常的工作中,风险评估这件事我们一直在做,比如:需求评审、技术方案评审、测试用例评审,本质上都是对要开展的项目进行前置的风险评估,判断是否有设计缺陷、技术缺陷等。

我们设计测试用例,也是为了覆盖尽可能多的场景,避免遗漏导致的异常问题逃逸到线上环境,对业务正常开展造成不良影响。

但这些本质上还是从技术的角度出发去评估,从项目整体的角度出发,我们还应该考虑如下几点:

  1. 工时评估是否合理;
  2. 人力时间资源是否足够;
  3. 项目目标设定是否合理;
  4. 项目推进方式是否不合理;

 

事中进度把控

项目启动后,一般会按照不同团队和角色分工,项目管理方面也会设定交付时间,比如设定阶段性的小目标,或者交付进度里程碑,来确保整体进度可控。

那么测试同学应该如何把控进度呢?我觉得可以从如下几点入手:

  1. 阶段性交付时间;
  2. 阶段性交付质量;
  3. 变更带来的风险;

首先判断是否是按照预期的交付时间交付了应有产出物,比如是否按时提测;

其次判断本阶段提测的产出物是否满足预期设定的要求,比如冒烟测试是否通过;

最后判断如果需求或技术方案变更,变更带来的时间/人力成本和影响范围是否会影响最终项目交付质量;

其实到这里大家会发现,在项目进行阶段,风险评估也是存在的。

或者说,项目管理和推进的过程,本身就是不断的评估和选择的过程。

 

持续复盘改进

我在前面的文章《复盘归因,提高交付质量的秘诀》中详细介绍过如何开展复盘,以及复盘对质量和效率带来的提升。

复盘是一个长期持续性的过程,并不是单次行动。复盘需要持续跟进改进项的完成情况,并不是改进完成就束之高阁。

持续复盘改进,大概有如下几个步骤:

  1. 对不同阶段的过程及产出物进行复盘评估;
  2. 找到做的不好的地方或者不合理的手段方式;
  3. 评估它的操作和背后的原因以及当时的解决方案;
  4. 思考问题:怎么做才能让过程和交付结果变得更好;
  5. 将更好的方式进行归纳总结并将其融入交付整个生命周期;
  6. 推广落地实践并进行度量评估,验证其是否有效,并不断复盘归因;

 

保障交付目标

软件测试工作的本质是什么?

我觉得在当下的工作实践中,依然是质量可控→提高效率→问题收敛

从项目管理的角度来说,保障项目按时高质量交付,依然是项目的最核心目标。

无论我们采用何种流程规范,技术体系或者协作机制,项目管理的最核心内容,可以拆解为如下几点:

  1. 工具:利用技术体系提高过程效率;
  2. 方法:通过流程规范约束执行过程;
  3. 策略:合理拆解目标保障目标达成;
  4. 管理:风险前置+复盘归因+高效协同+客观决策;

结语

这篇贴子到这里就结束了,最后,希望看这篇帖子的朋友能够有所收获。

如果你觉得文章还不错,请大家 <stron> 下,因为这将是我持续输出更多优质文章的最强动力! </stron>

最后:

【可能给予你助力的教程】

这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。

我的软件测试*************【备注777】 欢迎各位大佬来群里交流~我也会不定期的发放软件测试资料

如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!


#软件测试##测试##测试开发#
全部评论
您好!非常感谢您的分享,群号被和谐了可以私一下吗
1 回复 分享
发布于 2022-10-02 07:25 天津

相关推荐

1.&nbsp;自我介绍2.&nbsp;项目都是自己写的吗?3.&nbsp;我看你用&nbsp;koa2&nbsp;写后端,为什么选择它,能讲讲吗?4.&nbsp;那你提到&nbsp;koa2&nbsp;它是不提供中间件的,你是怎么解决的?5.&nbsp;中间件的原理是什么?(洋葱模型)6.&nbsp;你刚刚说碰到&nbsp;next()&nbsp;就进入下一个中间件,那&nbsp;next&nbsp;只能执行同步,如果是异步的话,你是怎么处理的?(async/await,但是我发现,有的中间件需要在异步中间件之前执行,所以我用&nbsp;try/catch&nbsp;来处理异步中间件的异常)7.&nbsp;JS&nbsp;异步发展史,以及它们的优缺点说一下&nbsp;(回调函数--Promise--Generator--async/await)8.&nbsp;你刚刚说&nbsp;Promise&nbsp;状态不能更改,那如果我要设计一个能修改&nbsp;Promise&nbsp;状态的函数,你会怎么设计?9.&nbsp;CSS&nbsp;水平垂直居中的方法(flex、grid、绝对定位&nbsp;+&nbsp;margin:auto、绝对定位&nbsp;+&nbsp;负&nbsp;margin、绝对定位&nbsp;+&nbsp;transform、table-cell)10.&nbsp;你刚刚说到&nbsp;flex&nbsp;布局,那&nbsp;flex:1&nbsp;是什么意思?(flex:&nbsp;flex-grow&nbsp;&nbsp;flex-shrink&nbsp;&nbsp;flex-basis;等价&nbsp;flex:1&nbsp;1&nbsp;0%表示元素可以均分剩余空间,可拉伸、可压缩,不依赖内容宽度,自动自适应填充布局。)11.&nbsp;父容器宽是&nbsp;500px,然后它左右各有两个子容器是&nbsp;100px,如果设置&nbsp;flex:&nbsp;1,那它的宽度是多少?(500-100-100=300px)12.&nbsp;说说你对浏览器缓存的理解(强缓存、协商缓存)13.&nbsp;如果一个用户,他怎么去刷新都无法刷到最新版的代码,你能说下可能的原因吗?(版本号、hash等)还有吗?(我说我不知道了,面试官说还有&nbsp;CDN&nbsp;没有同步,我说企业才会这么干,自己写项目一般不会,我知道&nbsp;cdn&nbsp;是用来解决高并发的手段)14.&nbsp;React你熟吗?说下&nbsp;React&nbsp;函数组件和类组件的区别15.&nbsp;怎么避免&nbsp;Hooks&nbsp;导致组件重新渲染?(使用&nbsp;useCallback、useMemo、React.memo、useRef等等)16.&nbsp;谈一下我对&nbsp;React&nbsp;的状态管理的理解(Redux、Mobx、Zustand,我说&nbsp;Zustand&nbsp;用的最多)17.&nbsp;React&nbsp;常见的&nbsp;hooks&nbsp;有哪些?(useState、useEffect、useRef、useCallback、useMemo、useReducer、useContext、useImperativeHandle、useLayoutEffect、useDebugValue)18.&nbsp;TS&nbsp;你熟吗?我们引进&nbsp;TS&nbsp;的目的是为什么?19.&nbsp;interface&nbsp;和&nbsp;type&nbsp;的区别20.&nbsp;说下&nbsp;TS&nbsp;里的泛型21.&nbsp;我现在有十个字段,比如十个字段就要&nbsp;A&nbsp;B&nbsp;C&nbsp;D&nbsp;E&nbsp;F&nbsp;G&nbsp;这种。那我现在另有另外一个方法,这个方法接受的参数呢,必须是这个&nbsp;interface&nbsp;A&nbsp;里面的这个&nbsp;K。就比如说你可以是&nbsp;A&nbsp;B&nbsp;C&nbsp;可以&nbsp;A&nbsp;B&nbsp;C&nbsp;D&nbsp;任何组合都可以,但是必须是这个&nbsp;interface&nbsp;里面的&nbsp;A&nbsp;里面的定义的。这个&nbsp;K&nbsp;这种类型的话是怎么去定义呢?(说实话我有点不太理解啥意思,反正我说了&nbsp;keyof)```&nbsp;TypeScriptinterface&nbsp;Obj&nbsp;{A:&nbsp;stringB:&nbsp;stringC:&nbsp;stringD:&nbsp;stringE:&nbsp;string//&nbsp;其他字段...}```22.&nbsp;vite&nbsp;用过吗?说说和&nbsp;webpack&nbsp;的区别。vite&nbsp;的优缺点是什么23.&nbsp;说说&nbsp;Tree&nbsp;shaking(树摇)&nbsp;和&nbsp;Code&nbsp;Splitting&nbsp;(代码分割)的区别24.&nbsp;Git&nbsp;你熟吗?说说&nbsp;git&nbsp;merge&nbsp;和&nbsp;git&nbsp;rebase&nbsp;的区别,什么时候用&nbsp;git&nbsp;merge,什么时候用&nbsp;git&nbsp;rebase?25.&nbsp;web3&nbsp;你熟吗?(不太熟,听说过而已)26.&nbsp;我看你自我介绍说了&nbsp;AI,你是怎么用的?27.&nbsp;除了提示词,还有什么能让&nbsp;AI&nbsp;更聪明?28.&nbsp;AI&nbsp;的优缺点你说一下29.&nbsp;AI&nbsp;发展这么快,你觉得我们以后会扮演什么角色?30.&nbsp;反问基本都答上来了。面了我80分钟,我还以为稳过的
查看29道真题和解析
点赞 评论 收藏
分享
评论
5
11
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务