故障轉移和恢復測試可確保測試對象能成功完成故障轉移,并從硬件、軟件或網絡等方面的各種故障中進行恢復,這些故障導致數據意外丟失或破壞了數據的完整性。
故障轉移測試可確保:對于必須始終保持運行狀態的系統來說,如果發生了故障,那么備選或備份的系統就適當地將發生故障的系統“接管”過來,而且不會丟失任何數據或事務。
恢復測試是一種相反的測試流程。其中,將應用程序或系統置于極端的條件下(或者是模仿的極端條件下),以產生故障,例如設備輸入/輸出 (I/O) 故障或無效的數據庫指針和關健字。啟用恢復流程后,將監測和檢查應用程序和系統,以核實應用程序或系統是正確無誤的,或數據已得到了恢復。
測試目標:確保恢復進程(手工或自動)將數據庫、應用程序和系統正確地恢復到了預期的已知狀態。測試中將包括以下各種情況:
1、客戶機斷電
2、服務器斷電
3、通過網絡服務器產生的通信中斷
4、DASD 和/或 DASD 控制器被中斷、斷電或與 DASD 和/或DASD 控制器的通信中斷
5、周期未完成(數據過濾進程被中斷,數據同步進程被中斷)。
6、數據庫指針或關鍵字無效
7、數據庫中的數據元素無效或遭到破壞
測試方法:
應該使用為功能和業務周期測試創建的測試來創建一系列的事務。一旦達到預期的測試起點,就應該分別執行或模擬以下操作:
1、客戶機斷電:關閉 PC 的電源。
2、服務器斷電:模擬或啟動服務器的斷電過程。
3、通過網絡服務器產生的中斷:模擬或啟動網絡的通信中斷(實際斷開通信線路的連接或關閉網絡服務器或路由器的電源)。
4、DASD 和 DASD 控制器被中斷、斷電或與 DASD 和DASD 控制器的通信中斷:模擬與一個或多個 DASD 控制器或設備的通信,或實際取消這種通信。
一旦實現了上述情況(或模擬情況),就應該執行其他事務。而且一旦達到第二個測試點狀態,就應調用恢復過程。
在測試不完整的周期時,所使用的方法與上述方法相同,只不過應異常終止或提前終止數據庫進程本身。
對以下情況的測試需要達到一個已知的數據庫狀態。當破壞若干個數據庫字段、指針和關鍵字時,應該以手工方式在數據庫中(通過數據庫工具)直接進行。其他事務應該通過使用“應用程序功能測試”和“業務周期測試”中的測試來執行,并且應執行完整的周期。
完成標準:在所有上述情況中,應用程序、數據庫和系統應該在恢復過程完成時立即返回到一個已知的預期狀態。此狀態包括僅限于已知損壞的字段、指針或關鍵字范圍內的數據損壞,以及表明進程或事務因中斷而未被完成的報表。
需考慮的特殊事項:
1、恢復測試會給其他操作帶來許多的麻煩。斷開纜線連接的方法(模擬斷電或通信中斷)可能并不可取或不可行。所以,可能會需要采用其他方法,例如診斷性軟件工具。
2、需要系統(或計算機操作)、數據庫和網絡組中的資源。
3、這些測試應該在工作時間之外或在一臺獨立的計算機上運行。