1. 程式人生 > >測試“用戶登錄”功能

測試“用戶登錄”功能

版本 div 等價類劃分 圖片 沒有 簡書 但是 改密碼 一次

如何測試“用戶登錄”功能?我認為可以從功能性和非功能性兩個維度去思考。

關於功能測試,首先可能會根據“用戶登錄”功能的需求描述,結合等價類劃分和邊界值分析方法來設計測試用例。包括:

①輸入已註冊的用戶名和正確的密碼,驗證是否登錄成功;

②輸入已註冊的用戶名和不正確的密碼,驗證是否登錄失敗,並且提示信息正確;

③輸入未註冊的用戶名和任意密碼,驗證是否登錄失敗,並且提示信息正確;

④用戶名和密碼兩位都為空,驗證是否登錄失敗,並且提示信息正確;

⑤用戶名和密碼兩位兩者之一為空,驗證是否登錄失敗,並且提示信息正確;

⑥如果登錄功能啟用用驗證碼功能,在用戶名和密碼正確的前提下,輸入正確的驗證碼,驗證是否登錄成功;

⑦如果登錄功能啟用用驗證碼功能,在用戶名和密碼正確的前提下,輸入錯誤的驗證碼,驗證是否登錄失敗,並且提示信息正確;

雖然以上的測試用例已經涵蓋了主要的功能測試場景,但並沒有覆蓋完全,以下為補充的測試用例:

①用戶名和密碼是否大小寫敏感;

②頁面上的密碼框是否加密顯示;

③後臺系統創建的用戶第一次登錄成功時,是否提示修改密碼;

④忘記用戶名和忘記密碼的功能是否可用;

⑤前端頁面是否根據設計要求限制用戶名和密碼長度;

⑥如果登錄功能需要驗證碼,點擊驗證碼圖片是否可以更換驗證碼,更換後的驗證碼是否可用;

⑦刷新頁面是否會刷新驗證碼;

⑧如果驗證碼具有時效性,需要分別驗證時效內和時效外驗證碼的有效性;

⑨用戶登錄成功但是會話超時後,繼續操作是否會重定向到用戶登錄界面;

⑩不同級別的用戶,比如管理員用戶和普通用戶,登錄系統後的權限是否正確;

?頁面默認焦點是否定位在用戶名的輸入框中;

?快捷鍵Tab和Enter等,是否可以正常使用。

關於非功能性測試,主要涉及安全性、性能以及兼容性三大方面。

安全測試測試用例包括:

①用戶密碼後臺存儲是否加密;

②用戶密碼在網絡傳輸過程中是否加密;

③密碼是否具有有效期,密碼有效期到期後,是否提示修改密碼;

④不登錄的情況下,在瀏覽器中直接輸入登錄後的URL地址,驗證是否會重新定向到用戶登錄界面;

⑤密碼輸入框是否不支持復制和粘貼;

⑥密碼輸入框內輸入的密碼是否都可以在頁面源碼模式下被查看;

⑦用戶名和密碼的輸入框中分別輸入典型的“SQL註入攻擊”字符串,驗證系統的返回頁面;

⑧用戶名和密碼的輸入框中分別輸入典型的“XSS跨站腳本攻擊”字符串,驗證系統行為是否被篡改;

⑨連續多次登錄失敗情況下,系統是否會阻止後續的嘗試以應對暴力破解;

⑩同一用戶在同一終端的多種瀏覽器上登錄,驗證登錄功能的互斥性是否符合設計預期;

?同一用戶先後在多臺終端的瀏覽器上登錄,驗證登錄是否具有互斥性。

性能壓力測試用例包括:

①單用戶登錄的響應時間是否小於3秒;

②單用戶登錄時,後臺請求數量是否過多;

③高並發場景下用戶登錄的響應時間是否小於5秒;

④高並發場景下服務端的監控指標是否符合預期;

⑤高集合點並發場景下,是否存在資源死鎖和不合理的資源等待;

⑥長時間大量用戶連續登錄和登出,服務器端是否存在內存泄漏。

兼容性測試用例包括:

①不同瀏覽器下,驗證登錄頁面的顯示以及功能正確性;

②相同瀏覽器的不同版本下,驗證登錄頁面的顯示以及功能正確性;

③不同移動設備端的不同瀏覽器下,驗證登錄頁面的顯示以及功能正確性;

④不同分辨率的界面下,驗證登錄頁面的顯示以及功能正確性。



作者:victoriawu5
鏈接:https://www.jianshu.com/p/8f6ab1e32e38
來源:簡書

測試“用戶登錄”功能