【思考】:1个大项目只安排1个人力来做自动化测试工作,可行吗?

  昨夜凌晨两点多,辗转反侧,夜不能寐~

  回想起,在目前这家公司的三年,经历了大大小小几个项目,过后总结发现,其实或多或少,都存在一些管理上的人为因素等问题。而这些问题,是不在其位的我想改变也改变不了的。只能说,世界就是个草台班子。

    (而我只是一个工具人角色,没有任何的管理实权,也没有太多的话语权...)

 

  后面思绪跳跃,联想到当时做的自动化测试,呕心沥血,历时半年多,最后却因为种种因素,无疾而终...

  再后来想到,部门的几个项目自动化实现效果不好或者说部门推广自动化最后推不下去的场景,原本我以为根因是这些项目不太适合自动化。

  然而从管理的角度,慢慢去思考,竟然茅塞顿开,这一切都解释得通了。 这归根到底不是这些项目不适合自动化,主要还是人的因素,是“工作安排上的不合理”。

 

  (这种不合理,其实在几个项目中都有体现,有时或为了压缩人力成本,有时或为了盲目赶进度,诸如需求不合理不明确的问题、开发为按时送测导致交付质量不高的问题等等,最后压力都转移到了下游环节的测试人员身上,测试人员身兼多职,即要发现bug,验证bug,又要帮开发向需求再次确认清楚需求,然后督促开发返工修改再验证。最后大家身心俱疲,结果往往演变为上线交付质量不高,或者上线后又是各种优化,甚至重构,然后项目组内又是各种“找原因”以及“总结”...  ---- 而这一切的一切,问题的源头,其实是在于上游的各个环节的负责人,以及部门的大Boss。)

 

  而身为小虾米的我所能做的,无非是发现团队存在的问题,并尝试跟项目经理及相关产品负责人沟通,尽可能制定一些下游的规范,优化改进:   

  ①:两周一个迭代上线节奏,开发和需求人员,要做好质量把控,不要把版本质量的压力全转移给测试人员

  ②:需求人员,尽量在第一周的周一上午组织需求评审,不过多占用开发周开发人员进行功能设计的时间

  ③:需求人员,要提前把需求梳理清晰,需求文档准备好,避免到第二周测试周还要改需求,频繁更新需求文档

  ④:需求比较复杂的功能,开发要编写开发设计文档,并对复杂需求进行反串讲,保证开发设计思路与需求一致

  ⑤:开发人员,在开发周进行功能设计的时候,对需求文档描述不清晰的场景及功能,要拉上测试人员,同需求人员确认清楚,避免测试周测试人员发现开发做的功能和需求偏差很大,需要返工重做,影响测试进度

  ⑥:测试人员,要在开发周的周五前完成测试用例设计,在周四下午或周五上午拉上开发及需求人员进行用例评审,并对需求文档描述不清晰的场景及功能,发起提问,避免测试周发现某些需求点不严谨及不合理,做到测试前移

  ⑦:开发人员,不能为了按时完成送测要求,牺牲送测质量,如有延期风险,需提前告知团队成员

  ⑧:测试人员,不能为了按时完成上线要求,牺牲交付质量,如有上线风险,需提前告知项目负责人

 

  (而这,终究还是西医的治疗手段,头疼医头,脚痛医脚...)

 

  回归正题,思考一下:如果一个项目自动化测试的实现,仅仅靠一个人,完全交给他全权负责,那最终可能出现哪几种情况?

    ①.交付的自动化脚本,存在应付,偷工减料,质量差;

       ②.因对业务理解不深,自动化脚本场景单一,或者有bug;

       ③.因无法确切知道自动化要替代该业务哪部分场景,可能他会选择脚本设计覆盖该业务所有场景,但是结果导致自动化测试脚本维护成本高。(本来,当时是考虑等后续明确后,再进行脚本拆分。。。)

 

  抛开上面的话题,我们看一下现在一个项目的成员构成及分工情况:一个项目至少要有3类人:需求人员 + 开发人员 + 测试人员,这三者是一个项目顺利开展下去必不可少的关键角色。

  而对于一个项目自动化测试的实现,其实仅仅靠一个人是不够的,是需要两个人,或者说两个角色:一个是自动化需求分析师,另一个是自动化测试编码者。

 

  因为一个项目自动化测试的实现,需要有人熟悉整个项目的业务,能够挖掘出该项目当前阶段,哪些业务的哪些场景是可以通过自动化测试来替代手工测试进行回归的;需要有人能够实时收集测试人员反馈的情况,知道现阶段哪些重复性的测试工作(比如构造数据、准备数据等),是可以交给自动化来实现,进而辅助手工测试人员进行功能测试。

  而这个角色,只能是自动化测试的需求分析师或者说是自动化负责人。然后自动化测试需求分析师,将需要实现的细节及后续规划告知自动化测试编码人员,由自动化测试编码人员进行自动化脚本开发并测试通过。(当然如果测试负责人具备自动化测试的思维意识,这个角色完全可以由测试负责人担任,自动化测试人员,只需按要求编码就好了,最终交付的自动化脚本,质量也绝对会很高。)

 

  所以,综上所述,这不是一个人,能集需求 + 开发 + 测试工作于一身,就可以很好完成的,需要有一定的分工。

  自动化测试人员,可以担任开发+测试的角色,但还需要有个了解项目的资深人员,能够出自动化的需求,规划设计好自动化交付件原型,制定自动化设计规范,并对最终交付的自动化脚本进行验收。

  

posted @ 2024-06-14 09:59  子沐呐吖  阅读(11)  评论(3编辑  收藏  举报