- 軟件測試的藝術(原書第3版)
- (美)Glenford J.Myers Tom Badgett Corey Sandler
- 802字
- 2021-01-14 16:50:41
第3章 代碼檢查、走查與評審
多年以來,軟件界的大多數人都持有一個想法,即編寫程序僅僅是為了提供給機器執行,并不是供人們閱讀的,軟件測試的惟一方法就是在計算機上執行它。20世紀70年代早期,一些程序員最先意識到閱讀代碼對于構成完善的軟件測試和調試手段的價值,通過他們的努力,原有的觀念開始發生變化。
今天,并不是所有的軟件測試人員都要閱讀代碼,但是研讀程序代碼作為測試工作的一部分,這個觀念已經得到了廣泛認同。以下幾個因素會影響到特定的測試和調試工作需要人工實際閱讀代碼的可能性:軟件的規模和復雜度、軟件開發團隊的規模、軟件開發的時限(例如時間安排表是松散還是緊密)等,當然還有編程小組的技術背景和文化。
基于這些原因,在深入研究較為傳統的基于計算機的測試技術之前,我們首先討論非基于計算機測試的過程(即“人工測試”)。人工測試技術在查找錯誤方面非常有效,以至于任何編程項目都應該使用其中的一種或多種技術。應該在程序開始編碼之后、基于計算機的測試開始之前使用這些方法。同樣,也可以在編程過程的更早階段就開始設計和應用類似的方法(例如在每個設計階段的末尾),但是這些內容超出了本書討論的范圍。
在開始討論人工測試技術之前,有一條重要的注意事項:由于包含了人為因素在內,導致很多方法的正規性要差于由計算機執行的數學證明,人們可能會懷疑某些如此簡單和不正規的東西是否有用。反之亦然。這些不正規的方法并沒有妨礙測試取得成功;相反,它們從以下兩個方面顯著地提高了測試的功效和可靠性。
首先,人們普遍認識到錯誤發現得越早,改正錯誤的成本越低,正確改正錯誤的可能性也越大。其次,程序員在開始基于計算機的測試時似乎要經歷一個心理上的轉變。從內部產生的壓力似乎會急劇增長,并產生一個趨勢,要“盡可能快地修正這個缺陷”。由于這些壓力的存在,程序員在改正某個由基于計算機測試發現的錯誤時所犯的失誤,要比改正早期發現的問題時所犯的失誤更多一些。
- PostgreSQL for Data Architects
- HBase從入門到實戰
- 數據結構(Java語言描述)
- 編寫高質量代碼:改善Python程序的91個建議
- VSTO開發入門教程
- INSTANT Sencha Touch
- 零基礎學Java程序設計
- NGINX Cookbook
- Building Microservices with .NET Core
- Java程序員面試筆試寶典(第2版)
- LabVIEW虛擬儀器程序設計從入門到精通(第二版)
- Geospatial Development By Example with Python
- 大學計算機基礎實驗指導
- RESTful Web API Design with Node.js
- Oracle SOA Suite 12c Administrator's Guide