(3)重點介紹代碼檢查流程
代碼檢查包括桌面檢查(Desk Checking)、代碼審查(Inspection)、代碼走查(Walk through)和技術評審(Review)四種情況。當然在實際工作,我們完全不必要被概念所束縛住,而應根據項目的實際情況來決定采取哪種靜態測試形式,不用嚴格去區分到底是代碼走查,代碼審查和還是技術評審。
、僮烂鏅z查(Desk Checking)
是由程序員自己檢查自己編寫的程序。程序員在程序通過編譯之后,進行單元測試設計之前,對源程序代碼進行分析,檢驗,并補充相關的文檔,目的是發現程序中的錯誤。檢查項目有:檢查變量的交叉引用表、檢查標號的交叉引用表、檢查子程序、宏、函數、等值性檢查、常量檢查、標準檢查、風格檢查和補充文檔等。這種桌面檢查由于程序員熟悉自己的程序和自身的程序設計風格,可以節省很多的檢查時間,但應避免主觀片面性。
、 代碼審查(Code Reading Review)
代碼審查是由若干程序員和測試人員共同組成一個會審小組,通過閱讀、講解、討論和模擬運行的方式,對程序進行靜態分析的過程。代碼審查主要是依靠有經驗的程序設計和測試人員根據軟件設計文檔,通過閱讀程序發現軟件缺陷。特點是一般有正式的計劃、流程和結果報告,F在也可借助軟件工具自動進行,例如 LOGICSCOPE、C++ TEST、LDRA TESTBED、PRQA C/C++、MACABE IQ、以及Rational的Purify、Quantify和PureCoverage等。
代碼審查一般分為兩個步驟:第一步是小組負責人把設計規格說明書、控制流程圖、程序文本及有關要求、規范等分發給小組成員,作為評審的依據。第二步是召開程序代碼審查會,在會上由程序員逐句講解程序的邏輯,在此過程中其他的程序員可以提出問題,展開討論,以審查錯誤是否存在。實踐經驗表明,程序員在講解過程中能發現許多原來自己沒有發現的缺陷和錯誤,而討論和爭議則更會促進缺陷問題的暴露。
文章來源于領測軟件測試網 http://www.kjueaiud.com/