嗨,你們好,我是葉子前端
關於測試用例設計,根據業務不一樣,能力不一樣,設計的測試用例也徹底不一樣,如下是關於一個老掉牙的案例,「登陸」功能。後端
需求:作爲用戶,我想輸入帳號、密碼及驗證碼,以便我能正常登陸系統瀏覽器
根據以上需求,不一樣的測試人員,可能會設計出來不一樣的測試用例來進行登陸功能的測試,有興趣的小夥伴,能夠看一下本身有哪些沒有想到,也歡迎小夥伴繼續補充:安全
登陸用例設計-1服務器
- 輸入已註冊的用戶名和正確的密碼,驗證是否登陸成功
- 輸入已註冊的用戶名和不正確的密碼,驗證是否登陸失敗,而且提示信息正確
- 輸入未註冊的用戶名和任意密碼,驗證是否登陸失敗,而且提示信息正確
- 用戶名和密碼二者都爲空,驗證是否登陸失敗,而且提示信息正確
- 用戶名和密碼二者之一爲空,驗證是否登陸失敗,而且提示信息正確
- 若是登陸功能啓用了驗證碼功能,在用戶名和密碼正確的前提下,輸正確的驗證碼,驗證是否登陸成功
- 若是登陸功能啓用了驗證碼功能,在用戶名和密碼正確的前提下,輸不正確的驗證碼,驗證是否登陸失敗,而且提示信息正確
- 是否支持第三方登陸
設計出以上用例,你可能以爲比較滿意了,由於看上去這些用例已經覆蓋了需求點。不錯,上面的用例確實覆蓋了需求的主要的測試場景,但是對於一個更爲優秀的測試工程師,可能這只是知足了基礎測試,那麼有經驗的測試工程師會如何設計測試用例,又會增長哪些測試用例:
登陸用例設計-2
- 用戶名、密碼、驗證碼是否大小寫敏感
- 頁面上的密碼框是否加密顯示
- 後臺系統建立的用戶第一次登陸成功時,是否提示修改密碼
- 忘記用戶名和忘記密碼的功能是否可用
- 前端頁面是否根據設計要求限制用戶名和密碼長度
- 點擊驗證碼圖片是否能夠更換驗證碼,更換後的驗證碼是否可用
- 刷新頁面是否刷新驗證碼
- 若是驗證碼有時效性,須要分別驗證時效內和時效外驗證碼的有效性
- 不一樣級別的用戶,登陸系統後權限是否正確
- 用戶登陸超時後,繼續操做是否會重定向到用戶登陸界面
- 頁面默認焦點是否認位在用戶名的輸入框中
- 網絡環境之間切換,驗證登陸功能是否正常
- 快捷鍵Tab和Enter等,是否能夠正常使用
- 是否能夠利用抓包工具抓到請求直接登陸
- 除了前端驗證格式及長度,後端是否也校驗?
- 已登陸的用戶,殺死APP進程後,再次打開APP是否依然爲已登陸狀態
- 登陸成功後,session的時效性設置
到了這裏,是否是這裏有點兒吃驚,一個簡單的登陸需求,竟然能設計出這麼多的測試點,不用驚訝,淡定~~~對於一位資深的測試人員來講,上面這些遠遠還不夠,可能還須要一些安全性相關的測試,那麼還會有哪些測試用例吶~~,別急,跟我來~~~
登陸用例設計-3
性能測試設計點:
- 單用戶登陸的響應時間是否小於3秒
- 單用戶登陸時,後臺請求數量是否過多
- 高併發場景下,用戶登陸的響應時間是否小於5秒
- 高併發場景下,服務器的監控指標是否符合預期
- 高集合點併發場景下,是否存在資源死鎖和不合理資源等待
- 長時間大量用戶連續登陸和登出,服務器端是否存在內存泄漏
安全測試測試點:網絡
- 用戶密碼後臺存儲是否加密
- 用戶密碼在網絡傳輸過程當中是否加密
- 密碼是否有有效期,到期後,是否提示須要修改密碼
- 不登陸的狀況下,在瀏覽器中直接輸入登陸後的URL地址,驗證是否會從新定向到用戶登陸界面
- 密碼輸入框是否支持複製和粘貼
- 用戶名和密碼輸入框 中分別輸入典型SQL注入攻擊字符串,驗證系統行爲是否被篡改
- 連續屢次登陸失敗狀況下,系統是否會阻止後續的嘗試,以應對暴力破解
- 同一用戶在同一終端的多種瀏覽器上登陸,驗證登陸功能的互斥性是否符合設計預期
- 同一用戶前後在多臺終端的瀏覽器上登陸,驗證登陸是否具備互斥性
- 異地登陸的校驗,更換設備的校驗,登陸異常是否考慮帳號凍結
看到這裏,你可能以爲,這下全了吧,不不不,咱們是否是忘記了點兒什麼?兼容性測試去了哪裏?來來來~~~下面就增長兼容性測試點:session
登陸測試設計-4併發
兼容性測試:高併發
- 不一樣平臺下,驗證登陸頁面的顯示及功能的正確性
- 不一樣設備下,驗證登陸頁面的顯示及功能的正確性
- 不一樣瀏覽器下,驗證登陸頁面的顯示及功能的正確性
- 不一樣分辨率下,驗證登陸頁面顯示及功能的正確性
- 同一瀏覽器,不一樣版本下,驗證登陸頁面顯示及功能正確性
看完上面登陸功能的測試點設計,你還認爲登陸功能很簡單嗎?在任什麼時候候,咱們接到一個功能的需求時,除了考慮覆蓋需求功能的測試點之外,也須要考慮非功能測試點設計,這樣才能更好的保證功能的完整性。工具
以上信息傳達的是一種設計思路,固然針對登陸功能還會有更多的測試點,這個就須要根據項目開發過程當中,測試的時間成本和經濟成本,基於風險驅動的模式下,有所側重地選擇測試範圍和設計測試用例,以尋求缺陷風險和研發成本之間的平衡。
注:以上資料參考茹老師(茹炳晟)的極客時間裏的《軟件測試52講》