以“用戶登錄”測試談用例編寫


作為測試工程師,大家設計測試用例的目標是保證系統在各種應用場景下的功能是符合設計要求,所以大家在設計測試用例的時候就需要保證用例覆蓋盡可能的更多、更全面。以“用戶登錄”為例,一般在對輸入框進行測試時,都能用到等價類和邊界值的方法,這兩個方法也是最常用、最典型的黑盒測試方法。

等價類與邊界值的定義

等價類划分方法,是將所有可能的輸入數據划分成若干個子集,在每個子集中,如果任意一個輸入數據對於揭露程序中潛在錯誤都具有同等效果,那么這樣的子集就構成了一個等價類。后續只要從每個等價類中任意選取一個值進行測試,就可以用少量具有代表性的測試輸入取得較好的測試覆蓋結果。
邊界值分析方法,是選取輸入、輸出的邊界值進行測試。因為通常大量的軟件錯誤是發生在輸入或輸出范圍的邊界上,所以需要對邊界值進行重點測試,通常選取正好等於、剛剛大於或剛剛小於邊界的值作為測試數據。

 

等價類與邊界值的方法“用戶登錄”測試用例

  1. 輸入已注冊的用戶名和正確的密碼,驗證是否登錄成功;
  2. 輸入已注冊的用戶名和不正確的密碼,驗證是否登錄失敗,並且提示信息正確;
  3. 輸入未注冊的用戶名和任意密碼,驗證是否登錄失敗,並且提示信息正確;
  4. 用戶名和密碼兩者都為空,驗證是否登錄失敗,並且提示信息正確;
  5. 用戶名和密碼兩者之一為空,驗證是否登錄失敗,並且提示信息正確;
  6. 如果登錄功能啟用了驗證碼功能,在用戶名和密碼正確的前提下,輸入正確的驗證碼,驗證是否登錄成功;
  7. 如果登錄功能啟用了驗證碼功能,在用戶名和密碼正確的前提下,輸入錯誤的驗證碼,驗證是否登錄失敗,並且提示信息正確。
  8. 用戶名和密碼是否大小寫敏感;
  9. 頁面上的密碼框是否加密顯示;
  10. 是否可記住密碼,記住的密碼保存是否加密;
  11. 記住密碼是否有有效期,過期之后是否會清空密碼;
  12. 后台系統創建的用戶第一次登錄成功時,是否提示修改密碼;
  13. 忘記用戶名和忘記密碼的功能是否可用;
  14. 修改完密碼后是否會重定向到登錄界面;
  15. 前端頁面是否根據設計要求限制用戶名和密碼長度;
  16. 如果登錄功能需要驗證碼,點擊驗證碼圖片是否可以更換驗證碼,更換后的驗證碼是否可用;
  17. 刷新頁面是否會刷新驗證碼;
  18. 如果驗證碼具有時效性,需要分別驗證時效內和時效外驗證碼的有效性;
  19. 用戶登錄成功但是會話超時后,繼續操作是否會重定向到用戶登錄界面;
  20. 不同級別的用戶,比如管理員用戶和普通用戶,登錄系統后的權限是否正確;
  21. 頁面默認焦點是否定位在用戶名的輸入框中;
  22. 快捷鍵Tab和Enter等,是否可以正常使用。
    等等

上述測試用例只是在對軟件的“顯式功能”進行測試,作為一名高質量的測試工程師,其他的非功能性需求即隱式功能性需求也是極其關鍵的。

顯式需求與隱式需求

顯式需求 顯式功能性需求(Functional requirement)的含義從字面上就可以很好地理解,指的是軟件本身需要實現的具體功能, 比如“正常用戶使用正確的用戶名和密碼可以成功登錄”、“非注冊用戶無法登錄”等,這都是屬於典型的顯式功能性需求描述。
隱式需求 從軟件測試的維度來看,非功能性需求主要涉及安全性、性能以及兼容性三大方面。


如果對軟件測試、接口測試、自動化測試、面試經驗交流感興趣可以加軟件測試交流:1085991341,會有不定期的發放免費的資料鏈接,還會有同行一起技術交流。

安全性測試用例

  1. 用戶密碼在網絡傳輸過程中是否加密;
  2. 密碼是否具有有效期,密碼有效期到期后,是否提示需要修改密碼;
  3. 不登錄的情況下,在瀏覽器中直接輸入登錄后的URL地址,驗證是否會重新定向到用戶登錄界面;
  4. 密碼輸入框是否不支持復制和粘貼;
  5. 密碼輸入框內輸入的密碼是否都可以在頁面源碼模式下被查看;
  6. 用戶名和密碼的輸入框中分別輸入典型的“SQL注入攻擊”字符串,驗證系統的返回頁面;
  7. 用戶名和密碼的輸入框中分別輸入典型的“XSS跨站腳本攻擊”字符串,驗證系統行為是否被篡改;
  8. 連續多次登錄失敗情況下,系統是否會阻止后續的嘗試以應對暴力破解;
  9. 不同頁面同時登錄是否有一端被踢、本終端被踢下線后點擊登錄能否再次登錄;
  10. 密碼輸入是否有最大次數限制,超過最大次數限制后,是否采取強制手段限制登錄或對賬號暫時凍結處理;
  11. 異地登錄校驗、更換設備登錄校驗、登錄信息異常的情況
  12. 是否可以使用登錄的API發送登錄請求,並繞開驗證碼校驗;
  13. 是否可用抓包工具抓到的請求包直接登錄;
  14. 截取到的token等信息,是否可以再其它終端直接使用,繞開登錄;
  15. token過期時間校驗;

性能測試用例

  1. 單用戶登錄的響應時間是否小於3秒;
  2. 單用戶登錄時,后台請求數量是否過多;
  3. 高並發場景下用戶登錄的響應時間是否小於5秒;
  4. 高並發場景下服務端的監控指標是否符合預期;
  5. 高集合點並發場景下,是否存在資源死鎖和不合理的資源等待;
  6. 長時間大量用戶連續登錄和登出,服務器端是否存在內存泄漏。
  7. 弱網延遲或切換網絡或斷網時登陸是否正常

兼容性測試用例

  1. 不同瀏覽器下,驗證登錄頁面的顯示以及功能正確性;
  2. 相同瀏覽器的不同版本下,驗證登錄頁面的顯示以及功能正確性;
  3. 不同移動設備終端的不同瀏覽器下,驗證登錄頁面的顯示以及功能正確性;
  4. 不同分辨率的界面下,驗證登錄頁面的顯示以及功能正確性;
  5. 移動端橫屏豎屏切換時顯示是否正常;
  6. 是否涉及第三方賬號登錄,能否正常調起不同版本第三方應用;

一般來說,測試用例很難窮盡,因此我們在編寫測試用例的過程中需要從“場景”出發,有效的利用等價類、邊界值的方法,盡可能多的對測試點進行覆蓋。
以上內容希望對你有幫助,有被幫助到的朋友歡迎點贊,評論。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM