針對用戶注冊登錄的測試用例
【界面測試】
1、 布局是否合理,輸入框和按鈕是否對齊,界面風格是否統一,有沒錯別字
2、容易誤操作的地方是否加入防抖
【功能測試】
根據功能測試的方法 等價類划分,邊界值分析,判定表,因果圖,正交實驗,狀態遷移,流程分析,輸入域覆蓋,輸出域覆蓋,異常分析,錯誤猜測
1、用戶名和密碼都有最大和最小長度,根據邊界值分析,取上點、離點,內點
2、 用戶名和密碼都有字符類型要求,根據等價類分析,划分幾個無效及有效等價類
3、 驗證必填項為空是否可以正常進入
4、 用戶名密碼輸入特殊字符,如/’ “\ 或程序語言等
5、 輸入密碼時,大寫鍵盤開啟時要求有提示信息
【安全密文】
6、 輸入的密碼是否密文顯示
7、 改變已存在用戶的用戶名和密碼的大小寫來登錄
8、 登錄后是否會用明文傳遞參數
9、 數據庫中不存在的用戶名,或存在的用戶名,錯誤的密碼來登錄
10、輸入的正確的用戶名或密碼前后中間有空格
11、 登錄失敗后,不能記錄密碼的功能
12、選中記住密碼是否可以保存密碼,重新打開是否保存着正確的密碼
13、選中記住密碼后換一個賬戶,保存的密碼是否正確地與賬號對應
14、登錄失敗后,已經輸入的用戶名和密碼一般需要清空
15、登錄后保存里面的鏈接,關了瀏覽器直接復制鏈接看能不能訪問——查看瀏覽器application的cookie中是否有對應的token,如果沒有則當前應該要退出登錄
【性能測試】
1、 打開登錄頁面,需要幾秒,輸入正確的用戶名和密碼成功跳轉后,需要幾秒,一般小於5s為最優
2、 多用戶並發登錄是否達到設計要求
3、 登錄達到需求上線,系統穩定工作時間是否達到要求
【安全性測試】
1、 密碼一般要求不可以復制粘貼
2、 用戶名和密碼是否通過加密的方式,發送給服務器
3、 用戶名和密碼的驗證,應該是服務端和客戶端同時驗證
4、 用戶名和密碼的輸入框,要求屏蔽SQL注入,如輸入or 1=1
5、 錯誤登錄次數限制,防止暴力破解
6、 Cookie有效時間驗證
7、 是否允許多用戶同時登錄
8、 使用已被刪除或禁用的賬號登錄
【易用性測試】
1、 檢驗是否支持tab和enter鍵
【兼容性測試】
1、 主流的瀏覽器下能否正常顯示,功能是否正常
2、 不同的平台能否正常工作
3、 移動設備上是否正常工作
4、瀏覽器的前進后退有效性
【弱網操作】
1、無網絡時操作登錄,是否提示信息正確
基於等價類划分和邊界值分析方法,我們設計的測試用例包括:
-
輸入已注冊的用戶名和正確的密碼,驗證是否登錄成功;
-
輸入已注冊的用戶名和不正確的密碼,驗證是否登錄失敗,並且提示信息正確;
-
輸入未注冊的用戶名和任意密碼,驗證是否登錄失敗,並且提示信息正確;
-
用戶名和密碼兩者都為空,驗證是否登錄失敗,並且提示信息正確;
-
用戶名和密碼兩者之一為空,驗證是否登錄失敗,並且提示信息正確;
-
如果登錄功能啟用了驗證碼功能,在用戶名和密碼正確的前提下,輸入正確的驗證碼,驗證是否
登錄成功; -
如果登錄功能啟用了驗證碼功能,在用戶名和密碼正確的前提下,輸入錯誤的驗證碼,驗證是否
登錄失敗,並且提示信息正確。
列出這些測試用例后,你可能已經覺得比較滿意了,因為你感覺已經把自己的測試知識都用在這些用例設計中了。 -
用戶名和密碼是否大小寫敏感;
-
頁面上的密碼框是否加密顯示;
-
后台系統創建的用戶第一次登錄成功時,是否提示修改密碼;
-
忘記用戶名和忘記密碼的功能是否可用;
-
前端頁面是否根據設計要求限制用戶名和密碼長度;
-
如果登錄功能需要驗證碼,點擊驗證碼圖片是否可以更換驗證碼,更換后的驗證碼是否可用;
-
刷新頁面是否會刷新驗證碼;
-
如果驗證碼具有時效性,需要分別驗證時效內和時效外驗證碼的有效性;
-
用戶登錄成功但是會話超時后,繼續操作是否會重定向到用戶登錄界面;
-
不同級別的用戶,比如管理員用戶和普通用戶,登錄系統后的權限是否正確;
-
頁面默認焦點是否定位在用戶名的輸入框中;
-
快捷鍵 Tab 和 Enter 等,是否可以正常使用
- 多次操作點擊登錄按鈕,是否會導致登錄發生異常
安全性測試用例包括:
- 用戶密碼后台存儲是否加密;
- 用戶密碼在網絡傳輸過程中是否加密;
- 密碼是否具有有效期,密碼有效期到期后,是否提示需要修改密碼;
- 不登錄的情況下,在瀏覽器中直接輸入登錄后的 URL 地址,驗證是否會重新定向到用戶登錄界
面; - 密碼輸入框是否不支持復制和粘貼;
- 密碼輸入框內輸入的密碼是否都可以在頁面源碼模式下被查看;
- 用戶名和密碼的輸入框中分別輸入典型的“SQL 注入攻擊”字符串,驗證系統的返回頁面;
- 用戶名和密碼的輸入框中分別輸入典型的“XSS 跨站腳本攻擊”字符串驗證系統行為被篡改
- 連續多次登錄失敗情況下,系統是否會阻止后續的嘗試以應對暴力破解;
- 同一用戶在同一終端的多種瀏覽器上登錄,驗證登錄功能的互斥性是否符合設計預期;
- 同一用戶先后在多台終端的瀏覽器上登錄,驗證登錄是否具有互斥性。
- 是否可以記住密碼,記住的密碼保存是否加密,記住的密碼是否有有效期,過了有效期后是否清空密碼
- .是否支持第三方登錄
- 密碼的強弱性,復雜度校驗
- 異地登錄校驗、更換設備登錄校驗、登陸信息異常是否考慮賬戶凍結停用、是否允許第三方平台存儲密碼
- 是否可以使用登錄的api發送登錄請求,並繞開驗證碼校驗
- 是否可以用抓包工具抓到的請求包直接登錄
- 截取到的token等信息,是否可以在其他終端上直接使用,繞開登錄,token過期時間校驗
- 登錄錯誤后的提示是否存在安全隱患
- 不同登錄方式的正確性 掃碼 賬號密碼 第三方登錄
- 賬號和密碼輸入框是否支持鍵盤快捷鍵?(如撤銷、復制、粘貼等等)
性能壓力測試用例包括:
- 單用戶登錄的響應時間是否小於 3 秒;
- 單用戶登錄時,后台請求數量是否過多;
- 高並發場景下用戶登錄的響應時間是否小於 5 秒;
- 高並發場景下服務端的監控指標是否符合預期;
- 高集合點並發場景下,是否存在資源死鎖和不合理的資源等待;
- 長時間大量用戶連續登錄和登出,服務器端是否存在內存泄漏。
- session的時效設置
- 輸入內容校驗是否加入了函數防抖
兼容性測試用例包括:
- 不同瀏覽器下,驗證登錄頁面的顯示以及功能正確性;
- 相同瀏覽器的不同版本下,驗證登錄頁面的顯示以及功能正確性;
- 不同移動設備終端的不同瀏覽器下,驗證登錄頁面的顯示以及功能正確性;
- 不同分辨率的界面下,驗證登錄頁面的顯示以及功能正確性。
- 瀏覽器的前進后退是否有效
- 縮小界面范圍界面是否會錯位
