如何設計測試用例—以登陸功能爲案例

嗨,你們好,我是葉子前端

  關於測試用例設計,根據業務不一樣,能力不一樣,設計的測試用例也徹底不一樣,如下是關於一個老掉牙的案例,「登陸」功能。後端

  需求:作爲用戶,我想輸入帳號、密碼及驗證碼,以便我能正常登陸系統瀏覽器

根據以上需求,不一樣的測試人員,可能會設計出來不一樣的測試用例來進行登陸功能的測試,有興趣的小夥伴,能夠看一下本身有哪些沒有想到,也歡迎小夥伴繼續補充:安全

登陸用例設計-1服務器

  • 輸入已註冊的用戶名和正確的密碼,驗證是否登陸成功
  • 輸入已註冊的用戶名和不正確的密碼,驗證是否登陸失敗,而且提示信息正確
  • 輸入未註冊的用戶名和任意密碼,驗證是否登陸失敗,而且提示信息正確
  • 用戶名和密碼二者都爲空,驗證是否登陸失敗,而且提示信息正確
  • 用戶名和密碼二者之一爲空,驗證是否登陸失敗,而且提示信息正確
  • 若是登陸功能啓用了驗證碼功能,在用戶名和密碼正確的前提下,輸正確的驗證碼,驗證是否登陸成功
  • 若是登陸功能啓用了驗證碼功能,在用戶名和密碼正確的前提下,輸不正確的驗證碼,驗證是否登陸失敗,而且提示信息正確
  • 是否支持第三方登陸
設計出以上用例,你可能以爲比較滿意了,由於看上去這些用例已經覆蓋了需求點。不錯,上面的用例確實覆蓋了需求的主要的測試場景,但是對於一個更爲優秀的測試工程師,可能這只是知足了基礎測試,那麼有經驗的測試工程師會如何設計測試用例,又會增長哪些測試用例:
 
登陸用例設計-2
  • 用戶名、密碼、驗證碼是否大小寫敏感
  • 頁面上的密碼框是否加密顯示
  • 後臺系統建立的用戶第一次登陸成功時,是否提示修改密碼
  • 忘記用戶名和忘記密碼的功能是否可用
  • 前端頁面是否根據設計要求限制用戶名和密碼長度
  • 點擊驗證碼圖片是否能夠更換驗證碼,更換後的驗證碼是否可用
  • 刷新頁面是否刷新驗證碼
  • 若是驗證碼有時效性,須要分別驗證時效內和時效外驗證碼的有效性
  • 不一樣級別的用戶,登陸系統後權限是否正確
  • 用戶登陸超時後,繼續操做是否會重定向到用戶登陸界面
  • 頁面默認焦點是否認位在用戶名的輸入框中
  • 網絡環境之間切換,驗證登陸功能是否正常
  • 快捷鍵Tab和Enter等,是否能夠正常使用
  • 是否能夠利用抓包工具抓到請求直接登陸
  • 除了前端驗證格式及長度,後端是否也校驗?
  • 已登陸的用戶,殺死APP進程後,再次打開APP是否依然爲已登陸狀態
  • 登陸成功後,session的時效性設置
到了這裏,是否是這裏有點兒吃驚,一個簡單的登陸需求,竟然能設計出這麼多的測試點,不用驚訝,淡定~~~對於一位資深的測試人員來講,上面這些遠遠還不夠,可能還須要一些安全性相關的測試,那麼還會有哪些測試用例吶~~,別急,跟我來~~~
 
登陸用例設計-3
 
性能測試設計點:
  • 單用戶登陸的響應時間是否小於3秒
  • 單用戶登陸時,後臺請求數量是否過多
  • 高併發場景下,用戶登陸的響應時間是否小於5秒
  • 高併發場景下,服務器的監控指標是否符合預期
  • 高集合點併發場景下,是否存在資源死鎖和不合理資源等待
  • 長時間大量用戶連續登陸和登出,服務器端是否存在內存泄漏

安全測試測試點:網絡

  • 用戶密碼後臺存儲是否加密
  • 用戶密碼在網絡傳輸過程當中是否加密
  • 密碼是否有有效期,到期後,是否提示須要修改密碼
  • 不登陸的狀況下,在瀏覽器中直接輸入登陸後的URL地址,驗證是否會從新定向到用戶登陸界面
  • 密碼輸入框是否支持複製和粘貼
  • 用戶名和密碼輸入框 中分別輸入典型SQL注入攻擊字符串,驗證系統行爲是否被篡改
  • 連續屢次登陸失敗狀況下,系統是否會阻止後續的嘗試,以應對暴力破解
  • 同一用戶在同一終端的多種瀏覽器上登陸,驗證登陸功能的互斥性是否符合設計預期
  • 同一用戶前後在多臺終端的瀏覽器上登陸,驗證登陸是否具備互斥性
  • 異地登陸的校驗,更換設備的校驗,登陸異常是否考慮帳號凍結 

 看到這裏,你可能以爲,這下全了吧,不不不,咱們是否是忘記了點兒什麼?兼容性測試去了哪裏?來來來~~~下面就增長兼容性測試點:session

登陸測試設計-4併發

兼容性測試:高併發

  • 不一樣平臺下,驗證登陸頁面的顯示及功能的正確性
  • 不一樣設備下,驗證登陸頁面的顯示及功能的正確性
  • 不一樣瀏覽器下,驗證登陸頁面的顯示及功能的正確性
  • 不一樣分辨率下,驗證登陸頁面顯示及功能的正確性
  • 同一瀏覽器,不一樣版本下,驗證登陸頁面顯示及功能正確性

看完上面登陸功能的測試點設計,你還認爲登陸功能很簡單嗎?在任什麼時候候,咱們接到一個功能的需求時,除了考慮覆蓋需求功能的測試點之外,也須要考慮非功能測試點設計,這樣才能更好的保證功能的完整性。工具

以上信息傳達的是一種設計思路,固然針對登陸功能還會有更多的測試點,這個就須要根據項目開發過程當中,測試的時間成本和經濟成本,基於風險驅動的模式下,有所側重地選擇測試範圍和設計測試用例,以尋求缺陷風險和研發成本之間的平衡。

注:以上資料參考茹老師(茹炳晟)的極客時間裏的《軟件測試52講》 

相關文章
相關標籤/搜索