在測試當中,或者面試過程當中,都會碰到各類登錄功能,Web或者APP都很廣泛。javascript
對於一個登錄頁面, 一般有2個Textbox(帳號和密碼), 一個肯定提交按鈕 ,如何設計 Test case?java
主要考察: 測試者是否熟悉各類測試方法,是否有豐富的App/Web測試經驗,以及相關開發經驗,以及設計Test case的能力。面試
雖然說很常見,看起來很簡單,可是要全面具體也是有必定難度的。瀏覽器
功能測試 (Function test)
- 輸入正確的用戶名和密碼,點擊提交按鈕,驗證是否能正確登陸
- 輸入錯誤的用戶名或者密碼, 驗證登陸會失敗,是否有相應的錯誤提示信息
- 登陸成功後是否跳轉到正確的頁面
- 用戶名和密碼,若是過短或者太長,應該怎麼處理
- 用戶名和密碼,中有特殊字符,和其餘非英文的狀況
- 記住用戶名和密碼的功能
- 登錄失敗後,不能記錄密碼的功能
- 用戶名和密碼輸入時先後有空格的處理
- 密碼是否可見,是否用星號標識
界面測試 (UI Test)
- 佈局是否合理,2個 Testbox 和一個按鈕是否對齊
- Testbox和按鈕的長度、高度是否複合要求
- 界面是否美觀
- 圖片,顏色,字體,超連接,是否都顯示正確
性能測試 (performance test)
- 打開登陸頁面,須要幾秒
- 輸入正確的用戶名和密碼後,登陸成功跳轉到新頁面,不超過5秒
- 能支持多少個用戶同時登錄
安全性測試 (Security test)
- 登陸成功後生成的Cookie,是不是httponly (不然容易被腳本盜取)
- 用戶名和密碼是否經過加密的方式,發送給Web服務器
- 用戶名和密碼的驗證,應該是用服務器端驗證, 而不能單單是在客戶端用javascript驗證
- 用戶名和密碼的輸入框,應該屏蔽SQL 注入攻擊
- 用戶名和密碼的的輸入框,應該禁止輸入腳本 (防止XSS攻擊)
- 錯誤登錄的次數限制(防止暴力破解)
可用性測試 (Usability Test)
- 是否能夠全用鍵盤操做,是否有快捷鍵
- 輸入用戶名,密碼後按回車,是否能夠登錄
兼容性測試(Compatibility Test)
- 主流的瀏覽器下可否顯示正常(IE/Edge, Firefox, Chrome, Safari 等)
- 不一樣的平臺是否能正常工做,好比Windows, Mac
- 移動設備上是否正常工做,好比iPhone, Andriod
- 不一樣的分辨率
- 不一樣的瀏覽器大小(瀏覽器最大化, 和非最大化)
軟件輔助性測試 (Accessibility test)
軟件輔助功能測試是指測試軟件是否向殘疾用戶提供足夠的輔助功能安全
好比高對比度下可否顯示正常 (視力很差的人使用)服務器