測試「使用者登入」功能

2022-08-03 18:33:13 字數 1838 閱讀 9117

如何測試「使用者登入」功能?我認為可以從功能性和非功能性兩個維度去思考。

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

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

②輸入已註冊的使用者名稱和不正確的密碼,驗證是否登入失敗,並且提示資訊正確;

③輸入未註冊的使用者名稱和任意密碼,驗證是否登入失敗,並且提示資訊正確;

④使用者名稱和密碼兩位都為空,驗證是否登入失敗,並且提示資訊正確;

⑤使用者名稱和密碼兩位兩者之一為空,驗證是否登入失敗,並且提示資訊正確;

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

⑦如果登入功能啟用用驗證碼功能,在使用者名稱和密碼正確的前提下,輸入錯誤的驗證碼,驗證是否登入失敗,並且提示資訊正確;

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

①使用者名稱和密碼是否大小寫敏感;

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

③後台系統建立的使用者第一次登入成功時,是否提示修改密碼;

④忘記使用者名稱和忘記密碼的功能是否可用;

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

⑥如果登入功能需要驗證碼,點選驗證碼是否可以更換驗證碼,更換後的驗證碼是否可用;

⑦重新整理頁面是否會重新整理驗證碼;

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

⑨使用者登入成功但是會話超時後,繼續操作是否會重定向到使用者登入介面;

⑩不同級別的使用者,比如管理員使用者和普通使用者,登入系統後的許可權是否正確;

⑪頁面預設焦點是否定位在使用者名稱的輸入框中;

⑫快捷鍵tab和enter等,是否可以正常使用。

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

安全測試測試用例包括:

①使用者密碼後台儲存是否加密;

②使用者密碼在網路傳輸過程中是否加密;

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

④不登入的情況下,在瀏覽器中直接輸入登入後的url位址,驗證是否會重新定向到使用者登入介面;

⑤密碼輸入框是否不支援複製和貼上;

⑥密碼輸入框內輸入的密碼是否都可以在頁面原始碼模式下被檢視;

⑦使用者名稱和密碼的輸入框中分別輸入典型的「sql注入攻擊」字串,驗證系統的返回頁面;

⑧使用者名稱和密碼的輸入框中分別輸入典型的「xss跨站指令碼攻擊」字串,驗證系統行為是否被篡改;

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

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

⑪同一使用者先後在多台終端的瀏覽器上登入,驗證登入是否具有互斥性。

效能壓力測試用例包括:

①單使用者登入的響應時間是否小於3秒;

②單使用者登入時,後台請求數量是否過多;

③高併發場景下使用者登入的響應時間是否小於5秒;

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

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

⑥長時間大量使用者連續登入和登出,伺服器端是否存在記憶體洩漏。

相容性測試用例包括:

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

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

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

④不同解析度的介面下,驗證登入頁面的顯示以及功能正確性。

軟體測試使用者登入框的測試功能點

使用者登入的測試點 使用者需求 支援使用者註冊後正常登入的需求功能設計 需要實現使用者的正常登入的操作 根據正確的登入資訊登入系統 登入可以切換語言,當前支援英文和中文 市場,使用者名稱,密碼為必填 使用者名稱不區分大小寫6.驗證碼可以在配置檔案配置測試方案 功能性用例設計點 驗證使用者是否可以正常...

使用者登入測試用例

功能性測試用例包括 1.輸入已註冊的使用者名稱和正確的密碼,驗證是否登入成功 2.輸入已註冊的使用者名稱和不正確的密碼,驗證是否登入失敗,並且提示資訊正確 3.輸入未註冊的使用者名稱和任意密碼,驗證是否登入失敗,並且提示資訊正確 4.使用者名稱和密碼兩者都為空,驗證是否登入失敗,並且提示資訊正確 5...

登入功能常用測試用例

pc端登入介面往往需要輸入使用者名稱 密碼 驗證碼,通用的登入測試用例有以下幾點 測試點用例編碼 測試用例描述 預期結果 實際結果 1 正常登入 0011 輸入正確的使用者名稱 2 輸入正確的密碼 3 輸入驗證碼 4 點選 登入 成功登入 0021 按tab切換到使用者名稱密碼輸入框 2 分別輸入正...