正式审查是进行静态白盒测试的过程。正式审查含义广泛,从程序员之间的交谈,到代码的严格检查均属于此过程。            

有4个基本要素:

1.确定问题。审查的目标是找出软件的问题,不仅是出错的项目,还包括遗漏的项目。全部的批评应直指代码,而不是其创建者。合作者不应该互相指责。个人情绪化感觉要保留。

2.遵守规则。 审查要遵守一套固定的规则,规则可能设定要审查的代码量、花费多少时间、哪些内容要做备注等等。其重要性在于合作者了解自己的作用和目标,这有助于使审查进展的更加顺利。

3. 准备。每个合作者需要了解自己的责任和义务,并积极参与审查。在审查过程中找出问题大部分的缺陷是在准备期间发现的,而不是实际审查期间。

4.编写报告。审查小组必须做出总结审查结果的书面报告,并使报告便于开发小组使用。审查结果必须尽快告诉别人,比如发现多少问题,在哪发现的。

正式审查有三种类型:

1.同事审查:召集小组成员进行初次正式审查是简单的方法是同时审查。类似于“各抒己见”类型的讨论。常常仅在编写代码的程序员和充当审查者的其他一两个程序员和测试员之间进行;

2.公开陈述:公开陈述是使同事审查正规化的下一步。编写代码的程序员像5人小组或其它类似的程序员或测试员正式表述。审查人员应该在审查之前接到软件拷贝,以便检查并编写备注和问题,在审查过程中提问。

3.检验:检验是正式的审查类型,具有高度组织化,要求每一个参与者都接受训练。检验与同事审查不同之处在于,表述代码的人不是原来的程序员。这迫使他学习和了解要表述的材料,从而有可能在检验会议上提出不同的看法和解释。另外的参与者称为检验员,职责是从不同的角度(如用户、测试员或产品支持人员)的角度审查代码。检验会议后,检验员可能再次碰头讨论他们发现的不足之处,并与会议主席共同准备一份书面报告,明确解决问题所必须重做的工作。然后程序员进行修改,由会议验证修改结果,可能要要进行重新检验,以便找到其余的软件缺陷。