容錯性測試包括兩個方面的測試:
a.輸入異常數據或進行異常操作,以檢驗系統的保護性。如果系統的容錯性好的話,系統只給出提示或內部消化掉,而不會導致系統出錯甚至崩潰。
b.災難恢復性測試。通過各種手段,讓軟件強制性地發生故障,然后驗證系統已保存的用戶數據是否丟失、系統和數據是否能很快恢復。
關于自動恢復測試,需驗證重新初始化、檢查點、數據恢復和重新啟動等機制的正確性;對于人工干預的恢復系統,還需估測平均修復時間,確定其是否在可接受的范圍內。
從容錯性測試的概念可以看出,容錯測試是一種對抗性的測試過程。要測試軟件出現故障時,如何進行故障的轉移與恢復有用的數據。故障轉移(Failover)是確保測試對象在出現故障時,能成功地將運行的系統或系統某一關鍵部分轉移到其它設備上繼續運行,即備用系統就將不失時機地“頂替”發生故障的系統,以避免丟失任何數據或事務,不影響用戶的使用。要進行故障轉移的全面測試, 一個好的方法是將測試系統全部對象用一張系統結構圖描繪出來,對圖中的所有可能發生的故障點設計測試用例。例如,系統設計架構圖中,如果存在單點失效的關鍵對象,就是設計的重大缺陷。
在進行安全測試時,測試人員假扮非法入侵者,采用各種辦法試圖突破防線。例如:
a.想方設法截取或破譯口令;
b.專門開發軟件來破壞系統的保護機制;
c.故意導致系統失敗,企圖趁恢復之機非法進入;
d.試圖通過瀏覽非保密數據,推導所需信息等等。
安全性一般分為兩個層次,即應用程序級別的安全性和系統級別的安全性,針對不同的安全級別,其測試策略和方法也不相同:
應用程序級別的安全性,包括對數據或業務功能的訪問,在預期的安全性情況下,操作者只能訪問應用程序的特定功能、有限的數據。其測試是核實操作者只能訪問其所屬用戶類型已被授權訪問的那些功能或數據。測試時,確定有不同權限的用戶類型,創建各用戶類型并用各用戶類型所特有的事務來核實其權限,最后修改用戶類型并為相同的用戶重新運行測試。
系統級別的安全性,可確保只有具備系統訪問權限的用戶才能訪問應用程序,而且只能通過相應的網關來訪問,包括對系統的登錄或遠程訪問。其測試是核實只有具備系統和應用程序訪問權限的操作者才能訪問系統和應用程序。
原文轉自:http://www.anti-gravitydesign.com