最近在带新人了解项目,这已经不是第一次带新人,由此引发了我关于新进项目的测试人员如何能够快速介入一个新项目的思考。这里我特指的是项目已经运行一段周期,新进员工或其他项目测试人员中途进入该项目的情况。对于项目一启动,测试人员就加入的情况不在讨论范围之内。同时,我提到的项目也是一般意义上的BS架构项目或者App项目,对于完全硬件类项目或做编译器等的项目也不在讨论范围之内,我没有做过这些,就没有发言权。
我觉得介入一个已启动的项目,就相当于画一个人物一样。既然前提条件是项目已经运行一段周期,那么一般项目已经发布一个或多个版本,同时项目已经积累一部分文档。此时新进人员应当按照如下方式来尽快进入项目:
一、画皮
画皮,就是要对整个项目有基本的印象。尽快了解项目是做什么的,主要功能,架构模式等。沟通无疑是最快解决自己疑问的途径。可以向熟知该项目的测试、项目经理、开发、产品询问,优选是测试,毕竟都是做测试的,测试之间的沟通是最畅通无阻的,其次是产品,然后是开发、架构等,最后是项目经理。当然这个沟通顺序也要视各个角色对项目的了解。比如在我们当前项目中,唯一从项目启动做到现在的也就只有我了。换过一批开发,换过产品 ,项目经理也在中途退出过一段时间。
这个时期是最重要的时期,只有了解了项目的大体方向,才能在脑海中形成一个基本的项目认识。千万不要想着,这点儿我现在了解不清楚,等过段时间详细了解就行了。新进员工是比较弱势的,每个人都在看着我们,只有达到别人的预期或者超过别人的预期,在以后的合作中才能畅通无阻。
如果没人可以带我们,又当如何呢?就要从发布的版本和已经形成的文档入手。优先看发布的版本,对照操作手册和流程图,自己动手操作一遍。毕竟操作手册都是写给不懂的人看的,一般不会有太深的业务逻辑。其次看需求规格说明书,我认为这个时候就不需要在看原型了,有页面何必再去看原型呢?看完这些,自己思考一下,基本也可以对项目形成大致的印象了。
二、画骨
画皮之后,就需要开始画骨,即熟悉项目的主要业务。项目的主要业务就相当于人的骨架,没有骨架的支撑,整个项目就是一盘散沙。此时最重要的文档就是流程图,在流程图中可以明显看出什么是主要业务。这个时候如果看不懂流程图,可以请熟悉的人给我们讲解下,在别人讲解的时候一定要仔细认真听,认真记,同时思考。尽可能不要让别人给我们讲第二遍。其实可以采用一个小技巧,手机上都有录音的功能,把别人讲的东西录下来,一遍听不懂,回去再多听几遍,毕竟求人不如求己。
讲解完流程图,可能我们已经听懂了,但是听懂了不代表就熟悉了,此时就需要用例库。找到项目以前执行冒烟测试或流程测试的用例,每一个都操作一遍,自然对主要业务就熟悉了。
三、画肉
有了骨架之后,需要填充血肉。有血有肉才是一个整体。主要业务熟悉了,并不代表数据之间的流转就熟悉了,在我看来,数据就相当于血肉。弄清楚数据是如何流转的,血肉之躯才能健康活波。要了解数据就要熟悉数据库和应用服务器。项目一般都有安装部署文档,熟悉如何部署服务之后,在看下数据库结构,有多少表,分别对应页面哪些数据,数据是怎么来的。此时我们可以结合服务器中的应用日志,分析主要业务之间数据的流转。比如一个下单业务,日志中会显示是调用接口还是服务内数据传输?调用接口是哪个接口,怎么传递参数;服务内数据传输又是如何传输的。一步一步分析,将血肉丰满起来,整个人物已经大体上画好了。
四、上色
有了血肉骨架就相当于完成了么?不见得如此,裸体的人并不都是那么好看,毕竟你不是米开朗琪罗。还需要给人物上色着装,这就相当于项目中的细枝末节。此时就需要按照全量测试的流程,一点点执行所有的用例,回归下前人的bug。这没什么好说的,是需要水磨功夫的。
至此,对整个项目的了解也差不多完成了。一般而言,此时已经能够达到很多人的预期了,尽管可能还有一些细小的问题没关注到,项目组成员或者领导也不会那么苛求。
我始终觉得,在新进入一个项目的时候,项目组成员对我们都是持一种怀疑的态度,我们要多和别人沟通、多思考、多操作,尽快熟悉项目,让他们看到我们的业务能力,达到甚至超过对方的预期,才能获取别人的信任,在以后的合作中才能少一些阻力。
当然,要做到这些的前提条件,还是要自身测试技能熟练。打铁还需自身硬,如果你说我都不会操作数据库,不会写SQL语句,不会用Linux,不会写用例,这样还是先把自身的能力提升起来再说吧!
源自公众号 测试集思录