容錯性測試是檢查軟件在異常條件下自身是否具有防護性的措施或某種災難性恢復的手段。當系統出錯時,能否在指定時間間隔內修正錯誤并重新啟動系統。容錯性測試包括兩個方面:
· 輸入異常數據或進行異常操作,以檢驗系統的保護性。如果系統的容錯性好,系統只給出提示或內部消化掉,而不會導致系統出錯甚至崩潰。
· 災難恢復性測試。通過各種手段,讓軟件強制性地發生故障,然后驗證系統已保存的用戶數據是否丟失,系統和數據是否能盡快恢復。
對于自動恢復需驗證重新初始化、檢查點、數據恢復和重新啟動等機制的正確性;對于人工干預的恢復系統,還需估測平均修復時間,確定其是否在可接受的范圍內。容錯性好的軟件能確保系統不發生無法意料的事故。
從容錯性測試的概念可以看出,當軟件出現故障時如何進行故障的轉移與恢復有用的數據是十分重要的。
1故障轉移與數據恢復
故障轉移是確保測試對象在出現故障時能成功完成故障的轉移,并能從導致意外數據損失或數據完整性破壞的各種硬件、軟件和網絡故障中恢復。數據恢復可確保:對于必須持續運行的系統,一旦發生故障,備用系統將不失時機地“頂替”發生故障的系統,以避免丟失任何數據或事務。容錯測試是一種對抗性的測試過程。在這種測試中,將把應用程序或系統置于(模擬的)異常條件下,以產生故障。例如設備輸入/輸出(I,o)故障或無效的數據庫指針和關鍵字等。然后調用恢復進程并監測和檢查應用程序和系統,核實系統和數據已得到了正確的恢復。
2測試目標
確?;謴瓦M程將數據庫、應用程序和系統正確地恢復到預期的已知狀態。測試中將包
括以下各種情況:
· 客戶機斷電、服務器斷電。
· 通過嗣絡服務器產生的通信中斷或控制器被中斷。
· 斷電或與控制器的通信中斷周期未完成(數據過濾進程被中斷,數據同步進程被
中斷)。
· 數據庫指針或關鍵字無效,數據庫中的數據元素無效或遭到破壞。
3測試范圍
應該使用為功能和、Ik務周期測試創建的測試來創建一系列的事務。一旦達到預期的測試起點,就應該分別執行或模擬以下操作:
· 往軟盤保存時,不插入軟盤,或將軟盤加寫保護。
· 不接打印機,但進行打印操作。
· 客戶機斷電和服務器斷電。
· 網絡通信中斷,如可以斷開通信線路的連接,關閉網絡服務器或路由器的電源。
· 控制器被巾斷、斷電或與控制器的通信中斷,模擬與一個或多個控制器及設備的通信,或實際取消這種通信。
原文轉自:http://www.anti-gravitydesign.com