今天在看51testing的博客時,看到這么一個網頁登錄的測試用例,想到自己之前寫的那個關於登錄頁面的簡單的功能測試用例真的是太弱了,感覺很多都沒有考慮進去。特此在這里記錄下來,參考。具體需求: 有一個登陸頁面, (假如上面有2個textbox, 一個提交按鈕。 請針對這個頁面設計30個以上的TestCase.)
此題的考察目的:面試者是否熟悉各種測試方法,是否有豐富的web測試經驗, 是否了解Web開發,以及設計Test case的能力
首先,你要了解用戶的需求,比如這個登錄界面應該是彈出窗口式的,還是直接在網頁里面。對用戶名的長度,和密碼的強度(就是是不是必須多少位,大小寫,特殊字符混搭)等。還有比如用戶對界面的美觀是不是有特殊的要求?(即是否要進行UI測試)。剩下的就是設計用例了 ,等價類,邊界值等等。
請你記住一點,任何測試,不管測什么都是從了解需求開始的。
功能測試(Function test)
0. 什么都不輸入,點擊提交按鈕,看提示信息。(非空檢查)
1.輸入正確的用戶名和密碼,點擊提交按鈕,驗證是否能正確登錄。(正常輸入)
2.輸入錯誤的用戶名或者密碼, 驗證登錄會失敗,並且提示相應的錯誤信息。(錯誤校驗)
3.登錄成功后能否能否跳轉到正確的頁面(低)
4.用戶名和密碼,如果太短或者太長,應該怎么處理(安全性,密碼太短時是否有提示)
5.用戶名和密碼,中有特殊字符(比如空格),和其他非英文的情況(是否做了過濾)
6.記住用戶名的功能
7.登陸失敗后,不能記錄密碼的功能
8.用戶名和密碼前后有空格的處理
9.密碼是否加密顯示(星號圓點等)
10.牽扯到驗證碼的,還要考慮文字是否扭曲過度導致辨認難度大,考慮顏色(色盲使用者),刷新或換一個按鈕是否好用
11.登錄頁面中的注冊、忘記密碼,登出用另一帳號登陸等鏈接是否正確
12.輸入密碼的時候,大寫鍵盤開啟的時候要有提示信息。
界面測試(UI Test)
1.布局是否合理,2個testbox 和一個按鈕是否對齊
2.testbox和按鈕的長度,高度是否復合要求
3. 界面的設計風格是否與UI的設計風格統一
4. 界面中的文字簡潔易懂,沒有錯別字。
性能測試(performance test)
1.打開登錄頁面,需要幾秒
2.輸入正確的用戶名和密碼后,登錄成功跳轉到新頁面,不超過5秒
安全性測試(Security test)
1.登錄成功后生成的Cookie,是否是httponly (否則容易被腳本盜取)
2.用戶名和密碼是否通過加密的方式,發送給Web服務器
3.用戶名和密碼的驗證,應該是用服務器端驗證, 而不能單單是在客戶端用javascript驗證
4.用戶名和密碼的輸入框,應該屏蔽SQL注入攻擊
5.用戶名和密碼的的輸入框,應該禁止輸入腳本 (防止XSS攻擊)
6.錯誤登陸的次數限制(防止暴力破解)
7. 考慮是否支持多用戶在同一機器上登錄;
8. 考慮一用戶在多台機器上登錄
可用性測試(Usability Test)
1. 是否可以全用鍵盤操作,是否有快捷鍵
2. 輸入用戶名,密碼后按回車,是否可以登陸
3. 輸入框能否可以以Tab鍵切換
兼容性測試(Compatibility Test)
1.主流的瀏覽器下能否顯示正常已經功能正常(IE,6,7,8,9, Firefox, Chrome, Safari,等)
3.移動設備上是否正常工作,比如Iphone, Andriod
4.不同的分辨率
本地化測試(Localization test)
1. 不同語言環境下,頁面的顯示是否正確。
軟件輔助性測試 (Accessibility test)
軟件輔助功能測試是指測試軟件是否向殘疾用戶提供足夠的輔助功能
2. 高對比度下能否顯示正常 (視力不好的人使用)