本周的测试课上进行了一次同行评审的演练,大家讨论的很热烈,不过我也发现了一些不太理解的过程,如如何进行计划活动,走读、技术评审、正规检视是基于什么目的,并应该在何时进行。我做了一下详细的研究。
首先,Peer Review(同行评审)作为Software review的一部分,与之并列的还有Software Management reviews 和 Software audit reviews,三者的大致概念如下:
- Software peer reviews,由作者及同事去评价技术内容and/or工作质量
- Software management reviews,由管理代表评价工作完成情况并决定下游活动。角色包括Decision maker、Review leader、 Recorder、Management staff、Technical staff(必需)Other team members、Customer representative、User representative(非必需)
- Software audit reviews,由外部人员进行规格、标准、合同规定等一致性的核实。审计工作的角色包括Leader auditor、Recorder、Auditor、Initiator、Audited organization。Auditor负责进行客观地审视产品,应远离影响其判断、倾向的事物,或者识别出其倾向并在Initiator的允许下继续进行
Peer Review包括代码评审、协同编码(相当于在编码过程中就添加了review活动,两个人一个作为编码者,一个作为观察者,并时不时地交换角色)、正规审视、走读、技术评审。
- 技术评审
- 正规审视
- 走读
技术评审是在项目或项目的一部分完成时提供证明去证实当前进度的,由一组人去考察规格、标准、使用目的是否一致。角色包括Decision maker、Review leader 、Recorder 、 Technical reviewer (必须)Management staff 、 Other team members、Other stakeholders such as managers, technical staff, customers, and users (非必须)。Decision maker决定产品是否符合标准并安排review,Review leader进行指导,角色行为与Decision maker有重复。其余按字面理解即可。
正规审视非常正式,属于一种静态方法,需要按照一个既定的程序进行。角色包括Inspection leader 、Reporter、Reader、Author、Inspector。需要注意所有人都是Inpector,anthor并不能作为leader和reader 。
走读则比较随意,可以用来培训听众,角色包括Walk-through leader、Recorder、Author、Team member并且队伍中排除了管理者。
三种方法的输入、输出与程序均不同,IEEE都有详细的Standard可以参考,参考文献IEEE Standard for Software Reviews and Audits
reviews的价值在于可以更早及花费更少的代价检查出错误,并且能够训练作者产出少缺陷的文档,它作为一种排错方法,应该尽早并时常进行,而一旦优秀的缺陷几乎没有的文档完成,下游工作便可以顺利进行。