作为一个合格的测试人员,不但要有扎实的软件测试能力,还需要有较高的情商,丰富的沟通技巧。因为测试人员的工作需要和产品,开发或是运维人员来打交道。沟通需求,提交与验证bug,面对面交流起来成本最低,效果最好。随着业务的发展,技术的进步,单独的团队就很完美地完成一项工作,所以跨部门协作就出现了,这对我们测试人员来说也是一个更高的要求。
一,为什么会存在跨部门协作
为什么会存在跨部门协作呢?上面我们也简单地提到了,存在这个现象的原因主要有以下几个方面:
1,业务庞大,单独的团队难以完成
目前互联网行业很发达,差不多覆盖了我们生活的方方面面。随着业务复杂度的增加,一个大型的业务需求,往往涉及到很多部门的。单独的业务团队,很难完成这样的需求,必须和其他团队共同合作,相互很好地配合才能更好地完成项目需求。
2,业务划分:MVC
现在很多公司业务的开发模式是MVC架构,可是前后端分离的,这样能更好地通过统一的底层数据,支持各种业务平台。这就出现了专业对针相应技术方向的人员,不同的人员精通相应的技术栈。现在的需求很少只针对一个方面,往往需要前后端贯通,这样必然要求多个部门进行协作。
3,业务流程链路长
为了更好的服务客户,或是更好地占有市场,各大互联网公司都在花很多精力开拓新的业务。而不少业务流程是相当长的,比如说,购买一件商品,要先进行商品搜索,然后查看详情,查看评论,加入购物车,下单支付,支付方式选择,最终完成支付。而公司根据不同的业务划分不同的部门,所以要完成样的流程的需求,需要相关的部门能力合作才行。
二,跨部门协作资源协调之需求评审
需求评审是一个项目最先开始的工作,要成功地完成一个项目,必须做好需求评审。而跨部门协作的项目,需求评审尤其重要,如果做不好,会严重影响后续的项目推进。
1, 协调人力资源,参加需求评审
当有需求开始实施时,如果需要跨部门合作,必须提前知会相关部门的负责人,安排具体的项目参与人员。不能等项目真正开始实施的时候,再去相关部门协调参与人员。如果参与人员不是从需求评审就开始参与项目,中间合作的过程中必然会出现因对需求理解不一致,交流不畅通等引起合作联调困难的情况。
2,需求评审之组织特殊要求
跨部门的项目在需求评审的时候也比单个部门的要求要高:
(1)参与人员必须参加
在确定了相关的参与人员时,需求评审需要约在大家时间都合适的时候,保证所有参与人员必须到场。跨部门沟通起来成本较高,所有存在异议的地方最好提前解决,参加需求评审是重要的形式。
(2)需要评审的内容提前分享给相关人员
跨部门合作的项目参与人员较多,在需求评审之前把需求文档,交互文档以及其他需要当面沟通的内容提前分享给大家。让相关人员提前了解会议的内容,带着问题去评审效率比较高,坚决杜绝无效的会议交流。
(3)所有问题必须达成一致
尽量将存在问题的地方在需求评审会议上达成一致,并且要求后期不能做影响较大的改动。如果会议上临时没有考虑清楚的方案或是问题,需要明确给出解决方案的时间节点,并及时进行验收交付情况。
三,跨部门协作资源协调之测试准备
为了更好地合作完成共同的项目需求,各个部门的人员需要通力协作。不仅产品需要把需求准确地传达给各个参与人员,开发人员也要认真仔细的进行联调工作,而我们测试人员更应该加强各方面的协作。
(1)测试方案,用例评审,人员协调提前确认
在需求评审的时候,需要确定测试中可能使用的测试方案;如果不同部门都需要相应的测试人员的时候,需要选择各方都合适的测试方案。在用例编写完成后,需要组织相关人员进行用例评审,一定要明确好参与人员,保证在测试的任何环节中不会造成理解不一致的情况发生。
(2)不同部门测试环境,数据必须提前准备
由于不同的部门测试资源一般是不公用的,同时满足本次需求的测试数据也不一定存在。所以在提测试之前,必须确认相关部门的测试环境能否在提测的时候保证可用。本次需求的测试数据是否已经存在?如果不存在,需要想办法去造数据,或是对接口进行mock,防止提测试时发现很多资源不具备的情况发生。
(3)严格把控开发联调与测试验证环境
跨部门的项目在联调时需要相应的开发环境,测试的时候也需要对应的测试环境。必须防止在测试的时候,我们的测试环境对接其他部门的非测试环境。因为对接的环境如果不一致,在我们测试的时候,其他部门的开发人员改变了环境,就会直接阻碍测试进行。不同环境 的代码,数据,业务走向都不相同,必须保证相关合作部门的环境一致。
四,跨部门协作之风险预警
如何在跨部门的项目中及早发现问题,并进行合适的调整,从而保证项目如期上线,是项目管理中非常重要的内容。先前我们也强调过,测试人员要积极主动,担当起项目经理的职责,那在跨部门合作的项目中应该如何做呢?
(1)组织站会,定时同步项目进度
大型的项目必须有站会,或是每天下班之前,或是第二天上班之后,定时同步项目进度,可能存在的问题,以便更高地发现问题。当然站会可以是产品,开发,或是测试人员组织,最好有相应的看板记录着进度,以方便对比以发现问题。
(2)任何风险,提前预警
作为一个项目的负责人,或是部门,公司的领导人,最讨厌事情到了最后才去说有什么困难,如何完成不了。任何风险,需要提前预警,这样才有时间去协调其他的资源或是对原计划进行调整。在跨部门的项目中,也必须如此,有任何可能影响到项目规划的风险,必须提前预警,严防项目后期才发现问题。
(3)同步好相应工作阶段的时间切合
跨部门协作的时候,各个时间结点也非常重要。如周三后端部门开发完成可以进行联调,但是前端同学却说,周三还没有完成;等前端同学完成了开发,后端部门的联调环境什么的已经不在了。如此返复折腾必然影响项目进度,所以需求评审的时候确认好的项目规划,在项目实施过程中必须按规划进行。
五,跨部门协作之交流沟通
沟通交流是测试人员必备的技能,但是有有效的沟通并是仅仅把话说明白,还要有其他的辅助手段。在跨部门合作的项目中,沟通成本非常大的,所以我们必须提前准备。
(1)选好老帅,明确管理人员
很多公司会跟着项目的进行,选择项目经理负责整个项目的推进,资源的协调工作。不过也有不少公司没有这样的设置,此时就要在需求评审会上选择好项目的负责人,统筹项目执行过程中的一切事情,解决遇到的问题。不能造成项目要么没有人管,要么多人插手最终方案很难确定的情况。
(2)尽量当面交流,节省交流成本
不同的部门可能工位不在一起,而现在互联网沟通这么发达的情况下,项目开始时往往分创建项目工作群。大家有问题在里面同步,不过如果是具体的问题,或是比较复杂的问题,还是建议当面沟通。当面三方两语就能说清楚的事情,就不要长篇大论地打字交流了,并且当面沟通是最有效的,也是成本最低的沟通模式。
(3)当面沟通,文字留底,明确权责
在当面沟通解决问题后,根据问题的大小,在工作群中同步一下沟通的结果,或是发邮件给大家分享一下沟通的成果及解决方案等。一方面防止相关人员对你们讨论的问题不知晓,后续合作会发生问题;另一方面做个文字留档,后续调整方案,追寻责任的时候是一个证据。有不同学反馈过测试人员容易背锅,其实是你自己没有做好,明确权责,钉是钉,铆是铆嘛!
六,总结
文中我们介绍了从需求评审,测试准备,风险预警及交流沟通等方面介绍了如何做好跨部门协作的项目。随着互联网日新月异的发展,跨部门的项目会越来越多,作为测试人员,如果你不能做好这方面的测试工作,会对你的职业发展带来很大的阻碍。你不学习提升,社会发展会推动你学习的;如果推着也不动,就不带你玩了,这个就是现状,终身学习不是口号哟!