有這樣一個面試題:在一個Web測試頁面上,有一個輸入框,一個計數器(count)按鈕,用于計算一個文本字元串中字母a出現的個數。請設計一系列測試用例用以測試這個Web頁面。
有經驗的測試人員可能會問面試官,字母a區分大小寫嗎?隻統計英文字母的a嗎?最長輸入字元是多少,最少輸入字元是多少?對輸入的字元類型是否有限制,是否會自動清除不符合要求的字元?
是以第一步應該是明确需求,然後我們才開始進行思考如何設計測試用例。
通常說來,我們考慮一個測試對象的時候至少從以下六方面來考慮:
1.功能性
2.相容性
3.易用性
4.可靠性
5.性能
6.安全
1.從功能方面考慮:
輸入:" "(思路:什麼都不輸入)
輸入:"null"(思路:特殊值)
輸入:"Aa"(思路:輸入字元既含大寫字元也有小寫)
輸入:"abc"(思路:以a開頭)
輸入:"cac"(思路:a在中間)
輸入:"aba"(思路:以a開頭,以a結尾)
輸入:" ba"(思路:以空格開頭含a)
輸入:"中ba"(思路:以中文或者其他字元開頭含a)
輸入:"AAaa"(思路:輸入字元僅僅隻有大寫A和小寫a)
輸入:"全角和半角a"(思路:考慮半角和全角符号)
2.從相容性方面考慮:
1.各個浏覽器 顯示是否正确,點選按鈕是否有效;
2.浏覽器各個版本顯示是否正确,點選按鈕是否有效;
3.是否支援手機端和平闆端。
3.從易用性方面考慮:
1.web界面外觀,風格是否合适;
2.文本輸入框長度是否合适,是否應該預設提示如何輸入;
3.輸入錯誤時提示是否友好;
4.考慮該應用是否支援其他語言。
4.從可靠性和性能方面考慮:
1.輸入HTML和JavaScript相關标簽字元,計算是否正确,是否會破壞頁面;
2.這個應用能否在同一台伺服器上運作多個執行個體,多個使用者同時使用是否會有問題;
3.在大并發下使用,計算速度是否滿足要求。
5.從安全性方面考慮:
1.輸入的資料是否會被儲存,輸入字元串可能包含敏感資訊;
2.嘗試複制/粘貼字元串;
3.嘗試快速點選多次計算按鈕;
4.考慮是否有安全漏洞,點選計算按鈕,請求是否會被截取,導緻傳回失敗。
主攻測開及接口自動化方向,分享爬蟲擷取的稀缺精品資源,歡迎關注微信擷取。