本週的測試課上進行了一次同行評審的演練,大家討論的很熱烈,不過我也發現了一些不太理解的過程,如如何進行計劃活動,走讀、技術評審、正規檢視是基於什麼目的,並應該在何時進行。我做了一下詳細的研究。
首先,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的價值在於可以更早及花費更少的代價檢查出錯誤,並且能夠訓練作者產出少缺陷的文件,它作為一種排錯方法,應該儘早並時常進行,而一旦優秀的缺陷幾乎沒有的文件完成,下游工作便可以順利進行。