分享

我们需要专职测试人员吗?

 东北十三少 2024-04-23 发布于四川

自从2003年实施和推广GJB5000以来,我们一直以为需要有专职的测试人员。

当有人咨询我GJB5000试点项目需要投入多少人时,我在回答时,通常都会把测试当作专职的人员来计算。我的依据是《XXX装备条例》里面明确要求设计、实现和测试分开,这就意味着设计、实现和测试这三个角色都应由不同的人来承担。

某单位在实施GJB5000A的时候,专门成立了测试组,后来因为开发任务繁重,又撤销了测试组,每个软件工程师都要进行开发,测试交给了第三方评测机构,后来想要过程改进,发现没有内部测试更容易出现问题,又恢复了内部测试,只不过这些测试人员依然承担着少量的开发任务。

所以,软件开发到底需要不需要专职测试人员?

其实,一个行业中的专家虽然他只精通部分专业,但他必须对这个行业的各个专业都要有所了解。比如,对于医护人员来说,不管你是学哪一科的,进入医院的第一年肯定都得轮岗,门诊、内科、外科、五官科、放射科……等你对各种岗位都有基本了解之后再开始分工。

对于软件开发来说,也不能从一开始就分工,设计的设计,编码的编码,测试的测试。因为这样一来,做测试的就基本上再也不写程序了。这并不利于做好测试。测试也需要写测试代码的,不会写程序怎么行?而且如果测试人员连一个程序是怎么做出来的都不知道还怎么测?

如果测试也能写程序,那还需要有专职的测试人员吗?

没有专职的测试人员,可以消除开发和测试之间因为排队等待带来的浪费,从而提高开发效率。下面的这组数据能够提供证明:

假设一个功能点的开发需要1人天,测试需要0.5人天。一支由3个开发人员和1个测试人员构成的团队,一周只能交付8个功能点。

因为第一天还没有功能点被开发出来,测试人员没得测。后来虽然开发了很多,但没有测,不能交付。

而如果4个都是开发人员,并且开发人员都能够并且愿意做测试工作,他们一周能交付10多个功能点。

如果只有3个开发人员,没有那位测试人员,但开发人员都能够并且愿意做测试工作,他们一周也能交付9个或者10个功能点。

实际上,敏捷团队的成员几乎都是多面手,他们能够消除技能壁垒,从而根据计划的变动,弹性地调整任务,达到各角色和流程之间的平衡。

再想起之前有个兄弟问我的那个问题:没有实施GJB5000之前,我一个人开发软件效率挺高的,怎么实施GJB5000之后效率反而大大降低了?

一个高手开发效率是最高的,因为他不需要浪费时间去沟通,但是,如果团队之中每个人都是高手,再有合理的分工,弹性地安排任务,那么效率是不会降低的。

当时的GJB5000还没有拥抱敏捷,现在不一样了,只要我们时刻想着应用敏捷,开发效率是不会降低的。

你们的项目组里有专职测试人员吗?

这正是:

全能团队效率高,开发测试看需要
背后原因是敏捷,专职未必是必要

参考书目:不敢止步:一个软件工匠的12年,作者:熊节,出版社:人民邮电出版社

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多