3.2 可測試性編碼
1.注釋需要詳盡。特別對于接口,要描述清楚功能、實現及參數;
2.使用模塊化方法,編碼低耦合、高內聚;
3.為集成測試與系統聯調準備調測開關及相應打印函數,并且要有詳細的說明;
4.為單元測試選擇恰當的測試點,并仔細構造測試代碼、測試用例,同時給出明確的注釋說明。測試代碼部分應作為(模塊中的)一個子模塊,以方便測試代碼在模塊中的安裝與拆卸(通過調測開關);
5.使用斷言來發現軟件問題,提高代碼可測試性;
6.用斷言來檢查程序正常運行時不應發生但在調測時有可能發生的非法情況;
7.為測試自動化工具提供所需要的特定“鉤子(hook)”;
8.對于每個功能,提供訪問、修改“狀態”變量的接口,包括提供查詢、修改上層軟件、軟硬件接口、底層硬件狀態的接口及打??;
9.提供查詢系統狀態的接口。比如內存使用、程序使用進程數等;
10.對于測試因為環境等因素而可能無法測試的功能,提供接口模擬軟件實現該功能的過程;
11.對于修改功能,提供修改功能參數單位的接口,以便于進行如軟件性能等的測試;
12.出錯及異常處理保存記錄,記錄具有詳細的屬性,并且格式統一、意義明確;
13.在程序異常時,除了保留日志,還需要提供觀察、恢復的外部方法;
14.對全局變量、特殊結構,提供查詢的方法。
3.3 可測試性調試與定位
1.對于程序中所涉及到的變量盡可能的在調試過程中可以查詢及修改;
2.在整個軟件系統執行過程中為每個關鍵業務或相對獨立的業務設定一個調試點,便于系統集成和問題范圍的定位;
3.在設定好的調試點處對處理的業務輸出數據和全局數據進行可視化輸出,便于測試結果的分析。
3.4 測試所需文檔
1.需求規格說明書
2.概要設計說明書
3.詳細設計說明書
4.系統功能清單
5.系統運行環境搭建指導書
6.系統操作指導書
原文轉自:http://www.uml.org.cn/zjjs/201004222.asp