在看了一個有關登錄的一個課程之後,發現自己以前對登錄測試的用例設計簡直是井底之蛙,在跟領導聊天之後一致認爲可以就這一課文章進行一個整理概括,加以完善,還望大家多多提意見,有借鑑到的內容還望見諒,本文章只是一個整理,與完善補充,並非抄襲,方便各位拿來參看借鑑同時也方便自己拿來借鑑使用,花了這麼多功夫寫出來不能浪費,所以發表出來供大家參考
功能性用例設計點:
1. 輸入已註冊的用戶名和正確的密碼,驗證是否成功登錄
2. 輸入已註冊的用戶名和不正確的密碼,驗證是否成功失敗,且提示信息正確
3. 輸入未註冊的用戶名和任意密碼,驗證是否登錄失敗,且提示信息正確
4. 使用未激活賬戶登錄,驗證是否登錄失敗
5. 使用被停用用戶登錄,驗證是否登錄失敗
6. 用戶名和密碼兩者都爲空,驗證是否登錄失敗,且提示信息正確
7. 用戶名和密碼兩者之一爲空,驗證是否登錄失敗,並且提示信息正確
8. 如果登錄功能啓用了驗證碼功能,在用戶名和密碼正確的情況下,輸入正確的驗證碼,驗證是否登錄成功
9. 如果登錄功能啓用了驗證碼功能,在用戶名和密碼正確的情況下,輸入錯誤的驗證碼,驗證是否登錄失敗,且提示信息正確
10.用戶名和密碼是否大小寫敏感
11.頁面上的密碼框是否加密顯示、或者是否需要有明暗碼切換按鈕
12.後臺系統創建的用戶第一次登錄成功時,是否提示修改密碼
13.忘記用戶名和忘記密碼的功能是否可用
14.前端頁面是否根據設計需求限制用戶名和密碼長度
15.如果登錄功能需要驗證碼,點擊驗證碼圖片或者點擊換一張是否可以更換驗證碼,更換後的驗證碼是否可用
16.刷新頁面是否會刷新驗證碼
17.如果驗證碼有時效性,需要分別時效性內和時效性外驗證碼的有效性
18.用戶登錄成功但是會話超時後,繼續操作是否會重定向到用戶登錄界面
19.不同級別的用戶,比如管理員和普通用戶,登錄系統後權限是否正確
20.頁面默認焦點是否定位在用戶輸入框中
21.快捷鍵Tab和Enter等,是否可以正常使用
22.爲空和輸入空格字符串的校驗是否一致
23.使用中文鍵盤輸入字母和使用英文鍵盤輸入字母傳入後端的字符長度是否一致
24.成功登錄後的session的時效設置
25.輸入欄是否設置快速刪除按鈕
26.用戶名和密碼是否支持特殊字符和中文
27.瀏覽器的前進後退按鈕,是否有效
28.成功登出後,點擊瀏覽器回退按鈕,是否可以繼續操作系統
29.需求中是否有登錄時間限制,如果有驗證時間限制是否有效
30.驗證不同登錄方式的正確性:掃碼、賬號密碼、第三方……
31.若支持手機號+驗證碼登錄,驗證碼是否有時間限制,移動設備是否可以直接獲取驗證碼
32.操作錯誤提示信息是否簡單明瞭
兼容性測試用例設計點:
1. 不同瀏覽器下,驗證登錄頁面的顯示以及功能正確性
2. 相同瀏覽器的不同版本下驗證登錄頁面的顯示以及功能正確性
3. 不同移動設備終端的不同瀏覽器下,驗證登錄頁面顯示以及功能的正確性
4. 不同分辨率的界面下,驗證登錄頁面的顯示以及功能正確性
安全性測試用例設計點:
1. 用戶密碼後臺存儲是否加密
2. 用戶密碼在網絡傳輸過程中是否加密
3. 密碼是否具有有效期,密碼有效期到期後,是否提示需要修改密碼
4. 不登錄的情況下,在瀏覽器中直接輸入登錄後的URL地址,驗證是否會重新定向到用戶登錄界面
5. 密碼輸入框是否不支持複製粘貼
6. 密碼輸入框內輸入的密碼是否都可以在頁面源碼模式下被查看
7. 用戶名和密碼輸入框分別輸入典型的“SQL注入攻擊”字符串,驗證系統的返回頁面
8. 用戶名和密碼輸入框分別輸入典型的“XSS跨站腳本攻擊”字符串,驗證系統行爲是否被篡改
9. 連續多次登錄失敗的情況下,系統是否會阻止後續的嘗試以應對暴力破解
10.同一用戶在同一終端的多種瀏覽器上登錄,驗證登錄功能的互斥性是否符合設計預期
11.同一用戶先後在多臺終端的瀏覽器上登錄,驗證登錄是否具有互斥性
12.是否可以記住密碼,記住的密碼保存是否加密,記住的密碼是否有有效期,過了有效期後是否清空密碼
13.是否支持第三方登錄
14.密碼的強弱性,複雜度校驗
15.異地登錄校驗、更換設備登錄校驗、登陸信息異常是否考慮賬戶凍結停用、是否允許第三方平臺存儲密碼
16.是否可以使用登錄的api發送登錄請求,並繞開驗證碼校驗
17.是否可以用抓包工具抓到的請求包直接登錄
18.截取到的token等信息,是否可以在其他終端上直接使用,繞開登錄,token過期時間校驗
19.登錄錯誤後的提示是否存在安全隱患
性能壓力測試的用例設計點:
1. 單用戶登錄的響應時間是否小於3秒
2. 單用戶登錄時,後臺請求數量是否過多
3. 高併發場景下用戶登錄的響應時間是否小於5秒
4. 高併發場景下服務端的監控指標是否符合預期
5. 高集合點併發場景下,是否存在資源死鎖和不合理資源等待
6. 長時間大量用戶連續登錄和登出,服務器是否存在內存泄露
7. 輸入內容校驗是否加入了函數防抖
最後要說明的一點是,要根據不同的系統的實際情況進行分析,最後根據自己的需求借鑑設計點,並非所有系統都能涉及到所有的設計點,這裏的設計點只是一個針對大多數登錄可能會涉及到的用例設計點,僅供參考借鑑,同時歡迎大家在下方吐槽,完善該篇文章