- 軟件測試的藝術(原書第3版)
- (美)Glenford J.Myers Tom Badgett Corey Sandler
- 739字
- 2021-01-14 16:50:45
3.6 同行評審
最后一種人工評審方法與程序測試并無關系(其目標不是為了發現錯誤),卻仍在這里談到,這是因為它與代碼閱讀的思想有關。
同行評審是一種依據程序整體質量、可維護性、可擴展性、易用性和清晰性對匿名程序進行評價的技術。該項技術的目的是為程序員提供自我評價的手段。
選出一位程序員來擔任這個評審過程的管理員,管理員又會挑選出6~20名參與者(為保持匿名性,6人是最少數量)。這些參與者都應具備相似的背景(例如,不能把Java應用程序員與匯編語言系統程序員編為一組)。要求每名參與者都挑選出兩個由自己編寫的程序以供評審。其中的一個程序應是參與者自認為能代表其自身能力的最好作品,而另一個則是參與者自認為質量較差的作品。
當所有的程序都收集完畢后,就將這些程序隨機分發給參與者。每名參與者拿到4個程序進行評審,其中的兩個是“最好”的程序,另外兩個則是相對“較差”的程序,但評審人自己并不知道。每名參與者每評審一個程序得花費30分鐘,評審完后填寫一張評價表。所有4個程序都評審完后,參與者對4個程序的相對質量進行分級。評價表要求評審人用1~10的分值(1代表明確的“是”,10代表明確的“否”),對諸如下面的問題進行回答:
·程序是否易于理解?
·高層次的設計是否可見且合理?
·低層次的設計是否可見且合理?
·修改此程序對評審者而言是否容易?
·評審者是否會以編寫出該程序而驕傲?
評審人還應給出總的評價和建議的改進意見。
評審結束之后,參與者會收到自己的那兩個程序的匿名評價表,此外還會收到一個帶統計的總結,說明在所有的程序中其程序的整體和具體得分情況,以及他對其他程序的評價與其他評審人對同一程序打分的比較分析情況。同行評審的目的是讓程序員對自身的編程技術進行自我評價。同樣,該過程也適用于企業開發和課堂教學環境。
推薦閱讀
- Mastering JavaScript Object-Oriented Programming
- INSTANT FreeMarker Starter
- 三維圖形化C++趣味編程
- Vue.js 3.0源碼解析(微課視頻版)
- The DevOps 2.4 Toolkit
- Elasticsearch Server(Third Edition)
- 快人一步:系統性能提高之道
- Learning FuelPHP for Effective PHP Development
- Julia高性能科學計算(第2版)
- Natural Language Processing with Java and LingPipe Cookbook
- Vue.js應用測試
- Android Game Programming by Example
- ASP.NET Web API Security Essentials
- Docker:容器與容器云(第2版)
- Software Architecture with Python