有這樣一個面試題:在一個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.輸入HTML和JavaScrip相關標簽字符,計算是否正確,是否會破壞頁面
2.這個應用能否在同一台服務器上運行多個實例,多個用戶同時使用是否會有問題。
3.在大並發下使用,計算速度是否滿足要求
6.從安全性方面考慮:
1.輸入的數據是否會被保存,輸入字符串可能包含敏感信息。
2.嘗試復制/粘貼字符串。
3.嘗試快速點擊多次計算按鈕
4.考慮是否有安全漏洞,點擊計算按鈕,請求是否會被截取,導致返回失敗