軟件代碼在合適位置包含了有助于其他開發人員正確理解的注釋語句;
軟件代碼可以正確處理與性能、擴展性、安全性有關的問題;
軟件代碼對異常管理和內存分配有關的資源管理能正確處理;
軟件代碼考慮了軟件國際化和本地化有關的問題;
軟件不包含冗余的從來不被調用的代碼。
此外,實現代碼評審還要確保軟件能夠正確處理邊界條件、特殊輸入、可能的安全攻擊、性能優化、內存泄漏和線程安全等問題。
執行白盒測試
白盒測試執行詳細測試計劃中與白盒測試有關的測試用例,通過分析軟件代碼的內部工作方式和程序邏輯結構,尋找軟件存在的缺陷。
分析源程序編碼,確定測試不公 API 和測試代碼路徑所需要的輸入數據,并且更新測試計劃。
白盒測試包括以下內容:
剖析應用程序在運行時某些特殊代碼的行為特征,包括代碼覆蓋、內存分配、競爭和死鎖( Deadlock )問題;
跟蹤代碼路徑分析與關鍵性能的相關的時間占用,對于基于 Web 的應用程序,還需要監視請求的執行時間;
測試程序的內部分支路徑,確保每個路徑正確處理數據,返回期望的輸出,而不會引起功能損失或不一致;
測試不同的循環和條件語句,例如簡單循環、嵌套循環,關系表達式、簡單條件、符合條件、布爾表達式,保證代碼組建的精度要求;
安全性測試。如果軟件某段代碼在目標布署環境存在安全訪問為題,應該分析對應的處理安全性的代碼,避免程序向攻擊者暴露敏感信息。
執行黑盒測試
黑盒測試執行詳細測試計劃中與黑盒測試有關的測試用例,黑河測試不需要測試者了解程序的內部結構,而主要模擬終端用戶的操作方式。
黑盒測試確保應用程序滿足以下要求:
應用程序符合需求文檔中列出的全部目標;
應用程序包括了功能規格說明指定的全部功能點;
應用程序能夠正確地處理期望的和異常的使用場景。
黑盒測試包括以下內容:
測試全部使用場景的外部接口。確保接口符合功能規格說明和系統需求,使用場景既包括期望的處理流程,也包括隨機的輸入。
測試不同的輸入類型。確保軟件接口可以輸出期望的結果,并且可以正確處理無效的數據和異常情況。測試的輸入數據包括合理的數據、邊界數據和超出最大和最小的輸入數據。
性能測試。驗證應用程序在正常情況下和極限負載條件下,程序能夠處理不斷增加的訪問請求,具有良好的擴展能力。性能測試包括負載測試和壓力測試。性能測試的測試結果可以作為實現代碼審閱和白盒測試的輸入。
安全性測試。從黑盒測試的觀點看,安全性測試通過模擬軟件真實運行環境下攻擊者的操作行為,尋找軟件不正確的設計和編碼的安全隱患。安全性測試包括驗證輸入數據、破解加密和訪問敏感數據、緩沖區溢出、授權和證書功能等。
原文轉自:http://www.uml.org.cn/Test/200807037.asp