要編寫一個較好的測試用例就應該從用戶需求入手。
比如如何測試一個用戶登錄界面,那麼我們就要考慮這個登錄界面是彈出式的還是內嵌網頁式的,同時對用戶名和密碼的長度,密碼的強度(必須多少位,特殊字符,數字,大小寫等等),另外對用戶界面的美觀是否有相關要求?
所以我們試着編寫一下該問題的測試用例(っ•̀ω•́)っ✎⁾⁾ :
功能測試
- 什麼都不輸入,直接點擊提交按鈕,看提示信息
- 輸入正確的用戶名和密碼,點擊提交按鈕,看是否能登錄成功
- 輸入錯誤的用戶名或者錯誤的密碼,點擊提交按鈕,看提示信息
- 登陸成功之後能否正確的跳轉到正確的頁面
- 用戶名太短或者太長時,應該怎麼處理
- 密碼太短或者太長時,應該怎麼處理
- 用戶名若含有特殊字符,字母,數字等不同於漢字的,應該怎麼處理
- 密碼若含有特殊字符,字母,數字,或者混合類型時,密碼強度的變化
- 用戶名和密碼中間出現空格時,會怎麼處理
- 用戶名和密碼前後出現空格時,會怎麼處理
- 記住用戶名或者記住用戶名和密碼的功能(比如剛剛登陸成功之後退出,再次登陸時是否有記錄 )
- 驗證首次打開登錄界面,鼠標的輸入焦點是否在用戶名的輸入框以方便用戶直接輸入
- 密碼的加密顯示(如星號或者小黑點)
- 牽扯到驗證碼的登錄時,要考慮圖片上的數字是否扭曲過大導致看不清楚,數字的顏色(考慮色盲患者),驗證碼的刷新按鈕是否有效
- 登錄界面上的註冊,忘記密碼,退出登錄點擊後,鏈接是否有效
- 輸入密碼時,切換爲大寫時是否有提醒
界面測試
- 佈局是否合理,兩個文本框的位置是否對齊,按鈕的位置是否合理
- 文本框的長度寬度是否合理,按鈕的大小是否易於點擊
- 界面是否簡介易懂,是否有錯別字
性能測試
- 打開該登錄頁面需要多久
- 登錄成功跳轉到正確的界面時需要多久
安全測試
- 用戶名和密碼是否通過加密的方式發給web服務器
- 用戶名和密碼是否是在服務端完成驗證的,不能只在客戶端調用JavaScript來進行驗證
- 兩個文本框應禁止輸入腳本語言,防止XSS攻擊
- 限制錯誤登錄的次數,防止暴力破解
- 考慮多用戶在一臺機器上登錄
- 考慮一用戶在多臺機器上登錄
可用性測試
- 輸入用戶名和密碼時常用快捷鍵在輸入文本框中能否使用(ctrl+c,ctrl+v,ctrl+a等)
- 輸入正確的用戶名和文本框之後按回車是否可以登錄
- 輸入用戶名之後按Tab鍵是否可以轉到密碼輸入框
兼容性測試
- 在主流的瀏覽器上是否可以正常使用(如IE,谷歌等)
- 在不同的平臺上是否可以正常使用
- 在移動設備上是否可以正常使用(iPhone,Android)
本地化測試
不同語言環境下能否正常運行