說完代碼檢查,現(xiàn)在來談?wù)劥a走查。從定義上來講,代碼走查是以小組為單元進(jìn)行代碼閱讀的,同樣也是一系列規(guī)程和錯誤檢查技術(shù)的集合。且代碼走查也采用了持續(xù)一至兩個小時的不間斷會議的形式。代碼走查的小組成員的構(gòu)成而言,一般是由三至五人組成,其中一人扮演“協(xié)調(diào)人”;一人擔(dān)任秘書角色,負(fù)責(zé)記錄所有查處的錯誤;還有一人擔(dān)任測試人員。不過的組合應(yīng)該是:
⊙一位極富經(jīng)驗(yàn)的程序員;
⊙一位程序設(shè)計(jì)語言專家;
⊙一位程序員新手(可以給出新穎、不帶偏見的觀點(diǎn));
⊙最終將維護(hù)程序的人員;
⊙一位來自其他不同項(xiàng)目的人員;
⊙一位來自該軟件編程小組的程序員。
至于測試的流程跟代碼檢查很類似,類似之處就不多談,只說一下不同之處吧。稍有不同的是代碼走查的任務(wù):就是參與者“使用了計(jì)算機(jī)”。被指定為測試人員的那個人會帶著一些書面的測試用例(程序或模塊具有代表性的輸入集及預(yù)期的輸出集)來參加會議。且在會議期間,每個測試用例都在人們頭腦中進(jìn)行推演,即:把測試數(shù)據(jù)沿程序的邏輯結(jié)構(gòu)走一遍,并把程序的狀態(tài)(如變量的值)記錄在紙張或白板上以供監(jiān)視。
這里,需指出:這些書面的測試用例必須結(jié)構(gòu)簡單、數(shù)量較少,因?yàn)槿四X執(zhí)行程序的速度比計(jì)算機(jī)執(zhí)行程序的速度慢上若干量級。之所以提供這些測試用例,目的不是在于其本身對測試了關(guān)鍵的作用,而是其提供了啟動代碼走查和質(zhì)疑程序員邏輯思路及其設(shè)想的手段。因?yàn)?,在大多?shù)的代碼走查中,很多問題是在向程序員提問的過程中發(fā)現(xiàn)的,而不是由測試用例本身直接發(fā)現(xiàn)的。
文尾,至于代碼走查所需要從心理學(xué)角度給予提前的心理籌備、后續(xù)過程和附帶的幾個有益的作用,都與代碼檢查的類似,所以在這里就不提了。
⊙一位極富經(jīng)驗(yàn)的程序員;
⊙一位程序設(shè)計(jì)語言專家;
⊙一位程序員新手(可以給出新穎、不帶偏見的觀點(diǎn));
⊙最終將維護(hù)程序的人員;
⊙一位來自其他不同項(xiàng)目的人員;
⊙一位來自該軟件編程小組的程序員。
至于測試的流程跟代碼檢查很類似,類似之處就不多談,只說一下不同之處吧。稍有不同的是代碼走查的任務(wù):就是參與者“使用了計(jì)算機(jī)”。被指定為測試人員的那個人會帶著一些書面的測試用例(程序或模塊具有代表性的輸入集及預(yù)期的輸出集)來參加會議。且在會議期間,每個測試用例都在人們頭腦中進(jìn)行推演,即:把測試數(shù)據(jù)沿程序的邏輯結(jié)構(gòu)走一遍,并把程序的狀態(tài)(如變量的值)記錄在紙張或白板上以供監(jiān)視。
這里,需指出:這些書面的測試用例必須結(jié)構(gòu)簡單、數(shù)量較少,因?yàn)槿四X執(zhí)行程序的速度比計(jì)算機(jī)執(zhí)行程序的速度慢上若干量級。之所以提供這些測試用例,目的不是在于其本身對測試了關(guān)鍵的作用,而是其提供了啟動代碼走查和質(zhì)疑程序員邏輯思路及其設(shè)想的手段。因?yàn)?,在大多?shù)的代碼走查中,很多問題是在向程序員提問的過程中發(fā)現(xiàn)的,而不是由測試用例本身直接發(fā)現(xiàn)的。
文尾,至于代碼走查所需要從心理學(xué)角度給予提前的心理籌備、后續(xù)過程和附帶的幾個有益的作用,都與代碼檢查的類似,所以在這里就不提了。