口令驗證
目前大多數的Web系統都設置了登陸功能,只有驗證通過後,才能訪問相關的數據信息。在測試此類功能時,必須測試有效和無效的用戶名及口令,同時需考慮大小寫、錯誤次數限制、代碼注入等。口令安全測試通常融合在功能測試中。
授權驗證
典型的業務系統基本由用戶、用戶組(角色)、權限及基本功能構成,權限管理在整個業務系統中起着至關重要的作用,即使通過了口令驗證,不同用戶、不用角色仍可能具有不同的權限,因此在測試過程中需重點測試授權問題,如未登陸是否可以瀏覽信息、未授權是否可以使用功能、權限重疊時能否正確分配等。
【案例1 ECShop授權測試】
ECShop管理員設置時,可根據創建的角色,分配對應的權限,然後檢測該角色的用戶能否使用賦予的權限,未賦予的權限則不應使用。
1) Admin登陸後臺,創建“商品管理員”角色,並賦予商品管理相關權限,其他權限則不設置,如圖1所示。
圖1 ECShop後臺創建角色
2) 創建管理員,並將其角色設置爲“商品管理員”,如圖2所示。
圖2 創建商品管理員用戶
3) 使用“liudebao”帳號登陸後臺,驗證權限是否正確,“商品管理員”角色應當具有商品管理的所有權限,其他未賦予權限的模塊則不應當出現,但實際測試時出現設計方面的缺陷,“liudebao”應用界面出現了“短信管理”-“短信簽名”菜單,但進入後提示信息如圖5- 62所示,而其他無權模塊均不可見,因此兩者設計方式不統一,測試工程師應當提交“權限模塊控制方式不一致”方面的缺陷。
圖3 模塊權限錯誤提示信息
權限測試在實際測試工作中是一個難點,因爲可能涉及非常多的權限,測試方法可使用正交試驗方法進行優化測試用例組合,從而減少用例,提高測試效率與效果。
日誌文件
日誌的功能是追蹤,任何可能危害系統安全的操作都應被記錄,測試時需確認是否以安全的方式記錄了應該記錄的信息。
【案例2 ECShop日誌功能測試】
ECShop的後臺管理員可查看管理員對系統的操作行爲,如圖4所示。
圖4 管理員操作日誌
從功能測試角度考慮,需驗證該日誌管理功能是否正確實現,但從安全測試角度,則需考慮該日誌管理是否記錄了應該記錄的信息,從日記記錄的結果來看,並沒有對其他管理員的操作進行記錄,而且其他角色的用戶即使賦予了日誌管理權限,但也只能查看admin用戶的操作日誌,因此測試工程師測試此處功能時可提交一個日誌記錄方面建議性的缺陷。