关于代码复查改进的思考

日前,部门质量条线发起了对测试经理担任QA职责的意见征集。

应该明确,准确意义上的测试经理与QA是完全不同的两个工程活动中的角色。实际上,目前之所以发起了测试经理担任QA职责的事情,其出发点在于发现当前工程活动过程当中,一些环节的质量保证工作没有得到贯彻,或者效果并不理想,应该说其出发点是好的。

在职责征集列表中,有一项关于代码复查,规定开发组在进行代码复查时,需不限任何形式地通知测试经理代码复查活动将要开展。关于这项工作,同样地,我认为其出发点是好的,但是具体措施存在一定的问题。

首先,要知道代码复查这个质量保证环节,在当下的工程活动中,确保其被执行有两项措施,分别是线上和线下的代码复查记录(实际上他们本身存在一定的重合,这里不详细讨论)。这两项记录工作,在后续的审计过程中都是被检查的对象。所以,现行的环节,已经足够保证代码复查活动的展开。这里唯一可能存在的问题是,由于审计频率可能不够高,存在应付审计而临时填写记录单的情况。基于此,在现有的环节中,再引入一项上述活动,便没有必要。

其次,必须承认,当前的代码复查活动没有起到预期的质量保证效果,这也是为什么要提出这项新的工程活动的起因。那么,所提出的这项活动,真的能够起到改善作用吗?要解答这个问题,首先要回答两个前置问题。其一,当前代码复查活动是否真的开展了?其二,当前所提出的活动,其规避的成本是否高于现行的活动环节?第一个问题,是有没有执行的问题,因为,当前的活动,是以所谓的通知活动的统计数据所得出的所谓执行率来作为最终的衡量指标的,其出发点内在假设逻辑便是:由于一些代码复查活动没有开展,而导致了当前的代码复查保证质量效果不佳。那么,需要反问的问题是,是否真的有足够多的代码复查活动没有开展?从经验的角度看,这个问题的答案是否定的。第二个问题,显而易见,不论现有线上或者线上的代码复查记录单,其伪造成本都比现有的所谓通知即可成本更高(基于假设:当前的代码复查活动有大量没有执行,有人在这个过程中造假)。解答了这两个问题之后发现,所提出的这项活动,首先其假设不成立,其次假定其假设前提成立的条件下流程规避成本过低,可能也起不到效果。

最后,质量保证活动是一个过程,质量得到保证是结果。结果是否理想,是有过程的执行决定的,而过程的执行,有两个决定性因素,其一是人,其二是执行这个过程的人是否有足够的技能正确地加以执行。这里,对于第一要素人,有几个问题需要回答:是否有足够的时间(这个问题是一个不能展开的问题)?是否是正确的人?是否有足够的主观能动性去执行?这里只讨论后两个疑问。是否是正确的人,我认为值得深入探讨,显然,现状是不理想的。关于主观能动性,我认为,新的措施将QA放在被汇报者的位置上,使得代码复查执行者感受到直接的汇报压力,显然是从意愿上伤害其主观能动性的。对于第二要素,我认为才是当前代码复查活动没有起到其应有作用的核心问题。即:代码复查过程不规范(注意,并不是有没有发生);代码复查人员发现问题能力不足(这里,对于这两个问题不展开讨论。(因为这是另外一个范畴))。

基于上述讨论,我认为当前提出的工作改进中,在代码复查环节增加一环新的工程活动是没有必要的。应当对存在的问题进行深入的挖掘,提出更加有效的对策。

posted @ 2020-03-23 00:13  luojiahu  阅读(204)  评论(0编辑  收藏  举报