部份內容轉載自 :http://www.cnblogs.com/puresoul/p/4593419.htmljavascript
驗證登陸流程判斷邏輯html
前端前端
帳戶名、密碼、驗證碼 是否爲空?java
密碼是否符合規則(特殊字符、大小寫、數字、長度..)web
服務端瀏覽器
驗證碼是否正確 (對應時間戳是否過時)安全
帳戶是否存在 (未註冊、已註銷)服務器
密碼是否正確 (記錄連續輸入錯誤次數,超過5次,帳號鎖定4小時。或提高驗證等級,採起帳號+密碼+驗證碼+短信驗證)網絡
返回session、tokensession
1、基本功能測試點:
- 輸入正確的用戶名和密碼登陸成功
- 輸入錯誤的用戶名密碼登陸失敗
- 用戶名正確,密碼錯誤,是否提示輸入密碼錯誤?
- 用戶名錯誤,密碼正常,是否提示輸入用戶名錯誤?
- 用戶名和密碼都錯誤,是否有相應提示?
- 用戶名密碼爲空時,是否有相應提示?
- 若是用戶未註冊,提示請先註冊,而後進行登陸
- 已經註銷的用戶登陸失敗,提示信息友好?
- 密碼框是否加密顯示?
- 用戶名是否支持中文、特殊字符?
- 用戶名是否有長度限制?
- 密碼是否支持中文,特殊字符?
- 密碼是否有長度限制?
- 密碼是否區分大小寫?
- 密碼爲一些簡單經常使用字符串時,是否提示修改?如:123456
- 密碼存儲方式?是否加密?
- 登陸功能是否須要輸入驗證碼?
- 驗證碼有效時間?
- 驗證碼輸入錯誤,登陸失敗,提示信息是否友好?
- 輸入過時的驗證可否登陸成功?
- 驗證碼是否容易識別?
- 驗證碼換一張功能是否可用?點擊驗證碼圖片是否能夠更換驗證碼?
- 用戶體系:好比系統分普通用戶、高級用戶,不一樣用戶登陸系統後可的權限不一樣。
- 若是使用第三方帳號(QQ,微博帳號)登陸,那麼第三方帳號與本系統的帳號體系對應關係如何保存?首次登陸須要極權等
2、頁面測試:
- 登陸頁面顯示是否正常?文字和圖片可否正常顯示,相應的提示信息是否正確,按鈕的設置和排列是否正常,頁面是否簡潔壯觀等。
- 頁面默認焦點是否認位在用戶名的輸入框中
- 首次登陸時相應的輸入框是否爲空?或者若是有默認文案,當點擊輸入框時默認方案是否消失?
- 相應的按鈕如登陸、重置等,是否可用;頁面的前進、後退、刷新按鈕是否可用?
- 快捷鍵Tab,Esc,Enter 等,可否控制使用
- 兼容性測試:不一樣瀏覽器,不一樣操做系統,不一樣分辨率下界面是否正常
三 、安全測試:
- 不登陸:瀏覽器中直接輸入登陸後的地址,看是否能夠直接進入
- 登陸成功後生成的Cookie,是不是httponly (不然容易被腳本盜取)
-
用戶名和密碼是否經過加密的方式,發送給Web服務器
- 用戶名和密碼的驗證,應該是用服務器端驗證, 而不能單單是在客戶端用javascript驗證
- 用戶名和密碼的輸入框,應該屏蔽SQL 注入攻擊
- 用戶名和密碼的的輸入框,應該禁止輸入腳本 (防止XSS攻擊)
- 錯誤登錄的次數限制(防止暴力破解)
- 考慮是否支持多用戶在同一機器上登陸;
- 考慮一用戶在多臺機器上登陸
四、性能測試:
- 單用戶登陸系統的響應時間是否符合"3-5-8"原則
- 用戶數在臨界點時併發登陸是否還能符合"3-5-8"原則
- 壓力:大量併發用戶登陸,系統的響應時間是多少?系統會出現宕機、內存泄露、cpu飽和、沒法登陸嗎?
- 穩定性: 系統可否處理併發用戶數在臨界點之內連續登陸N個時的場景?
五、其它測試:
- 連續輸入3次或以上錯誤密碼,用記是否被鎖必定時間(如:15分鐘)?時間內不容許登陸,超出時間點是否能夠繼續登陸。
- 用戶session過時後,從新登陸是否還能從新返回這前session過時的頁面?
- 用戶名和密碼輸入框是事支持鍵盤快捷鍵?如:撤銷、複製、粘貼等等
- 是否容許同名用戶同時登陸進行操做?考慮web和app同時登陸
- 手機登陸時,是否先判斷網絡可用?
- 手機登陸時,是否先判斷app存在新版本?
- 是否支持單點登陸?
- 是否有埋點接口